fxacad: AutoCAD DXF/DWG Files

A file-based interface, converting to nodes, polylines, polygons, arcs and text without column attributes.

DXF and DWG files contain fully-defined symbology, so the default symbology is never used.

Nothing is known about the projection or units of measure of AutoCAD data. These must be set by the client if required.

AutoCAD files are divided into block definitions followed by model space entities. Model space entities may include references to blocks, in effect re-using common symbols with local geometric transformations applied.

Extensions to Standard Commands

query_tables

query_tables <client_string_array>

Returns the names of all DXF and DWG files in the current directory and sub-directories. This list is also selectable by the following command:

iselect * from fxtables

select

select {*} from <file>

Selects the DXF or DWG file from which all data is to be fetched.

set ipath

set ipath={<dir>}

This setting is implemented and provides a directory where entity files, created from AutoCAD blocks, are store.

Additional Commands

insertblocks

insertblocks { | off | true | false | 0 | 1 }

Set "insert block" mode. When this mode is on, "insert" blocks are processed to create entity files. INSERT records in modelspace are then converted into Eim instance entities referencing the files. When this mode is off, INSERT blocks are not processed and it is assumed that the entity files already exist. Entity files are created in the client directory specified by the ipath command.

This mode gets reset to on by an open command.

list_ttfonts

list_ttfonts

List all settings currently made active by ttfont commands.

modelspace

modelspace {on | off | true | false | 0 | 1 }

Set "modelspace" mode. When this mode is on, the "modelspace" block is processed. When this mode is off, the "modelspace" block is ignored.

This mode gets reset to on by an open command.

off_layers

off_layers { on | off | true | false | 0 | 1 }

Set the visibility of "off" layers. AutoCAD has the notion of "off" layers which, although present in DXF and DWG files, are by default considered invisible. To make "off" layers visible and therefore to get the entities within them processed and translated, set this facility to on.

This facility is off at start-up but may be set to on within a startup script, thus making it on by default for all client sessions.

query_layers

query_layers { <client_string_array> { <client_numeric_array> } }

Returns to the client up to 2 sets of data:

1. the names of all layers used within the currently open file,
2. whether or not the layers are currently selected.

Note that the layer known by AutoCad as 0 is given the name layer0.

set_layers

set_layers { <layer> ... }

Select particular layers, i.e. add to the currently selected list. Supplying no parameters will select all layers in the file.

ttfont

ttfont <ttf_file> <fire setting> { <ratio> { <gap> }}

Specify how Fire should render a TrueType font. Text entities within DXF/DWG fonts may use TrueType fonts. This tells Fire which font it should use to draw it. <ttf_file> is the name of the TrueType (or txt) font referenced in the DXF/DWG file. <fire_setting> is the character sequence which Fire will use to create the font.<ratio> is the aspect ratio to use if Fire cannot use the TrueType font and must draw it using a stroke font. <gap> is the inter-line spacing factor to use when drawing multi-line text.

Example:

ttfont times.ttf "Times New Roman 20p w400 c0" 0.87 0.75

unset_layers

unset_layers { <layer> ... }

De-select particular layers. Supplying no parameters will de-select all layers in the file.

use_justifications

use_justifications {on | off | true | false | 0 | }

Attempt to use text justifications. When on, an attempt will be made to use the justification assigned within text entities. When off, the bottom-left justification will always be used. Note: AutoCad files always record the bottom-left position so the use of this setting is usually unnecessary.

The default value is off, unless set otherwise in a startup script.

Entity Translation

The following table gives the mappings between the various AutoCAD entity types and the Eim entity types which the translator produces to represent them:

AutoCAD Entity

Eim Entity

arc

arc

attdef

gtext

attrib

gtext

circle

circle

dimension

compound

insert

instance

line

vector

point

node

shape

not supported

solid

polygon

text

gtext

trace

polygon

viewport

not supported

2D polyline

multiple lines/polygon

3D face

polygon

3D polyline (open)

lines

3D polyline (closed)

polygon

3D polygon mesh

multiple lines

3D polyface mesh

multiple polygon/vector