tags:

views:

201

answers:

3

I have a large MFC C++ application that I would be very keen to port into AutoCAD and IntelliCAD. AutoDesk offer Object ARX for this purpose, which replaces the older and slower ADS technology. IntelliCAD, afaik only supports ADS. Has anyone out there done this, and if so which tools did you use and what pitfalls did you encounter?

I'm specifically interested in resources that will simplify the transition, and allow me to maintain seperate CAD based and standalone versions going forward.

+3  A: 

Have a look at my answers to a couple of previous AutoCAD questions

http://stackoverflow.com/questions/169390/open-source-cad-drawing-dwg-library-in-c/206456#206456

http://stackoverflow.com/questions/298622/-net-cad-component-that-can-read-write-dxf-dwg-files/300824#300824

If you were looking for the same code base to work both inside and outside of AutoCAD then the RealDWG approach may work for you since the code is the same - RealDWG doesn't need AutoCAD as a host application. The open Design Alliance libraries are for making stand-alone applications. Both have supported C++ for years & can be considered stable - well, as stable as CAD gets.

This blog (http://through-the-interface.typepad.com/) is a good one for RealDWG

CAD bloke
Thanks for the response. We have been a sustaining member of the ODA for many years, and were part of the IntelliCAD group until they upped their prices from $5000 p/a to $25,000 p/a. We already do DWG, but have had requests to be internal to the CAD system itself.
Shane MacLaughlin
+1  A: 

"DWGdirect is not just a SDK to read and write DWG files. It actually offers a full blown framework that can be used to develop a professional CAD application, complete with plug-in architecture and all." quote source

Jimmy Bergmark - JTB World
Thanks for the link. I'm already using DWGdirect, but this is a good resource that I hadn't seen before.
Shane MacLaughlin
+2  A: 

One option to consider is to target AutoCAD and Bricscad. Supporting AutoCAD and IntelliCAD requires essentially two versions of code. Bricscad's goal is to be completely compatible with ObjectARX, and in my experience they are pretty close.

This at least simplifies the problem from supporting three instances (your standalone version, AutoCAD, and IntelliCAD) to supporting two instances (your standalone version and AutoCAD/Bricscad).

David Robison
This certainly seems like a sensible approach. If you use Bricscad as your main development platform do you see full binary compatibility to AutoCAD, or are you still using multiple builds, a scattering of #IFDEFs, etc..
Shane MacLaughlin
ARX compatibility is pretty good. I've got a pretty sizable code-base, and only two #ifdef's. One is a workaround, one is a function I am waiting for them to fix. They are pretty good about getting bugs fixed--I've been lazy about submitting this one to them.The bigger problem we have is that their DCL implementation is pretty buggy. We have a large Visual Lisp code base, and this is what is preventing us from releasing our Bricscad version.
David Robison