BricsCAD SheetSetManager COM/LISP API
Since version V21, BricsCAD
provides a COM interface to the SheetSetManager, compatible with
AutoCAD's SheetSetManager COM interface.
The implementation of this interface in
BricsCAD follows usual COM design rules - as result, the interface
is also accessible from Lisp and VB/VBA, while AutoCAD's COM
interface is implemented in a rather unusual way, which does not
allow to access it from AutoLISP in AutoCAD.
This chapter gives an overview on all the
particular interfaces; we also provide Lisp sample code snippets in
"<LDSP>/SheetSetManager-Lisp-API/LISP Sample Code"
folder.
LISP application code can access the
SheetSetManager root interface by :
(vla-GetInterfaceObject cad
"BricscadSm.AcSmSheetSetMgr")
VB/VBA/C/C++/Delphi applications can access
the SheetSetManager COM interface by referencing the
"axbricscadsm.dll" file.
For experienced developers, we also provide
the "axbricscadsm.idl" for reviewing and as reference.
The SheetSetManager COM interface (for all
programming languages, incl. LISP) is only available under
Windows.
Special Notice for Programmers :
The SheetSetManager COM interface as provided
by AutoCAD always & only uses *Methods*, not Properties ...
this is formally valid, but rather unprofessional, indicating that
the implementers lack some profound knowledge about COM interface
design; as a second design flaw, the declared COM interface
uses *IUnknown* class instead of IDispatch for all object classes - this
poor implementation limits the usage of that COM API under
AutoCAD.
Unfortunately, we had to stick with that
design, for compatibility reasons ...
BUT the BricsCAD
implementation uses *IDispatch*
as base object class, which allows access to
the SheetSetManager COM interface by all programming languages
(incl. Lisp)-
Actually, the following SheetSetManager COM
interfaces are provides :
|
|||
|
|||
|
Because the BricsCAD SheetSetManager COM
interface complies to common COM design rules, it is perfectly
possible, to automatically generate LISP COM wrapper functions by
(vlax-import-type-library) :
(vlax-import-type-library :tlb-filename
"axbricscadsm.dll" :methods-prefix "ssm-"
:properties-prefix "ssm-" :constants-prefix
"ssm:")
Just to note, that only methods will be
generated (as no "property" functions are defined by the COM
definitions).
© Bricsys NV. All rights reserved. |