(Blogged live.) At the ITC conference, Mark Burrows provided an hour-long summary of the work involved in re-creating IntelliCAD.
Since its beginnings in the 1990s, IntelliCAD had its own internal database that caused 60-80% of all bugs. All that DirectDWG does is read (write) .dwg files and then translate them to the internal format. [I suspect some other CAD packages that claim to work directly with DWG do the same thing: transparent translation.] With v7, it is being replaced by the ODA's DWG database. How big a job is this? Some stats on what needs to be rewritten:
- 457 IntelliCAD commands.
- 276 LISP atoms, especially those dealing with selection sets, entity data, and graphics; similar for SDS.
- 541 system variables.
The ICAD code will be modularized to help isolate defects; no more spaghetti code. The new DRX manager demand-loads external DRX (ARX) apps; a new command lists the names of DRX commands. Naturally, ICAD's new API will give access to DRX.
The ITC is adding the entity protocol extension to make entities responsible for themselves (supply own grip points, snap modes, etc).
The command stack can be extended to mimic other CAD packages, making it easier (maybe) to convince users of older CAD packages to switch. One day IntellICAD might just be a user interface, with the DWGdirect-based CAD engine a separate product. Customizable configurations (menus, toolbars, etc) will be migrated to XML; unlike AutoCAD 2006/7, you will be able to edit the XML file to create custom user interfaces.
The graphics is being improved to handle transparency, improved grip editing, drag in color, gradient fills, proxy entities, and more. Also, support multiple display devices, such as GDI, HOOPS, DirectX, OpenGL, and more.
He then demo'ed how little -- how few lines of code -- it takes in ICAD 7 to implement features like mlines, translucently-colored selection rectangles, and more.
Version 7 allows the ITC to concentrate on new features, instead of chasing bugs. Mr Burrows hopes one day to no longer follow AutoCAD, but instead innovate in IntelliCAD's own way -- no more chasing Autodesk.
I would think that v7 needs a more impressive, marketing-oriented name, like "IntelliCAD XA."