BIM LISP-API


Since V17.2.07, BricsCAD LISP provides a dedicated interface for the BIM functionality (requires.Platinum license with BIM extension).
This new API part is designed for simplicity, flexibility and following the usual AutoLISP logic in naming, arguments, behaviour and results.

As BIM functionality requires the BricsCAD Platinum license level, with the BIM extension being installed + licensed, the BIM LISP API is also available for this context only; using a lower-level license (or when disabled i.e. by RunAsLevel=0/1), the API module is not active, and all BIM LISP API functions will work in a "no-operation" mode.

As BIM development constantly continues, the BRX and LISP APIs will also expand, provide more functionality and also incorporate the ideas and feedback from third party developers.

How to verify the License Level ?


There are 2 Lisp functions available : (bcad$LicenseLevels) and (vle-licenselevel), which both use identical implementation.
If BIM is available, the returned list will contain the string "BIM".
"RunAsLevel" setting is also respected in result list.

How to activate the BIM LISP API ?


As the LISP function set for BIM is implemented using the BRX core system, it is required to explicitly load / activate the BIM LISP interface functions (somewhat similar to required (vl-load-com) under AutoCAD AutoLISP) using :

(vl-load-bim)


If all context conditions (Platinum + BIM licenses) are met, it will load the extension and return T (or NIL if the BIM API part is not available).

Some general hints & rules


"entity name" usage : in all cases, when a functions requires an "entity name", both "classic ename" and "vla object" are always valid and supported.

"object identification" : in BIM concept, all objects have "names" (as clear-speech strings), this applies for buildings, stories, composition, materials, and so on; therefore, also the BIM LISP interface follows that concept, and all BIM related objects are identified by their string "names";
this significantly simplifies client code (no special Lisp object types, and type verification, necessary).

Note : all identification strings, name strings, type strings etc. are *ALWAYS* case-sensitive (might be more comfortable, using case-insensitive strings, in future BIM versions) !


The BIM API covers the following functional areas :



symbolic Constants for "Element Type"

symbolic Constants for "Object Type"

symbolic Constants for "Property Categories"


symbolic Constants for "Room Representation"




Creator Functions

Classification Functions

GUI + Dialog Functions


Property Functions

Query Functions





©  Bricsys NV. All rights reserved.