Although the time available for this work permitted only a limited amount of the functionality of the built-in IGES commands to be debugged and demonstrated, the approach of transitioning IGES from the AutoCAD core into a standalone ADS application by initially emulating the AutoCAD core environment, permitting the existing well-debugged IGES code to serve as the base for development during the transition, has been tested and appears sound. This suggests a strategy for the future development of IGES something like what follows.
Let It Be continues development toward shipment without any change in direction. IGES changes required by that release are integrated into the core IGES modules. In parallel, the IGES subdirectory is added to the build environment and the support and simulation routines are placed there. The changes to the core IGES modules, made conditional on INBOARD and OUTBOARD will be submitted as changes to the Z stream and carefully code reviewed to establish that they change nothing when built with just INBOARD defined.
It will then be possible to quickly and easily build an ADS version of IGES by copying the IGES files from the coresrc and include directories into the iges directory and invoking make. At this point it will be easy to continue development of the emulation libraries, aiming for identical operation of built-in and ADS-implemented IGES commands by the time Let It Be ships.
Accomplishing this will allow us to freeze the built-in IGES translator as of the Release 11 shipment date and, if we wish, ship interim updates as ADS programs. Indeed, if we continue to include IGES with AutoCAD at no additional charge, we could simply post the latest ADS executables for IGES for each machine on CompuServe and allow our dealers and customers to download and distribute it at will--it will hardly be of use without a copy of AutoCAD.
The working ADS IGES application would, then, serve as the base for our future ambitious plans for IGES support. Starting with a working, albeit limited, version of IGES will allow piecewise extension and replacement with new, CALS-compliant, code. The new code will be written as ADS-native code, bypassing the emulation library since there would be no need for the new code to be compatible with the conventions of the AutoCAD core. This code will probably use SGLIB or an equivalent package for linear algebra rather than the more baroque constructs within AutoCAD--there's no need to make the sacrifices of comprehensibility the AutoCAD routines make for code that's not in the generation pipeline. In time, most of the original IGES code from AutoCAD will have been replaced, and the pieces of the emulation library can be retired as they are no longer referenced.
With Release 12 we could discontinue the built-in IGES commands and support IGES only through the ADS implementation. Alternatively, we could offer Release 11 level IGES support built-in and offer much more comprehensive IGES support through the ADS version as an extra cost option.
Editor: John Walker