Next Up Previous Contents Index
Next: Loading A Database Up: Implementation Notes Previous: Extracting Core Routines

The AutoCAD Database Emulator

Veteran campaigners of many a fray,
The spectators come well-girt:
Each has book in hand, each has wits alert.

The functions in the file autosim.c emulate the facilities used by AutoCAD core code to access the database, symbol tables, and system variables. As with the functions in autocore.c, these were chosen simply because they were needed by the IGES complex; if this package is used to export other components from the AutoCAD core (such as DXF, for example), some additional functions will almost certainly have to be emulated. Currently emulated functions are listed below; functions marked with an asterisk are currently dummies, not yet emulated but unneeded by the portions of IGES exercised so far into the project.

apndr          Add object to entity database. 
blcolor        Build block colour table.
curfit *       Fit curve to Polyline.
dapndr         Append entity to block definition.
delnudr        Delete object from database.
delnulots      Delete complex object from database.
dferec *       Define entity record.
dotblock *     Build dimensioning DOT block.
e3xform *      Transform entity.
e3xformi *     Build entity transformation.
e3xformr *     Reset entity transformation.
e3xformt *     Release entity transformation.
etrans *       Translate entity.
fnsplit *      Parse file name.
funlink        Delete file given descriptor.
getbd          Read block definition.
getlt          Read line type.
getly          Read layer definition.
getsm          Read arbitrary symbol table.
getts          Read text/shape item.
loadltyp *     Load line type definition.
makely         Set layer, creating if needed.
moddr          Modify entity database item.
nxtdr          Read next entity from database.
putbd          Write block definition.
putlt          Write line type.
putly          Write layer definition.
putsm          Write arbitrary symbol table.
putts          Write text/shape item.
randdr         Random read entity database.
rapndr *       Create dimension block.
rmoddr *       Modify dimension block.
scandr         Rewind entity database.
shpload *      Load shape definition.
shpnam *       Obtain name from shape index.
smsrc          Locate symbol table item from name.
snvalid        Test symbol name valid.
splinefit *    Fit spline to Polyline.
sposn          Return entity database position.
sqeptr         Seek to start of Polyline.
sseek          Set entity database position.
tdate          Obtain date and time.
tmpfopen       Open temporary file.
treadj *       Adjust text position.
txtbox *       Calculate text extents.
wrbptfopen     Open standard temporary file.
zoomax         Zoom to limits or extents.

In addition to these emulated functions, autosim.c contains the ADS initialisation and linkage logic used to invoke the IGES commands when loaded as an ADS application.

You're a sage and clever audience;
There's naught to fear, take heart, advance!

Editor: John Walker