Proposal of development for BricsCAD
Not only reading and writing DWG files by means of BricsCAD, you can also customize your system by creating own commands to enhance your CAD environment.
With our know-how of developing applications on AutoCAD/BricsCAD, we are able to solve your problems with a minimum cost.
BricsCAD provides various APIs (Application Programming Interfaces) for developing applications which run on BricsCAD.
These APIs are subjects to the ones provided by AutoCAD; therefore, if you have development experience in AutoCAD, you can easily understand them.
The major languages for development are as follows:
Lisp | SDS | VBA | BRX | .NET API |
You can choose suitable API for you considering their advantages and disadvantages.
This API is equivalent to AutoLISP and VisualLISP for AutoCAD with LISP (List Processing) programming language. The Lisp interpreter runs programs applying shape data to lists. This is the oldest API for CAD with low extensibility; however, it does not require much programming experience nor knowledge. Therefore, it is easy for the users to create Lisp programs. The purpose of Lisp command is usually to enhance the drawing function to manipulate shapes in a CAD drawing.
(* BricsCAD Classic/Pro/Platinum)
Advantages |
Compatibility with AutoCAD will be kept in the future. You don't even need to know you use Unicode characters. It is not necessary to rebuild the program when updating BricsCAD. |
Disadvantages |
The basic idea is to enhance usability by selecting shapes and combining commands; therefore, there are constrains if you seek for advanced processing. |
This API is equivalent to ADS for AutoCAD with C/C++ languages. The same expressions and functions written in LISP can be used for programming. You can create an executable module by using Visual C++8.0 (SP1). The library modules to be linked are provided in the installation folder.
Extensibility of the programs are high because you can use standard C/C++ functions; however, the number of functions is less than Lisp as it does not support all functions of Lisp as for contact points of CAD.
This API is only for compatibility with legacy resources. It is not recommended as Lisp and BRX are more common. This API is supposed to be used to load or call external functions from a Lisp program.
(* Supported in BricsCAD Classic/Pro/Platinum)
Advantages |
For C language developers |
Disadvantages |
When migrating old ADS source, you need to consider Unicode characters. |
In some cases, you need to rebuild the program when updating the version of BricsCAD.
This API is equivalent to VBA for AutoCAD with VBA (Visual Basic for Applications). VBA has development environment as well as runtime environment in the application. It is easier to make a program and strong to link to another application.
(* Supported in BricsCAD Pro and Platinum)
Advantages |
Development language of VB is easier. You don't need to consider Unicode characters. |
Disadvantages |
Since both Microsoft and Autodesk do not recommend VBA and recommend .Net, it may have constrains in the future. |
This API is equivalent to ObjectARX for AutoCAD with C++. A part of class libraries which consist of CAD is provided. Customization from the inside of CAD is possible.
You can obtain the libraries when you register as developer.
(* Supported in BricsCAD Pro and Platinum)
Advantages |
It is possible to implement advanced command using reactors, etc. same as AutoCAD. |
Disadvantages |
Knowledge of C++ is indispensable. Also, you need to know how to handle Unicode characters. In some cases, you need to rebuild the program when updating the version of BricsCAD. |
The .Net languages such as VB .Net and C# .Net are available in the Microsoft .Net Framework.
(* Supported in BricsCAD Pro and Platinum)
Advantages |
You can choose development language such as VB .Net, C# .Net, etc. It is possible to implement advanced function as same as by BRX. Since it has compatibility with .Net API for AutoCAD, it is easy to merge into one. You don't need to rebuild the program when updating the version. |
Disadvantages |
Since it is a new technology, documents and skipped developers are less. |