The IntelliCAD Technology Consortium (ITC) is a nonprofit organization that delivers a safe and affordable CAD programming platform for its members. Each of the consortium’s commercial members share the source code of the IntelliCAD program and invariably add their own specialty solutions for their own niche markets.
At its core, the IntelliCAD program is based on and expands the Open Design Alliance (ODA) programming interface (API) called Teigha. The ODA is also a nonprofit organization that supplies .dwg programming libraries to its members. The IntelliCAD IRX API can be considered an extension of the Teigha API.
Traditionally, a recipe for success when creating a compiler for programming purposes is to use the programming language of the compiler to write additional functionality within the compiler itself. This methodology ensures that the programming language is sound in that it has to be used in order to create itself, layer upon layer. In a similar way the IntelliCAD program is written using the ODA Teigha libraries. The entire IntelliCAD source code is in fact a set of examples showing how to use the Teigha/IRX interface to create CAD programming solutions.
Resultantly, the preferred method of programming within IntelliCAD is by using the IRX API. Although several other APIs are available, IRX, an object oriented C++ API is our most powerful API with the ability to create custom objects and provides the best performance for complex solutions.
There are however a multitude of different programming APIs that are available to developers who are interested in using the IntelliCAD platform.
At an end-user level, there is the ability to record and save macros in a text format. These text files can later be edited, loaded and run as a script, thereby saving the user a great deal of time on repetitive tasks. This text script format effectively gives access to all of the commands that can be typed into the IntelliCAD command line.
The IntelliCAD menu structure is also based on a TXT format which enables full customization of the menu either from within or outside the program. Developers can easily replace or add to the existing IntelliCAD menu structures. Other menu programming tools such as DCL and DIESEL are also supported.
At the next level, IntelliCAD offers a LISP programming interface that is extremely similar to AutoCAD’s AutoLISP. If you create LISP commands from within IntelliCAD, they can be run in AutoCAD. The LISP interpreter is an internal API and can even be combined with the macro recording language mentioned above.
IntelliCAD also includes the Solutions Development System (SDS), which is a C/C++ language interface comparable with the ADS® (AutoCAD® Development System). The SDS system is more like C versus C++ in that it does not have the ability to create custom objects but it can support complex solutions development. IntelliCAD is compatible with ADS programs and several ITC members have successfully imported millions of lines of ADS code to IntelliCAD.
IntelliCAD also supports many different flavors of COM programming. Direct COM development can be done in C/C++. We also support the Visual Basic for Applications interpreted compiler within the IntelliCAD program and the Visual Basic development environment for compiling outside of IntelliCAD. You can even do C# development from within IntelliCAD and support for this API is improving all the time.
If you are interested in finding out if IntelliCAD can solve your CAD development needs, please contact me, Robert Berry via Skype at Robert.Berry.ITC.