These are objects from chapter 20 of version 5.4.1 of the Open Design Alliance’s specification that the objects page did not yet cover. Each follows the common object format (or, for entities, the common entity format) first, then the fields below, then the handles. The columns are the field name, its bit-code type, the DXF group code where the specification gives one, and notes. Table entries start with the common table entry fields. “Unknown” is the specification’s word. Objects still not covered are listed on the objects page and on the overview’s “Not described” list.
LEADER (45)
| Field | Type | DXF | Notes |
|---|---|---|---|
| Unknown | B | – | Always seems to be 0 |
| Annotation type | BS | – | Not bit-coded: 0 MTEXT, 1 TOLERANCE, 2 INSERT, 3 none |
| Path type | BS | – | – |
| Number of points | BL | – | – |
| Points | 3BD × count | 10 | – |
| Origin | 3BD | – | The leader plane origin; by default the first point |
| Extrusion | 3BD | 210 | – |
| X direction | 3BD | 211 | – |
| Offset to block insertion point | 3BD | 212 | Used with the block option; seems to be an unused feature |
| End point projection | 3BD | – | R14+. For a non-planar leader, the offset from the leader’s end to the annotation, allowing for the extrusion direction |
| DIMGAP | BD | – | R13–R14 only: DIMGAP of the DIMSTYLE when created, times its dimscale |
| Box height | BD | 40 | MTEXT extents height |
| Box width | BD | 41 | MTEXT extents width |
| Hook line on X direction | B | – | 1 if the hook line is on the x direction |
| Arrowhead on | B | – | Arrowhead on indicator |
| R13–R14 only: Arrowhead type BS; DIMASZ BD (times DIMSCALE); Unknown B; Unknown B; Unknown BS; By-block colour BS; Unknown B; Unknown B | |||
| R2000+: Unknown BS; Unknown B; Unknown B | |||
| Handles | |||
| Associated annotation | H | 340 | Hard pointer; activated in R14 |
| DIMSTYLE | H | 2 | Hard pointer |
VIEW (61), UCS (63) and VPORT (65)
Each starts with the common table entry fields (entry name TV 2, 64 flag B 70, xref index + 1 BS 70, xref dependent B 70).
VIEW
| Field | Type | DXF | Notes |
|---|---|---|---|
| View height | BD | 40 | – |
| View width | BD | 41 | – |
| View centre | 2RD | 10 | Not bit-pair coded |
| Target | 3BD | 12 | – |
| View direction | 3BD | 11 | The DXF documentation suggests from the target towards the camera |
| Twist angle | BD | 50 | Radians |
| Lens length | BD | 42 | – |
| Front clip, back clip | BD, BD | 43, 44 | – |
| View mode | X | 71 | 4 bits: bit 0 is bit 0 (1) of the 71 value, bit 1 is bit 1 (2), bit 2 is bit 2 (4), and bit 3 is the opposite of bit 4 (16) of the 71 value. Bit 3 (8) of 71 cannot be specified |
| Render mode | RC | 281 | R2000+ |
| Use default lights | B | – | R2007+; default true |
| Default lighting type | RC | – | R2007+; default 1 |
| Brightness, contrast | BD, BD | – | R2007+; defaults 0 |
| Ambient colour | CMC | – | R2007+; default AutoCAD index colour 250 |
| Paper space flag | B | 70 | Bit 0 (1) of the 70 value |
| Associated UCS | B | 72 | R2000+. If 1, followed by origin 3BD (10), X direction 3BD (11), Y direction 3BD (12), elevation BD (146) and orthographic view type BS (79) |
| Camera plottable | B | 73 | R2007+ |
| Handles: view control (soft pointer), reactors, extension dictionary, external reference block (hard pointer); R2007: background (332, soft), visual style (348, hard), sun (361, hard owner); R2000+: base UCS (346, hard), named UCS (345, hard); R2007+: live section (334, soft) | |||
UCS
| Field | Type | DXF | Notes |
|---|---|---|---|
| Origin | 3BD | 10 | – |
| X direction, Y direction | 3BD, 3BD | 11, 12 | – |
| Elevation | BD | 146 | R2000+ |
| Orthographic view type | BS | 79 | R2000+ |
| Orthographic type | BS | 71 | R2000+ |
| Handles: UCS control (soft), reactors, extension dictionary, external reference block (hard); R2000+: base UCS (346, hard) and named UCS (hard, not in DXF) | |||
VPORT
| Field | Type | DXF | Notes |
|---|---|---|---|
| View height | BD | 40 | – |
| Aspect ratio | BD | 41 | Stored as the aspect ratio times the view height (R13 quirk; R12 stores just the ratio): divide by the 40 value |
| View centre | 2RD | 12 | In display coordinates; for a plan view add the view target (17) to get world coordinates |
| View target | 3BD | 17 | – |
| View direction | 3BD | 16 | – |
| View twist | BD | 51 | – |
| Lens length, front clip, back clip | BD × 3 | 42, 43, 44 | – |
| View mode | X | 71 | 4 bits as for VIEW; bit 3 (8) of 71 is UCSFOLLOW below |
| Render mode | RC | 281 | R2000+ |
| Use default lights, default lighting type, brightness, contrast, ambient colour | B, RC, BD, BD, CMC | 292, 282, 141, 142, 63 | R2007+ |
| Lower left, upper right | 2RD, 2RD | 10, 11 | As fractions of the screen width and height |
| UCSFOLLOW | B | 71 | Bit 3 (8) of the 71 value |
| Circle zoom | BS | 72 | Percent |
| Fast zoom | B | 73 | – |
| UCSICON | X | 74 | 2 bits: bit 0 and bit 1 of the 74 value |
| Grid on, grid spacing | B, 2RD | 76, 15 | – |
| Snap on, snap style, snap isopair | B, B, BS | 75, 77, 78 | – |
| Snap rotation, snap base, snap spacing | BD, 2RD, 2RD | 50, 13, 14 | – |
| Unknown | B | – | R2000+ |
| UCS per viewport | B | 71 | R2000+ |
| UCS origin, X axis, Y axis | 3BD × 3 | 110, 111, 112 | R2000+ |
| UCS elevation, orthographic type | BD, BS | 146, 79 | R2000+ |
| Grid flags, grid major | BS, BS | 60, 61 | R2007+ |
| Handles: VPORT control (soft), reactors, extension dictionary, external reference block (hard); R2007+: background (332, soft), visual style (348, hard), sun (361, hard owner); R2000+: named UCS (345, hard), base UCS (346, hard) | |||
MLINESTYLE (73)
| Field | Type | DXF | Notes |
|---|---|---|---|
| Name | TV | – | Name of the style |
| Description | TV | – | – |
| Flags | BS | – | The DXF flags rearranged. DWG bit to DXF bit: 1 to 2, 2 to 1, 16 to 16, 32 to 64, 64 to 32, 256 to 256, 512 to 1024, 1024 to 512 |
| Fill colour | CMC | – | – |
| Start angle, end angle | BD, BD | – | – |
| Lines in style | RC | – | Count; repeated that many times: offset BD; colour CMC; linetype BS (an index) before R2018, a hard-pointer linetype handle from R2018 |
| Handles: parent (soft), reactors, extension dictionary; from R2018 the linetype handles for the lines | |||
LAYOUT
A layout starts with a plot settings block and then the layout’s own fields.
| Field | Type | DXF | Notes |
|---|---|---|---|
| Page setup name, printer or configuration | TV, TV | 1, 2 | Plot settings |
| Plot layout flags | BS | 70 | – |
| Left, bottom, right, top margin | BD × 4 | 40, 41, 42, 43 | Millimetres |
| Paper width, paper height | BD, BD | 44, 45 | Millimetres |
| Paper size | TV | 4 | – |
| Plot origin | 2BD | 46, 47 | Millimetres |
| Paper units, plot rotation, plot type | BS × 3 | 72, 73, 74 | – |
| Window min, window max | 2BD, 2BD | 48 and 49, 140 and 141 | The plot window’s lower left and upper right |
| Plot view name | T | 6 | The specification marks this and the next five fields as R13 to R2000 only |
| Real world units, drawing units | BD, BD | 142, 143 | Numerator and denominator of the custom print scale |
| Current style sheet | TV | 7 | – |
| Scale type, scale factor | BS, BD | 75, 147 | – |
| Paper image origin | 2BD | 148, 149 | – |
| Shade plot mode, resolution level, custom DPI | BS × 3 | 76, 77, 78 | R2004+ |
| Layout name | TV | 1 | – |
| Tab order | BL | 71 | – |
| Flag | BS | 70 | Layout flags |
| UCS origin | 3BD | 13 | – |
| Minimum limits, maximum limits | 2RD, 2RD | 10, 11 | – |
| Insertion base point | 3BD | 12 | – |
| UCS X axis, UCS Y axis | 3BD, 3BD | 16, 17 | – |
| Elevation | BD | 146 | – |
| Orthographic view type of UCS | BS | 76 | – |
| Extent min, extent max | 3BD, 3BD | 14, 15 | – |
| Viewport count | RL | – | R2004+ |
| Handles: parent (soft), reactors, extension dictionary; R2004+: plot view (6, hard); R2007+: visual style (soft), associated paper space block record (330, soft), last active viewport (331, soft), base UCS (346, hard), named UCS (345, hard); R2004+: one soft pointer for each viewport (the count above) | |||
The specification’s text lists some of these fields under version headings that the extracted copy mixes (the plot-settings fields from the view name to the paper image origin are marked R13–R2000, and the shade plot fields R2004+), and gives group code 76 to both the shade plot mode and the orthographic view type; treat the version markers as approximate.
IDBUFFER, IMAGE, IMAGEDEF, IMAGEDEFREACTOR, LAYER_INDEX, RASTERVARIABLES, SCALE, SORTENTSTABLE and PROXY
Object type numbers of these are allocated per file through the class list (header page), which the specification marks as “varies”.
| Object | Fields | Handles |
|---|---|---|
| IDBUFFER (a list of references to an xref) | Unknown RC (always 0?); number of object IDs BL | Parent (soft), reactors, extension dictionary, then the object IDs (330, soft pointers) |
| IMAGE (entity) | Class version BL (90); insertion point 3BD (10); U vector 3BD (11); V vector 3BD (12); size 2RD (13); display properties BS (70: 1 show image, 2 show image when not aligned with the screen, 4 use clipping boundary, 8 transparency on); clipping B (280); brightness RC (281, 0 to 100, default 50); contrast RC (282, default 50); fade RC (283, default 0); R2010+: clip mode B (290, 0 outside, 1 inside); clip boundary type BS (71, 1 rectangle, 2 polygon); a rectangle has two corners 2RD (14), a polygon a vertex count BL (91) then that many 2RD (14) | Image definition (hard pointer), image definition reactor (hard owner) |
| IMAGEDEF | Class version BL (0); image size in pixels 2RD (10); file path TV (1); is loaded B (280); resolution units RC (281: 0 none, 2 centimetres, 5 inches); pixel size 2RD (11) | Parent (hard owner), reactors, extension dictionary |
| IMAGEDEFREACTOR | Class version BL (90) | Parent (soft), reactors, extension dictionary |
| LAYER_INDEX | Timestamp 1 BL; timestamp 2 BL; number of entries BL; for each entry an index BL (a long) and an index string TV (a layer name) | Parent (soft), reactors, extension dictionary, one handle for each entry |
| RASTERVARIABLES (used with IMAGE) | Class version BL (90); display frame BS (70); display quality BS (71); units BS (72) | Parent (soft), reactors, extension dictionary |
| SCALE (AcDbScale) | BS (70, unknown; ODA writes 0); name TV (300); paper units BD (140, the numerator); drawing units BD (141, the denominator, divided by 10); has unit scale B (290). A scale of 1 mm to 10 mm is stored as 1 and 1, and 1 mm to 1000 mm as 1 and 100 | After the common object data |
| SORTENTSTABLE | Number of entries BL; then that many sort handles H, which are in the main bit stream rather than the handle stream. A sort handle sets the drawing order of the entity in the matching position of the handle stream and need not be an entity. An entity without a mapping uses its own handle for sorting | Parent (soft), reactors, extension dictionary, owner (soft), then the entities’ handles (soft), one for each entry |
| PROXY (ACAD_PROXY_ENTITY and ACAD_PROXY_OBJECT) | R2000+: class ID BL (91); before R2018 object drawing format BL (95: the version OR’d with the maintenance version shifted 16 bits left); R2018+: version BL (71) and maintenance version BL (97); original data format B (70: 0 DWG, 1 DXF); the data bits, as many as there are up to the handles | Parent (soft), reactors, extension dictionary, then object handles (typed object handles) until the data runs out |
Sources
- Open Design Specification for .dwg files, version 5.4.1 – Open Design Alliance; sections 20.4.47, 20.4.60, 20.4.62, 20.4.64, 20.4.73 and 20.4.79 to 20.4.93