SDS (deprecated)
Works with BricsCAD (Windows) Classic, Pro and Platinum,
BricsCAD (Linux) Classic, Pro and Platinum.
The SDS API is a C-style API, that is similar to the ADS API of
AutoCAD.
Deprecated
Up to Bricscad V7, SDS was the only C-style API available.
Since Bricscad V8, there is a new C/C++ BRX
API, which is fully code compatible with ADS and ObjectARX of
AutoCAD. Most of the SDS functions have an equal similar global
function in BRX. Therefore, we advise to use BRX above SDS for new
developments.
SDS is still supported, for reasons of backward compatibility
with existing SDS applications. However, some breaking changes were
necessary to fit into the design of Bricscad V8. At the same time
these changes increased the compatibility with AutoCAD.
Breaking changes from BricsCAD V7 to V8 (or
higher)
- All SDS functions have switched to unicode.
- SDS dlls are compiled and loaded as Teigha based modules.
BricsCAD V8 has undergone a complete rewrite compared to BricsCcad
V7. It is now based on the popular Teigha libraries provided by the
Open Design Alliance. This implicates that SDS applications need to
be compiled and loaded as TX modules.
- There is a new entrypoint function, acrxEntryPoint, code
compatible with AutoCAD's entry point.
- Reactors:
In V7 and earlier, SDS reactor functions used to be registered with
the sds_setcallbackfunc function. Starting with V8, this function
is no longer supported. Instead, you can use the reactors provided
by the TX SDK: OdEditorReactor, OdEdCommandStackReactor,
OdDbDatabaseReactor, ...
- Simplified threading:
In V7 and earlier, each SDS application used to be loaded in its
own separate thread. As a consequence, problems were often
reported, where client SDS code was executed while it was expected
to pause and wait for a response from the BricsCAD application.
Creating a workaround for such synchronization problems was often a
cumbersome task.
From V8 version on, SDS application are loaded in the main thread
of BricsCAD, so these threading problems can no longer occur.
- MFC based SDS applications need to be configured
as MFC extension DLLs.
Compiling SDS applications
In order to compile your SDS application, you need to:
- include sds.h and link with sds.lib. These files are installed
with BricsCAD, in the API sub folder.
- include and link with the Bricsys TX SDK. See the TX section of this developer reference for more
info.
We advise to use Microsoft Visual Studio 2010 that is compatible
with version 10.0 of the CRT and MFC libraries.
Note that there is no binary compatibility for compiled
applications between Bricscad V7 and Bricscad V8 (or higher). If
you have an existing V7 based SDS application, it will need to be
migrated and recompiled.
© Menhirs NV. All rights reserved. |