BRX – Under The Hood

Luc De Batselier, the CTO of Bricsys, was kind enough to let me in on a few details about the BRX SDK, that I attempted to explain yesterday. Apparently, before Bricsys embarked on the exercise of developing the BRX SDK, they made an attempt to count the number of functions that existed in the ObjectARX SDK. They arrived at a number of about 22,000. With that number I am actually surprised that they decided to proceed.

Today the BRX SDK has about 4,000 functions. Yes, that’s only about 18%. But like I explained yesterday, these 4,000 functions are part of the most commonly used functions used by ARX developers. Luc estimates that these functions will cover about 50 to 70% of all existing ARX applications.

Bricsys engineers add about 30 new functions every week. The number does not seem large, but that’s because each function added to the BRX SDK is fully backed by automated tests. Every function is checked for normal operation and error return values. This ensures that they maximize:
1) the correct functioning across different Bricscad versions.
2) compatibility with the AutoCAD platform, including the correct flow of error handling routines.
3) backward compatibility of the plug-in across different Bricscad versions.

It looks like quality is high on their priority list, which is a good thing. You don’t get a second chance to make your first impression.

Luc disclosed what Bricsys has been working on and laid out their plans for the future, “Recently, we have started some extra development projects to support utility libraries like AModeler, HLR API and Boundary Representation in a code compatible way. This will open the door for the larger 3D client applications. We have finished adding support for ‘deep cloning’ and ‘long transactions’. Currently we are adding support for ‘custom object snap’. By the end of this year, we want to be able to support more than 90% of existing modules“.

Years ago, when Bricsys announced that they were leaving the ITC to carry on with their own development, people thought that they were crazy. The ITC has still not been able to cough up the new IntelliCAD 7 based on ODA’s DWGdirect SDK. Bricsys did that long ago with V8. They are now at Bricscad V9. This should be a bit embarrassing, to say the least, for the ITC.

If you are a programmer you may find the online Bricscad Developer Reference interesting. You can customize Bricscad V9 using a bunch of technologies:
LISP (LISt Processing)
DCL (Dialog Control Language)
COM (Component Object Model)
VBA (Visual Basic for Applications)
BRX (Bricscad Runtime eXtension)
DRX (DWGdirect Runtime eXtension)
SDS (decprecated)

To give you an idea, at SYCODE, we still use the antiquated SDS library to develop plug-ins for the current version of IntelliCAD.

You can get free access to the BRX SDK, simply by registering yourself as an application developer on the Bricsys website.