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 :
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 :
|
|||
|
|
|
|
|
|
|
|
|
|
||
|
|||
|
|
|
|
|
|
V21 Changes + Additions
With V21, the "Rooms"
concept, as used in V20 and before, is now replaced by the more
universal concept of "Spaces".
Therefore, with V21 the LISP BIM interface
gets some more functions related to "Spaces";
but the LISP BIM API tries to handle rooms and
spaces as identical, as far as possible.
For more details, please see the new LISP
functions related to "Spaces".
© Bricsys NV. All rights reserved. |