This might be suprising for many users
and developers - therefore we would like to document our conviction and
our opinion - and simply, the facts ! - to all our users, developers and
interested parties here, to point out the real and true alternative for
AutoCAD LT and LT-Extender.
Some (explaining) details
just ahead : Since 2006 are we working together with the Bricscad
team for integrating our AutoLISP-Interpreter into Bricscad V8. As two
independent developer teams we have exchanged ideas and worked out
solutions for the ARX -compatible C/C++ Interface (called BRX). And
"last but not least" the Bricscad team appreciated and consulted a lot
our expertise regarding the common and particular AutoCAD compatibility.
For a long time (at least since 2002)
we are carefully watching the area of so-called "AutoCAD-Clones" - to be
prepared for the time after LT-Extender. Especially during the last 3,4
years, there were some most interesting and exciting developments in
this area (keywords IntelliCAD, DwgLib, OpenDesignAlliance) which
finally lead to the current situation : having Bricscad V9 as a real
alternative for AutoCAD and AutoCAD LT in the CAD market.
So we will document and explain our
opinion and our conviction here – as objective and
comprehensive as possible.
Now,
why especially Bricscad ?
To speak about the main, simple reason
: because Bricscad, in the world of those AutoCAD compatible CAD sytems,
is currently the only (and indeed, the very first ever) system which
really provides all those programming interfaces (APIs), as
provided from AutoCAD, with an unrivaled, high level of compatibility.
And because Bricscad, for especially this reason, provides application
developers with a real alternative to adopt their applications (designed
for AutoCAD) with minimum afforts for an AutoCAD independent platform.
Bricsys provides a
comprehensive documentation and overview on implemented programming
interfaces (APIs) with its
Bricscad-Developer-Reference.
CAD users, applications and the application
developers are respected as the nessecary unity which is nessecary for
the success of the Bricscad CAD system, as well for the success of CAD
users and application developers.
With the decision, to restart the
development of Bricscad V8, there were great opportunities
to redefine the goals of V8 and to overcome old restrictions and
limitations.
The main point of the new Bricscad concept (in our opinion) is
this : The new Bricscad is designed to address the maximum and perfect
AutoCAD compatibility - for all parties : for the CAD users with
provided commands, functions and system variables, and for the
application developers and their applications with the unbeaten level of
compatibility in all programming interfaces.
All available IntelliCAD based systems
(as well as Bricscad also) do provide a good Look & Feel - a user
interface as known from AutoCAD; they all are more or less following the
usual Windows design guides and rules ... so for AutoCAD users, there is
virtually no difference in using the interface at all; the main
advantages provided by Bricscad are those programming interfaces (APIs)
for application developers.
And now, for the details
As already codumented
here - the compatibility of application programming interfaces (APIs) -
and even the compatibility of commands, options and system variables -
is one of the most important details (and one of the most important
development goals) for the new Bricscad generation. Therefore we would
like to have a closer look insight here; there are many and
comprehensive informations at
Bricscad website
as well; we will provide links here as well, were appropriate.
It is the expressed and clear target for Bricscad
development to provide (nealry 100%) sourcecode compatibility for all
supported APIs - this means, that existing applications (designed for
AutoCAD) will not need to be adjusted in their sourcecode, but rather
immediately work with Bricscad (ADS/ARX based applications will only
need to recompile, ideally); if nessecary, only very few adjustements in
sourcecode needs to be done only, with veryless efforts.
So Bricscad is able to provide the
main advantage, that developers no longer need to manage different
sourcecodes for AutoCAD and Bricscad - but will be able to manage any
potetial difference (if ever) in a single sourcecode ! It is this most
important detail, which gives developers the real freedom and
effectively allows application developers to provide their
application for Bricscad as well ... one sourcecode for all CAD systems
!
Programming Interfaces (APIs) in Bricscad
DCL user interface : this is available without any problem, and can be used and accessed
by both AutoLISP and ADS/SDS applications
additionally, Bricscad provides resizable DCL dialogs and ToolTips for
buttons, images, listboxes etc. (both improvements do not break
AutoCAD-compatibility !)
ADS/SDS:
this interface has been available since a long time, and can be used as
well. The SDK (Software Development Kit), as provided by Bricscad, also
includes Header files which will automatically redefine any "ads_xxx"
function name to appropriate "sds_xxx" function name, so developers will
not need to care about these details.
VBA / VB / COM:
Bricscad offers a completely AutoCAD compatible COM interface - this
means, the COM object model itself is compatible with AutoCAD' COM
object model. Additionally, Bricscad also offers binary compatibility
regarding the *.dvb files and fileformat. As result of this high level
of compatibility, Bricscad is able to load and run those *.dvb files
which are designed for AutoCAD, and in turn, those *.dvb files created
with Bricscad can be loaded and run inside AutoCAD !
Tip: the only code adjustement(if nessecary) : The
main (root) COM application object as provided by Bricscad is named "BricscadApp.AcadApplication",
while AutoCAD uses "AutoCAD.Application"; to overcome the drawbacks of
this difference, Bricscad offers a configuration switch in "Settings"
dialog : Program Options => System => "COMAcadCompatibility = 1"; when
this option is activated, Bricscad additionally also registers as "AutoCAD.Application"
with the COM system, and therefore, no VB/VBA/COM sourcecode adjustement
is nessecary.
If there is no AutoCAD installed on the
computer, Bricscad will detect this, and will automatically registeres
itself as "AutoCAD.Application" as well.
AutoLISP: Starting with the new Bricscad V8, our
AutoLISP-Interpreter (originally designed for LT-Extender, since AutoCAD
LT 2004) has been integrated into Bricscad - and has been evolved into a
very stable, highly performant and highly compatible Lisp engine.
Therefore, Bricscad is able to provide the best platform for AutoLISP
based applications, no known compatibility issues or problems.
main features of our "LispEx“
AutoLISP-Interpreter for Bricscad:
fully supports standard AutoLISP language set
fully supports VisualLISP language set (vl/vlr functions)
fully supports the COM based VisualLISP
language set (vla/vlax functions)
very high performance - compared with both AutoCAD and IntelliCAD based
systems (see and try our
LispBenchmark)
FAS and VLX fileformat is not yet supported by "LispEx" - these
fileformats use a particular lisp sourcecode encryption; to ensure Lisp
code safety for developers, Bricscad can load encrypted Lisp file
produced by both our
DEScoder.exe
as well as produced by Bricscad's own EncryptGui.exe utility;
those encrypted Lisp files should be named as *.des.
DRX (Dwgdirect Runtime
eXtension): Another C++ programming interface is provided by that
DwgDirect CAD engine (by
OpenDesignAlliance)
used by Bricscad - this interface can be used by application developers,
but the difference to ARX are significant, which requires and enforces a
complete rewrite of any ObjectARX based sourcecode; please see this
ARX/DRX comparision ...
BRX – the ObjectARX-sourcecode-compatible „Bricscad Runtime
eXtension : This C++ programming interface is (currently)
unique and exclusively available only with and for Bricscad - based on
the DRX API, Bricscad offers a completely ARX sourcecode compatible
interface to all developers. Ideally, application developers will only
need to recompile their application, using the BRX SDK ... even though
this BRX interface is not yet finished (and therefore, can cause a few
code adjustements still), it gets better and more complete with every
day, based on developers' feedback - so it is only a question of time
until fully completed, or at least, covering 95% of all ObjectARX based
sourcecode.
A very good explanation
of the
BRX / DRX Systems
is provided by Bricsys as well.
In our estimation, it is especially
this BRX programming interface, which is the major key for success, to
attract application developers to the Bricscad platform - and all the
feedback from developers, porting their ARX based applications using BRX,
clearly prove this.
For all the above mentioned reasons, it
should be clear now, that it is our real pleasure to contribute to the
Bricscad development - we do not only care for our "LispEx" Lisp engine,
but also contribute especially to the BRX system development. This way
we can provide all our experience from 15 years of AutoCAD application
development, but also our experiences from 7 years of LT-Extender
development.
Programming Interfaces in IntelliCAD based systems
From our experience, and as well as
from many users and developers feedback, there seems to be some
confusion and uncertainty around the ARX and DRX, but also around the
VB/VBA/COM programming interfaces - therefore, we would like to provide
some clearity here.
IntelliCAD has a quite long development
history, and for this reason, it has a number of proven, safe and stable
programming interfaces : LISP, DCL, SDS.
Lisp: We are really proud to provide our
AutoLISP-Interpreter "LispEx" exclusively for Bricscad - combining a stunning
performance with an unrivaled compatibility; our LISP engine is not
available in any other CAD package.
COM/VB/VBA: The COM object model provided by
Bricscad is fully AutoCAD compatible - even a binary fileformat
compatibility is provided with the *.dvb files, as used by both AutoCAD
and Bricscad. Currently, Bricscad's COM object model is not yet
completely finished - a few interface classes are not yet implemented,
but will follow in short terms.
ARX / DRX / BRX:
Bricscad exclusively offers the BRX SDK - this BRX system is not only unique and
exclusive in the world of AutoCAD compatible clones - it is especially
fully ARX sourcecode compatible ! This offers all ARX application
developers (for the very first time ever !) the great chance to use
their existing ARX application sourcecode - and to provide a Bricscad
version directly by a simple recompilation (ideally, but sometimes few
sourcecode adjustement is still nessecary, until BRX is completely
finished), and to continue development with a single sourcecode stream
only, for both AutoCAD and Bricscad.
Another C++ programming interface is provided by the DwgDirect CAD
engine (by OpenDesignAlliance) used by Bricscad - this interface can be
used by application developers, but the difference to ARX are
significant, which requires and enforces a complete rewrite of any
ObjectARX based sourcecode.
At Bricscad/Bricsys websites
you will find a very informative and clear
BRX / DRX comparision.
And
finally : some personal words from our side …
As hard as this decision
to terminate the LT-Extender-Software really was for us, and as much as
we really regret this – there are some positive aspects as well :
1. the LT-Extender
software (with AutoCAD LT) is no longer a competitor for Bricscad,
and we can fully concentrate our complete development resources on Bricscad
development
2. the termination
of LT-Extender could be final the trigger for many CAD users and for
many application developers to give Bricscad a real chance and to
provide the applications for Bricscad.
Naturally, we will offer and provide
any suitable support, assistance, help, for all users and developers, in
any requested and desired way, around the subject of "Bricscad" - this
is not only promised, this is guaranteed here !
Of course, we really hope that as many
users and developers as possible will give Bricscad a try ... maybe,
right now, and/or another try after few months (as Bricscad gets better
with every day !), and take Bricscad into account in their plannings.
But at least, we are sure (and hope, we did verify here, why we are
convinced) : if there is an alternative to AutoCAD today - then it
is Bricscad. But wether Bricscad will become the main counterpart - this
depends on the CAD users and especially on the application developers
... we will provide all our best, in the interests of all.