The ENTITIES section holds the drawing’s graphical objects. This page lists the group codes of each entity as given in Autodesk’s AutoCAD 2014 DXF Reference. Every entity starts with the common entity codes (type, handle, owner, layer, colour and so on), followed by one or more subclass markers (group 100) and the codes of that entity type.
A point is written as three groups: X under the first code (such as 10), Y under that code plus 10 (20) and Z under that code plus 20 (30). AutoLISP and ObjectARX programs (“APP” in the reference) see the same point as one 3D point under the first code. Rows marked “APP only” never appear in a DXF file. The reference warns that the order of codes may change: readers should handle each code by its number, not its position.
Common entity codes
These codes apply to virtually all entities. Some are written only when the entity has a non-default value. When a group is omitted, its default applies on input (OPEN); a value equal to the default is omitted on output (SAVEAS).
| Code | Meaning |
|---|---|
| −1 | APP only: entity name (changes each time the drawing is opened) |
| 0 | Entity type. Always present |
| 5 | Handle. Always present |
| 102 | Start of an application-defined group, {application_name (optional) |
| application codes | Codes and values inside the 102 group, defined by the application (optional) |
| 102 | End of group, } (optional) |
| 102 | {ACAD_REACTORS: start of the AutoCAD persistent reactors group, present only if persistent reactors are attached to the object (optional) |
| 330 | Soft-pointer ID/handle to owner dictionary (optional) |
| 102 | End of group, } (optional) |
| 102 | {ACAD_XDICTIONARY: start of an extension dictionary group, present only if an extension dictionary is attached (optional) |
| 360 | Hard-owner ID/handle to owner dictionary (optional) |
| 102 | End of group, } (optional) |
| 330 | Soft-pointer ID/handle to the owner BLOCK_RECORD object. Always present |
| 100 | Subclass marker AcDbEntity. Always present |
| 67 | Space: absent or 0 model space, 1 paper space (optional; default 0) |
| 410 | APP only: layout tab name |
| 8 | Layer name. Always present |
| 6 | Linetype name, present if not BYLAYER. The special name BYBLOCK means a floating linetype (optional; default BYLAYER) |
| 347 | Hard-pointer ID/handle to the material object, present if not BYLAYER (default BYLAYER) |
| 62 | Colour number, present if not BYLAYER: 0 BYBLOCK (floating colour), 256 BYLAYER, a negative value means the layer is turned off (optional; default BYLAYER) |
| 370 | Lineweight enum value, stored and moved around as a 16-bit integer. Always present |
| 48 | Linetype scale (optional; default 1.0) |
| 60 | Object visibility (optional; default 0): 0 visible, 1 invisible |
| 92 | Number of bytes of proxy entity graphics in the following 310 groups (optional) |
| 310 | Proxy entity graphics data, binary chunks (multiple lines, at most 256 characters a line) (optional) |
| 420 | 24-bit colour, read as bytes of 0 to 255: the lowest byte is blue, the middle byte green, the third byte red; the top byte is always 0 |
| 430 | Colour name |
| 440 | Transparency value |
| 390 | Hard-pointer ID/handle to the plot style object |
| 284 | Shadow mode: 0 casts and receives shadows; 1 casts shadows; 2 receives shadows; 3 ignores shadows |
Codes 420, 430 and 440 are reserved for AcDbEntity class-level colour and transparency data; custom entities cannot use them for their own data.
3DFACE
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbFace |
| 10, 20, 30 | First corner (WCS) |
| 11, 21, 31 | Second corner (WCS) |
| 12, 22, 32 | Third corner (WCS) |
| 13, 23, 33 | Fourth corner (WCS). If only three corners are entered, this is the same as the third |
| 70 | Invisible edge flags (optional; default 0): 1 first edge invisible; 2 second edge invisible; 4 third edge invisible; 8 fourth edge invisible |
3DSOLID
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbModelerGeometry |
| 70 | Modeller format version number (currently 1) |
| 1 | Proprietary data (multiple lines, each under 255 characters) |
| 3 | Additional lines of proprietary data, if the previous group 1 string is longer than 255 characters (optional) |
| 100 | Subclass marker AcDb3dSolid |
| 350 | Soft-owner ID/handle to the history object |
ACAD_PROXY_ENTITY
| Code | Meaning |
|---|---|
| 100 | AcDbProxyEntity |
| 90 | Proxy entity class ID (always 498) |
| 91 | Application entity’s class ID. Class IDs follow the order of classes in the CLASSES section: the first is 500, the next 501 and so on |
| 92 | Size of graphics data in bytes |
| 310 | Binary graphics data (may repeat) (optional) |
| 93 | Size of entity data in bits |
| 310 | Binary entity data (may repeat) (optional) |
| 330, 340, 350 or 360 | An object ID (may repeat) (optional) |
| 94 | 0, marking the end of the object ID section |
| 95 | Object drawing format when it became a proxy, a 32-bit unsigned integer: low word AcDbDwgVersion, high word MaintenanceReleaseVersion |
| 70 | Original custom object data format: 0 DWG format; 1 DXF format |
ARC
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbCircle |
| 39 | Thickness (optional; default 0) |
| 10, 20, 30 | Centre point (OCS) |
| 40 | Radius |
| 100 | Subclass marker AcDbArc |
| 50 | Start angle |
| 51 | End angle |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
ATTDEF
Attribute definition.
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbText |
| 39 | Thickness (optional; default 0) |
| 10, 20, 30 | First alignment point (OCS) |
| 40 | Text height |
| 1 | Default value (string) |
| 50 | Text rotation (optional; default 0) |
| 41 | Relative X scale factor, the width (optional; default 1). Also adjusted when fit-type text is used |
| 51 | Oblique angle (optional; default 0) |
| 7 | Text style name (optional; default STANDARD) |
| 71 | Text generation flags (optional; default 0); see TEXT |
| 72 | Horizontal text justification type (optional; default 0); see TEXT |
| 11, 21, 31 | Second alignment point (OCS) (optional). Meaningful only if 72 or 74 is non-zero |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
| 100 | Subclass marker AcDbAttributeDefinition |
| 280 | Version number: 0 = 2010 |
| 3 | Prompt string |
| 2 | Tag string (cannot contain spaces) |
| 70 | Attribute flags: 1 invisible (does not appear); 2 constant attribute; 4 verification required on input; 8 preset (no prompt during insertion) |
| 73 | Field length (optional; default 0) (not currently used) |
| 74 | Vertical text justification type (optional; default 0); see code 73 in TEXT |
| 280 | Lock position flag: locks the position of the attribute within the block reference |
Multiline attribute data
The reference continues the ATTDEF table with these codes, which carry an embedded MTEXT for multiline attributes.
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbXrecord |
| 280 | Duplicate record cloning flag (how to merge duplicate entries): 1 keep existing |
| 70 | MText flag: 2 multiline attribute; 4 constant multiline attribute definition |
| 70 | isReallyLocked flag: 0 unlocked; 1 locked |
| 70 | Number of secondary attributes or attribute definitions |
| 340 | Hard-pointer ID of the secondary attributes or attribute definitions |
| 10, 20, 30 | Alignment point of the attribute or attribute definition |
| 40 | Current annotation scale |
| 2 | Attribute or attribute definition tag string |
| 0 | Entity type (MTEXT) |
| 100 | Subclass marker AcDbEntity |
| 67 | Absent or 0 model space; 1 paper space (optional) |
| 8 | Layer name |
| 100 | Subclass marker AcDbMText |
| 10, 20, 30 | Insertion point |
| 40 | Nominal (initial) text height |
| 41 | Reference rectangle width |
| 46 | Defined annotation height |
| 71 | Attachment point: 1 top left; 2 top centre; 3 top right; 4 middle left; 5 middle centre; 6 middle right; 7 bottom left; 8 bottom centre; 9 bottom right |
| 72 | Drawing direction: 1 left to right; 3 top to bottom; 5 by style (inherited from the text style) |
| 1 | Text string. Under 250 characters, all of it is in group 1; longer strings are split into 250-character chunks in one or more group 3 codes, and the last group is a group 1 of fewer than 250 characters |
| 3 | Additional text, always in 250-character chunks (optional) |
| 7 | Text style name (STANDARD if not given) (optional) |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
| 11, 21, 31 | X-axis direction vector (WCS) |
| 42 | Horizontal width of the characters, never more than group 41 (read-only, ignored if supplied) |
| 43 | Vertical height of the mtext (read-only, ignored if supplied) |
| 50 | Rotation angle in radians |
| 73 | Line spacing style (optional): 1 at least (taller characters override); 2 exact (taller characters do not override) |
| 44 | Line spacing factor (optional): percentage of default (3-on-5) line spacing, 0.25 to 4.00 |
| 90 | Background fill setting: 0 off; 1 use background fill colour; 2 use drawing window colour as background fill colour |
| 63 | Background colour (if colour index number) |
| 420–429 | Background colour (if RGB colour) |
| 430–439 | Background colour (if colour name) |
| 45 | Fill box scale (optional): how much border there is around the text |
| 63 | Background fill colour (optional), used when group 90 is 1 |
| 441 | Transparency of background fill colour (not implemented) |
If 72 or 74 is non-zero, the first alignment point is ignored and AutoCAD calculates it from the second alignment point and the length and height of the text after applying the text style. If 72 and 74 are zero or missing, the second alignment point is meaningless.
ATTRIB
Attribute, following an INSERT whose 66 flag is 1.
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbText |
| 39 | Thickness (optional; default 0) |
| 10, 20, 30 | Text start point (OCS) |
| 40 | Text height |
| 1 | Default value (string) |
| 100 | Subclass marker AcDbAttribute |
| 280 | Version number: 0 = 2010 |
| 2 | Attribute tag (string; cannot contain spaces) |
| 70 | Attribute flags: 1 invisible (does not appear); 2 constant attribute; 4 verification required on input; 8 preset (no prompt during insertion) |
| 73 | Field length (optional; default 0) (not currently used) |
| 50 | Text rotation (optional; default 0) |
| 41 | Relative X scale factor, the width (optional; default 1). Also adjusted when fit-type text is used |
| 51 | Oblique angle (optional; default 0) |
| 7 | Text style name (optional; default STANDARD) |
| 71 | Text generation flags (optional; default 0); see TEXT |
| 72 | Horizontal text justification type (optional; default 0); see TEXT |
| 74 | Vertical text justification type (optional; default 0); see code 73 in TEXT |
| 11, 21, 31 | Alignment point (OCS) (optional). Present only if 72 or 74 is present and non-zero |
| 210, 220, 230 | Extrusion direction, present only if not parallel to the WCS Z axis (optional; default 0, 0, 1) |
| 280 | Lock position flag: locks the position of the attribute within the block reference |
The ATTRIB table then continues with exactly the same codes as ATTDEF’s
multiline attribute data, from
100 AcDbXrecord to 441.
If 72 or 74 is non-zero, the text insertion point is ignored and AutoCAD calculates it from the alignment point and the length of the text after applying the text style. If 72 and 74 are zero or missing, the alignment point is ignored and recalculated from the insertion point and the length of the text.
BODY
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbModelerGeometry |
| 70 | Modeller format version number (currently 1) |
| 1 | Proprietary data (multiple lines, each under 255 characters) |
| 3 | Additional lines of proprietary data, if the previous group 1 string is longer than 255 characters (optional) |
CIRCLE
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbCircle |
| 39 | Thickness (optional; default 0) |
| 10, 20, 30 | Centre point (OCS) |
| 40 | Radius |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
DIMENSION
A dimension has the common dimension codes, then the codes of its type.
Common dimension codes
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbDimension |
| 280 | Version number: 0 = 2010 |
| 2 | Name of the block holding the entities that make up the dimension picture |
| 10, 20, 30 | Definition point (WCS) |
| 11, 21, 31 | Middle point of dimension text (OCS) |
| 70 | Dimension type. Values 0–6 give the type; 32, 64 and 128 are bits added to them (32 is always set in R13 and later): 0 rotated, horizontal or vertical; 1 aligned; 2 angular; 3 diameter; 4 radius; 5 angular 3-point; 6 ordinate 32 the block reference (group 2) is used by this dimension only 64 ordinate type (bit 7), used only with 6: set means X-type ordinate, clear means Y-type 128 (bit 8) the text has been placed at a user-defined location rather than the default |
| 71 | Attachment point: 1 top left; 2 top centre; 3 top right; 4 middle left; 5 middle centre; 6 middle right; 7 bottom left; 8 bottom centre; 9 bottom right |
| 72 | Text line-spacing style (optional): 1 (or missing) at least (taller characters override); 2 exact (taller characters do not override) |
| 41 | Text line-spacing factor (optional): percentage of default (3-on-5) line spacing, 0.25 to 4.00 |
| 42 | Actual measurement (optional; read-only) |
| 1 | Text entered by the user (optional; default the measurement). Empty or <> draws the measurement; a single space suppresses the text; anything else is drawn as the text |
| 53 | Rotation angle of the text away from its default orientation, the direction of the dimension line (optional) |
| 51 | Horizontal direction of the dimension (optional), which sets the orientation of text and lines for horizontal, vertical and rotated linear dimensions. It is the negative of the angle between the OCS X axis and the UCS X axis, always in the OCS XY plane |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
| 3 | Dimension style name |
For all dimension types, (10, 20, 30), (13, 23, 33), (14, 24, 34) and
(15, 25, 35) are WCS points; (11, 21, 31), (12, 22, 32) and (16, 26, 36) are OCS
points. Extended data for the application ID ACAD follows a
dimension if any dimension style overrides have been applied (see
below).
Aligned dimension
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbAlignedDimension |
| 12, 22, 32 | Insertion point for clones of a dimension, Baseline and Continue (OCS) |
| 13, 23, 33 | Definition point for linear and angular dimensions (WCS) |
| 14, 24, 34 | Definition point for linear and angular dimensions (WCS) |
(13, 23, 33) is the start of the first extension line and (14, 24, 34) the start of the second; (10, 20, 30) is the dimension line location and (11, 21, 31) the midpoint of the text.
Angular dimension
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDb3PointAngularDimension |
| 13, 23, 33 | Definition point for linear and angular dimensions (WCS) |
| 14, 24, 34 | Definition point for linear and angular dimensions (WCS) |
| 15, 25, 35 | Definition point for diameter, radius and angular dimensions (WCS) |
| 16, 26, 36 | Point defining the dimension arc for angular dimensions (OCS) |
The reference describes the points in two ways. In the first, (13, 23, 33) and (14, 24, 34) are the ends of the line that sets the first extension line; (10, 20, 30) and (15, 25, 35) are the ends of the line that sets the second; (16, 26, 36) places the dimension line arc. In the second, (15, 25, 35) is the vertex of the angle; (13, 23, 33) and (14, 24, 34) are the ends of the extension lines; (10, 20, 30) places the dimension line arc. In both, (11, 21, 31) is the midpoint of the text.
Linear and rotated dimension
Linear and rotated dimensions are part of the AcDbAlignedDimension subclass.
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbAlignedDimension |
| 12, 22, 32 | Insertion point for clones of a dimension, Baseline and Continue (OCS) |
| 13, 23, 33 | Definition point for linear and angular dimensions (WCS) |
| 14, 24, 34 | Definition point for linear and angular dimensions (WCS) |
| 50 | Angle of rotated, horizontal or vertical dimensions |
| 52 | Oblique angle (optional, for linear dimensions with an oblique angle). Added to the rotation angle (50), it gives the angle of the extension lines |
| 100 | Subclass marker AcDbRotatedDimension |
Ordinate dimension
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbOrdinateDimension |
| 13, 23, 33 | Definition point for linear and angular dimensions (WCS) |
| 14, 24, 34 | Definition point for linear and angular dimensions (WCS) |
(13, 23, 33) is the feature location and (14, 24, 34) the leader end point; (11, 21, 31) is the midpoint of the text; (10, 20, 30) is placed at the origin of the UCS current when the dimension was created.
Radial and diameter dimension
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbRadialDimension or AcDbDiametricDimension |
| 15, 25, 35 | Definition point for diameter, radius and angular dimensions (WCS) |
| 40 | Leader length for radius and diameter dimensions |
(15, 25, 35) is the first point of the dimension line on the circle or arc. The reference gives (10, 20, 30) twice: once as the point opposite the first point, and once as the centre of the circle or arc. (11, 21, 31) is the midpoint of the text.
Dimension style overrides
Dimension style overrides on DIMENSION, LEADER and TOLERANCE entities are stored
in the entity as extended data under the application ID ACAD. The
overridden dimension variables’ group codes and values sit between 1002 control
strings. The reference’s example, with DIMCLRE and DIMTOL overridden:
| Code | Meaning |
|---|---|
| 1000 | DSTYLE |
| 1002 | {, start of the dimension style subsection |
| 1070, 1070 | 177, 3: DIMCLRE (code 177) overridden with value 3 |
| 1070, 1070 | 71, 1: DIMTOL (code 71) overridden with value 1 |
| 1002 | }, end of the subsection |
ELLIPSE
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbEllipse |
| 10, 20, 30 | Centre point (WCS) |
| 11, 21, 31 | End point of the major axis, relative to the centre (WCS) |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
| 40 | Ratio of minor axis to major axis |
| 41 | Start parameter (0.0 for a full ellipse) |
| 42 | End parameter (2π for a full ellipse) |
HATCH
These codes apply to hatch and MPolygon entities.
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbHatch |
| 10, 20, 30 | Elevation point (OCS): X and Y are always 0, Z is the elevation |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
| 2 | Hatch pattern name |
| 70 | Solid fill flag: 1 solid fill; 0 pattern fill. For MPolygon, the version of MPolygon |
| 63 | For MPolygon, pattern fill colour as the ACI |
| 71 | Associativity flag: 1 associative; 0 non-associative. For MPolygon, solid-fill flag: 1 has solid fill; 0 lacks solid fill |
| 91 | Number of boundary paths (loops) |
| varies | Boundary path data, repeated the number of times given by 91; see boundary path data |
| 75 | Hatch style: 0 hatch “odd parity” area (Normal style); 1 hatch outermost area only (Outer style); 2 hatch through entire area (Ignore style) |
| 76 | Hatch pattern type: 0 user-defined; 1 predefined; 2 custom |
| 52 | Hatch pattern angle (pattern fill only) |
| 41 | Hatch pattern scale or spacing (pattern fill only) |
| 73 | For MPolygon, boundary annotation flag: 1 boundary is an annotated boundary; 0 it is not |
| 77 | Hatch pattern double flag (pattern fill only): 0 not double; 1 double |
| 78 | Number of pattern definition lines |
| varies | Pattern line data, repeated the number of times given by 78; see pattern data |
| 47 | Pixel size used to set the density for intersection and ray casting operations in hatch pattern computation, for associative hatches and hatches made with the Flood method |
| 98 | Number of seed points |
| 11 | For MPolygon, offset vector |
| 99 | For MPolygon, number of degenerate boundary paths (loops): borders ignored by the hatch |
| 10, 20 | Seed point (OCS), 2D (multiple entries) |
| 450 | Solid hatch or gradient: 0 solid hatch; 1 gradient. Optional; if 450 is in the file, 451, 452, 453, 460, 461, 462 and 470 must be too, and if it is not, none of them may be. For a solid hatch their values are ignored but must be present |
| 451 | Zero, reserved for future use |
| 452 | How the colours were defined, used only by dialog code: 0 two-colour gradient; 1 single-colour gradient |
| 453 | Number of colours: 0 solid hatch; 2 gradient |
| 460 | Rotation angle in radians for gradients (default “0, 0” as printed) |
| 461 | Gradient definition, the Centered option of the Gradient tab in the Boundary Hatch and Fill dialog. Each gradient has a shifted and an unshifted definition; this Shift value blends them: 0.0 only the unshifted, 1.0 only the shifted |
| 462 | Colour tint value used by dialog code (default “0, 0” as printed; range 0.0 to 1.0). It controls the degree of tint in the dialog when 452 is 1 |
| 463 | Reserved for future use: 0 first value; 1 second value |
| 470 | String (default LINEAR) |
Boundary path data
Each boundary path (loop) is made of one or more segments, each with its own set of codes depending on its type.
| Code | Meaning |
|---|---|
| 92 | Boundary path type flag (bit-coded): 0 default; 1 external; 2 polyline; 4 derived; 8 textbox; 16 outermost |
| varies | Polyline boundary data (only if the boundary is a polyline); see below |
| 93 | Number of edges in this boundary path (only if the boundary is not a polyline) |
| 72 | Edge type (only if the boundary is not a polyline): 1 line; 2 circular arc; 3 elliptic arc; 4 spline |
| varies | Edge data (only if the boundary is not a polyline); see the edge tables below |
| 97 | Number of source boundary objects |
| 330 | Reference to source boundary objects (multiple entries) |
Polyline boundary
| Code | Meaning |
|---|---|
| 72 | Has bulge flag |
| 73 | Is closed flag |
| 93 | Number of polyline vertices |
| 10, 20 | Vertex location (OCS), 2D (multiple entries) |
| 42 | Bulge (optional; default 0) |
Line edge
| Code | Meaning |
|---|---|
| 10, 20 | Start point (OCS), 2D |
| 11, 21 | End point (OCS), 2D |
Arc edge
| Code | Meaning |
|---|---|
| 10, 20 | Centre point (OCS), 2D |
| 40 | Radius |
| 50 | Start angle |
| 51 | End angle |
| 73 | Is anticlockwise flag |
Ellipse edge
| Code | Meaning |
|---|---|
| 10, 20 | Centre point (OCS), 2D |
| 11, 21 | End point of the major axis relative to the centre (OCS), 2D |
| 40 | Length of the minor axis (percentage of the major axis length) |
| 50 | Start angle |
| 51 | End angle |
| 73 | Is anticlockwise flag |
Spline edge
| Code | Meaning |
|---|---|
| 94 | Degree |
| 73 | Rational |
| 74 | Periodic |
| 95 | Number of knots |
| 96 | Number of control points |
| 40 | Knot values (multiple entries) |
| 10, 20 | Control point (OCS), 2D |
| 42 | Weights (optional; default 1) |
| 97 | Number of fit data |
| 11, 21 | Fit datum (OCS), 2D |
| 12, 22 | Start tangent, 2D vector |
| 13, 23 | End tangent, 2D vector |
Pattern data
These codes repeat for each pattern definition line.
| Code | Meaning |
|---|---|
| 53 | Pattern line angle |
| 43 | Pattern line base point, X component |
| 44 | Pattern line base point, Y component |
| 45 | Pattern line offset, X component |
| 46 | Pattern line offset, Y component |
| 79 | Number of dash length items |
| 49 | Dash length (multiple entries) |
HELIX
| Code | Meaning |
|---|---|
| — | Spline data |
| 100 | Subclass marker AcDbHelix |
| 90 | Major release number |
| 91 | Maintenance release number |
| 10, 20, 30 | Axis base point |
| 11, 21, 31 | Start point |
| 12, 22, 32 | Axis vector |
| 40 | Radius |
| 41 | Number of turns |
| 42 | Turn height |
| 290 | Handedness: 0 left; 1 right |
| 280 | Constrain type: 0 constrain turn height; 1 constrain turns; 2 constrain height |
IMAGE
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbRasterImage |
| 90 | Class version |
| 10, 20, 30 | Insertion point (WCS) |
| 11, 21, 31 | U-vector of a single pixel, along the visual bottom of the image from the insertion point (WCS) |
| 12, 22, 32 | V-vector of a single pixel, along the visual left side of the image from the insertion point (WCS) |
| 13, 23 | Image size in pixels: U value, V value |
| 340 | Hard reference to the IMAGEDEF object |
| 70 | Image display properties: 1 show image; 2 show image when not aligned with screen; 4 use clipping boundary; 8 transparency is on |
| 280 | Clipping state: 0 off; 1 on |
| 281 | Brightness, 0–100 (default 50) |
| 282 | Contrast, 0–100 (default 50) |
| 283 | Fade, 0–100 (default 0) |
| 360 | Hard reference to the IMAGEDEF_REACTOR object |
| 71 | Clipping boundary type: 1 rectangular; 2 polygonal |
| 91 | Number of clip boundary vertices that follow |
| 14, 24 | Clip boundary vertex (OCS), 2D (multiple entries). A rectangular boundary needs two opposite corners, by default (−0.5, −0.5) and (size.x − 0.5, size.y − 0.5); a polygonal boundary needs three or more vertices, listed in order |
| 290 | Clip mode: 0 outside mode; 1 inside mode |
INSERT
Block reference.
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbBlockReference |
| 66 | Attributes-follow flag (optional; default 0). If 1, a series of ATTRIB entities follows the insert, ended by a SEQEND |
| 2 | Block name |
| 10, 20, 30 | Insertion point (OCS) |
| 41 | X scale factor (optional; default 1) |
| 42 | Y scale factor (optional; default 1) |
| 43 | Z scale factor (optional; default 1) |
| 50 | Rotation angle (optional; default 0) |
| 70 | Column count (optional; default 1) |
| 71 | Row count (optional; default 1) |
| 44 | Column spacing (optional; default 0) |
| 45 | Row spacing (optional; default 0) |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
LEADER
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbLeader |
| 3 | Dimension style name |
| 71 | Arrowhead flag: 0 disabled; 1 enabled |
| 72 | Leader path type: 0 straight line segments; 1 spline |
| 73 | Leader creation flag (default 3): 0 created with text annotation; 1 with tolerance annotation; 2 with block reference annotation; 3 without any annotation |
| 74 | Hookline direction flag: 0 the hookline (or end of tangent for a splined leader) points the opposite way from the horizontal vector; 1 the same way as the horizontal vector (see 75) |
| 75 | Hookline flag: 0 no hookline; 1 has a hookline |
| 40 | Text annotation height |
| 41 | Text annotation width |
| 76 | Number of vertices in the leader (ignored for OPEN) |
| 10, 20, 30 | Vertex coordinates (one entry for each vertex) |
| 77 | Colour to use if the leader’s DIMCLRD is BYBLOCK |
| 340 | Hard reference to the associated annotation (MTEXT, TOLERANCE or INSERT entity) |
| 210, 220, 230 | Normal vector |
| 211, 221, 231 | “Horizontal” direction for the leader |
| 212, 222, 232 | Offset of the last leader vertex from the block reference insertion point |
| 213, 223, 233 | Offset of the last leader vertex from the annotation placement point |
Extended data for the application ID ACAD follows a leader if any
dimension overrides have been applied; see
dimension style overrides.
LIGHT
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbLight |
| 90 | Version number |
| 1 | Light name |
| 70 | Light type: 1 distant; 2 point; 3 spot |
| 290 | Status |
| 291 | Plot glyph |
| 40 | Intensity |
| 10, 20, 30 | Light position |
| 11, 21, 31 | Target location |
| 72 | Attenuation type: 0 none; 1 inverse linear; 2 inverse square |
| 292 | Use attenuation limits |
| 41 | Attenuation start limit |
| 42 | Attenuation end limit |
| 50 | Hotspot angle |
| 51 | Falloff angle |
| 293 | Cast shadows |
| 73 | Shadow type: 0 ray traced shadows; 1 shadow maps |
| 91 | Shadow map size |
| 280 | Shadow map softness |
LINE
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbLine |
| 39 | Thickness (optional; default 0) |
| 10, 20, 30 | Start point (WCS) |
| 11, 21, 31 | End point (WCS) |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
LWPOLYLINE
Lightweight polyline: all vertices are held in the one entity.
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbPolyline |
| 90 | Number of vertices |
| 70 | Polyline flag (bit-coded; default 0): 1 closed; 128 plinegen |
| 43 | Constant width (optional; default 0). Not used if variable width (40 or 41) is set |
| 38 | Elevation (optional; default 0) |
| 39 | Thickness (optional; default 0) |
| 10, 20 | Vertex coordinates (OCS), 2D; one entry for each vertex |
| 91 | Vertex identifier |
| 40 | Starting width, one entry for each vertex (optional; default 0). Not used if constant width (43) is set |
| 41 | End width, one entry for each vertex (optional; default 0). Not used if constant width (43) is set |
| 42 | Bulge, one entry for each vertex (optional; default 0) |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
0
LWPOLYLINE
5
2A
330
1F
100
AcDbEntity
8
0
100
AcDbPolyline
90
4
70
1
10
0.0
20
0.0
10
10.0
20
0.0
10
10.0
20
5.0
10
0.0
20
5.0
0: four vertices
(90), flag 70 = 1 for closed, then one 10/20 pair per vertex. The handle (5) and
owner handle (330) are example values; the omitted codes take their
defaults.MESH
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbSubDMesh |
| 71 | Version number |
| 72 | “Blend Crease” property: 0 off; 1 on |
| 91 | Number of subdivision levels |
| 92 | Vertex count of level 0 |
| 10 | Vertex position |
| 93 | Size of the face list of level 0 |
| 90 | Face list item |
| 94 | Edge count of level 0 |
| 90 | Vertex index of each edge |
| 95 | Edge crease count of level 0 |
| 140 | Edge crease value (printed “create”) |
| 90 | Count of sub-entities whose properties have been overridden |
| 91 | Sub-entity marker |
| 92 | Count of properties overridden |
| 90 | Property type: 0 colour; 1 material; 2 transparency; 3 material mapper |
MLINE
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbMline |
| 2 | Name of the style used for this mline, up to 32 characters. An entry for it must exist in the MLINESTYLE dictionary. Do not change it without also updating that entry |
| 340 | Pointer handle/ID of the MLINESTYLE object |
| 40 | Scale factor |
| 70 | Justification: 0 top; 1 zero; 2 bottom |
| 71 | Flags (bit-coded): 1 has at least one vertex (72 is greater than 0); 2 closed; 4 suppress start caps; 8 suppress end caps |
| 72 | Number of vertices |
| 73 | Number of elements in the MLINESTYLE definition |
| 10, 20, 30 | Start point (WCS) |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
| 11, 21, 31 | Vertex coordinates (one entry for each vertex) |
| 12, 22, 32 | Direction vector of the segment starting at this vertex (one for each vertex) |
| 13, 23, 33 | Direction vector of the mitre at this vertex (one for each vertex) |
| 74 | Number of parameters for this element (repeats for each element in the segment) |
| 41 | Element parameters (repeats as counted by the previous 74) |
| 75 | Number of area fill parameters for this element (repeats for each element in the segment) |
| 42 | Area fill parameters (repeats as counted by the previous 75) |
The 41 values are a list of reals, possibly empty. The first is the distance from the segment vertex along the mitre vector to where the element’s path crosses the mitre vector. The next is the distance along the element’s path from that point to the actual start of the element; the next, from the start of the element to its first break (or cut). Further values continue to list start and stop points of the element in this segment. Linetypes do not affect 41 lists.
The 42 values are read the same way and, taken together for all elements of the segment, bound its fill area. For example, when an unfilled mline crosses a filled one and MLEDIT makes the crossing area appear unfilled, each element of the affected segment gets two 42 values: one for the fill stop and one for the fill start.
Group 2 in MLINE (and in MLINESTYLE objects) is redundant: it is safe to read but should never be changed. To change the style, change the 340 group in the MLINE, or for MLINESTYLE the group 3 value in the MLINESTYLE dictionary that precedes the 350 group holding the handle of the current mline style.
MLEADER
An MLEADER has common codes, then context data, leader node and leader line codes.
Common MLEADER codes
| Code | Meaning |
|---|---|
| 340 | Leader style ID |
| 90 | Property override flag |
| 170 | Leader line type |
| 91 | Leader line colour |
| 341 | Leader line type ID |
| 171 | Leader line weight |
| 290 | Enable landing |
| 291 | Enable dogleg |
| 41 | Dogleg length |
| 342 | Arrowhead ID |
| 42 | Arrowhead size |
| 172 | Content type |
| 343 | Text style ID |
| 173 | Text left attachment type |
| 95 | Text right attachment type |
| 174 | Text angle type |
| 175 | Text alignment type |
| 92 | Text colour |
| 292 | Enable frame text |
| 344 | Block content ID |
| 93 | Block content colour |
| 10 | Block content scale |
| 43 | Block content rotation |
| 176 | Block content connection type |
| 293 | Enable annotation scale |
| 94 | Arrowhead index |
| 345 | Arrowhead ID |
| 330 | Block attribute ID |
| 177 | Block attribute index |
| 44 | Block attribute width |
| 302 | Block attribute text string |
| 294 | Text direction negative |
| 178 | Text align in IPE |
| 179 | Text attachment point |
| 271 | Text attachment direction for MTEXT contents: 0 horizontal; 1 vertical |
| 272 | Bottom text attachment direction: 9 centre; 10 underline and centre |
| 273 | Top text attachment direction: 9 centre; 10 overline and centre |
Context data
| Code | Meaning |
|---|---|
| 40 | Content scale |
| 10, 20, 30 | Content base position |
| 41 | Text height |
| 140 | Arrowhead size |
| 145 | Landing gap |
| 290 | Has MText |
| 304 | Default text contents |
| 11, 21, 31 | Text normal direction |
| 340 | Text style ID |
| 12, 22, 32 | Text location |
| 13, 23, 33 | Text direction |
| 42 | Text rotation |
| 43 | Text width |
| 44 | Text height |
| 45 | Text line spacing factor |
| 170 | Text line spacing style |
| 90 | Text colour |
| 171 | Text attachment |
| 172 | Text flow direction |
| 91 | Text background colour |
| 141 | Text background scale factor |
| 92 | Text background transparency |
| 291 | Is text background colour on |
| 292 | Is text background fill on |
| 173 | Text column type |
| 293 | Use text auto height |
| 142 | Text column width |
| 143 | Text column gutter width |
| 294 | Text column flow reversed |
| 144 | Text column height |
| 295 | Text use word break |
| 296 | Has block |
| 341 | Block content ID |
| 14, 24, 34 | Block content normal direction |
| 15, 25, 35 | Block content position |
| 16 | Block content scale |
| 46 | Block content rotation |
| 93 | Block content colour |
| 47 | Block transformation matrix |
| 110 | MLeader plane origin point |
| 111 | MLeader plane X-axis direction |
| 112 | MLeader plane Y-axis direction |
| 297 | MLeader plane normal reversed |
| 10, 20, 30 | Vertex |
| 90 | Break point index |
After 90, the reference’s table repeats codes 43 to 297 in the same order as above.
Leader node
| Code | Meaning |
|---|---|
| 290 | Has set last leader line point |
| 291 | Has set dogleg vector |
| 10, 20, 30 | Last leader line point |
| 11, 21, 31 | Dogleg vector |
| 12, 22, 32 | Break start point |
| 13, 23, 33 | Break end point |
| 90 | Leader branch index |
| 40 | Dogleg length |
Leader line
| Code | Meaning |
|---|---|
| 10, 20, 30 | Vertex |
| 90 | Break point index |
| 11, 21, 31 | Break start point |
| 12, 22, 32 | Break end point |
| 91 | Leader line index |
MLEADERSTYLE
The reference lists MLEADERSTYLE among the entities.
| Code | Meaning |
|---|---|
| 170 | Content type |
| 171 | Draw MLeader order type |
| 172 | Draw leader order type |
| 90 | Maximum leader segment points |
| 40 | First segment angle constraint |
| 41 | Second segment angle constraint |
| 173 | Leader line type |
| 91 | Leader line colour |
| 340 | Leader line type ID |
| 92 | Leader line weight |
| 290 | Enable landing |
| 42 | Landing gap |
| 291 | Enable dogleg |
| 43 | Dogleg length |
| 3 | MLeader style description |
| 341 | Arrowhead ID |
| 44 | Arrowhead size |
| 300 | Default MText contents |
| 342 | MText style ID |
| 174 | Text left attachment type |
| 175 | Text angle type |
| 176 | Text alignment type |
| 178 | Text right attachment type |
| 93 | Text colour |
| 45 | Text height |
| 292 | Enable frame text |
| 297 | Text align always left |
| 46 | Align space |
| 343 | Block content ID |
| 94 | Block content colour |
| 47 | Block content scale on X axis |
| 49 | Block content scale on Y axis |
| 140 | Block content scale on Z axis |
| 293 | Enable block content scale |
| 141 | Block content rotation |
| 294 | Enable block content rotation |
| 177 | Block content connection type |
| 142 | Scale |
| 295 | Overwrite property value |
| 296 | Is annotative |
| 143 | Break gap size |
| 271 | Text attachment direction for MTEXT contents: 0 horizontal; 1 vertical |
| 272 | Bottom text attachment direction: 9 centre; 10 underline and centre |
| 273 | Top text attachment direction: 9 centre; 10 overline and centre |
MTEXT
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbMText |
| 10, 20, 30 | Insertion point |
| 40 | Nominal (initial) text height |
| 41 | Reference rectangle width |
| 71 | Attachment point: 1 top left; 2 top centre; 3 top right; 4 middle left; 5 middle centre; 6 middle right; 7 bottom left; 8 bottom centre; 9 bottom right |
| 72 | Drawing direction: 1 left to right; 3 top to bottom; 5 by style (inherited from the text style) |
| 1 | Text string. Under 250 characters, all of it is in group 1; longer strings are split into 250-character chunks in one or more group 3 codes, and the last group is a group 1 of fewer than 250 characters |
| 3 | Additional text, always in 250-character chunks (optional) |
| 7 | Text style name (STANDARD if not given) (optional) |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
| 11, 21, 31 | X-axis direction vector (WCS). A group 50 (rotation in radians) given as DXF input is converted to this vector; if both are given, the last one wins |
| 42 | Horizontal width of the characters, never more than group 41 (read-only, ignored if supplied) |
| 43 | Vertical height of the mtext (read-only, ignored if supplied) |
| 50 | Rotation angle in radians |
| 73 | Line spacing style (optional): 1 at least (taller characters override); 2 exact (taller characters do not override) |
| 44 | Line spacing factor (optional): percentage of default (3-on-5) line spacing, 0.25 to 4.00 |
| 90 | Background fill setting: 0 off; 1 use background fill colour; 2 use drawing window colour as background fill colour |
| 420–429 | Background colour (if RGB colour) |
| 430–439 | Background colour (if colour name) |
| 45 | Fill box scale (optional): how much border there is around the text |
| 63 | Background fill colour (optional), used when group 90 is 1 |
| 441 | Transparency of background fill colour (not implemented) |
| 75 | Column type |
| 76 | Column count |
| 78 | Column flow reversed |
| 79 | Column autoheight |
| 48 | Column width |
| 49 | Column gutter |
| 50 | Column heights: followed by a column count (Int16), then that number of column heights |
Extended data with the application ID DCO15 may follow an MTEXT; it
holds information for the dbConnect feature.
OLEFRAME
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbOleFrame |
| 70 | OLE version number |
| 90 | Length of binary data |
| 310 | Binary data (multiple lines) |
| 1 | End of OLE data (the string OLE) |
OLE2FRAME
This information is read-only. On OPEN the values are ignored, because they are part of the OLE binary object and are obtained by access functions.
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbOle2Frame |
| 70 | OLE version number |
| 3 | Length of binary data (as the table says; the reference’s sample has the string Paintbrush Picture here) |
| 10, 20, 30 | Upper-left corner (WCS) |
| 11, 21, 31 | Lower-right corner (WCS) |
| 71 | OLE object type: 1 link; 2 embedded; 3 static |
| 72 | Tile mode descriptor: 0 object is in model space; 1 object is in paper space |
| 90 | Length of binary data |
| 310 | Binary data (multiple lines) |
| 1 | End of OLE data (the string OLE) |
The reference’s sample, after the common codes (handle 2D, paper
space, layer 0), has 70 = 2, 3 = Paintbrush Picture,
corners (4.43116, 5.665992, 0.0) and (6.4188, 4.244939, 0.0), 71 = 2, 72 = 1,
90 = 23680, then 310 lines of hexadecimal data.
POINT
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbPoint |
| 10, 20, 30 | Point location (WCS) |
| 39 | Thickness (optional; default 0) |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
| 50 | Angle of the X axis of the UCS in effect when the point was drawn (optional; default 0); used when PDMODE is non-zero |
POLYLINE
A POLYLINE is followed by its VERTEX entities and a SEQEND.
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDb2dPolyline or AcDb3dPolyline |
| 66 | Obsolete; formerly an “entities follow” flag (optional; ignore if present) |
| 10 | Always 0. APP: a “dummy” point whose X and Y are always 0 and whose Z is the polyline’s elevation (OCS when 2D, WCS when 3D) |
| 20 | Always 0 |
| 30 | Polyline’s elevation (OCS when 2D, WCS when 3D) |
| 39 | Thickness (optional; default 0) |
| 70 | Polyline flag (bit-coded; default 0): 1 closed polyline (or a polygon mesh closed in the M direction) 2 curve-fit vertices have been added 4 spline-fit vertices have been added 8 3D polyline 16 3D polygon mesh 32 polygon mesh closed in the N direction 64 polyface mesh 128 linetype pattern generated continuously around the vertices |
| 40 | Default start width (optional; default 0) |
| 41 | Default end width (optional; default 0) |
| 71 | Polygon mesh M vertex count (optional; default 0) |
| 72 | Polygon mesh N vertex count (optional; default 0) |
| 73 | Smooth surface M density (optional; default 0) |
| 74 | Smooth surface N density (optional; default 0) |
| 75 | Curves and smooth surface type (optional; default 0), not bit-coded: 0 no smooth surface fitted; 5 quadratic B-spline surface; 6 cubic B-spline surface; 8 Bézier surface |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
Extended data with the application ID AUTOCAD_POSTSCRIPT_FIGURE may
follow a polyline; it holds PostScript image and fill information.
Polyface meshes
A polyface mesh is a POLYLINE with the 64 bit set in its 70 flags. Its 71 group gives the number of vertices in the mesh and 72 the number of faces. These counts are correct for meshes made with the PFACE command, but applications are not required to write correct values.
The header is followed by VERTEX entities giving the vertex coordinates, then VERTEX entities giving the faces. A face can only have a limited number of vertices: the read-only PFACEVMAX system variable gives it and is set to 4. More complex polygons are split into triangular wedges whose edges should be made invisible. PFACE does this itself; applications writing polyface meshes directly must do it themselves.
AutoCAD requires all vertex entities first, then all face entities, and programs writing DXF should follow that order. Programs reading DXF should tolerate any order. How faces refer to vertices is described under VERTEX.
RAY
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbRay |
| 10, 20, 30 | Start point (WCS) |
| 11, 21, 31 | Unit direction vector (WCS) |
REGION
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbModelerGeometry |
| 70 | Modeller format version number (currently 1) |
| 1 | Proprietary data (multiple lines, each under 255 characters) |
| 3 | Additional lines of proprietary data, if the previous group 1 string is longer than 255 characters (optional) |
SECTION
The section entity, not the 0 SECTION marker that starts each part of
the file.
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbSection |
| 90 | Section state |
| 91 | Section flags |
| 1 | Name |
| 10, 20, 30 | Vertical direction |
| 40 | Top height |
| 41 | Bottom height |
| 70 | Indicator transparency |
| 63, 411 | Indicator colour |
| 92 | Number of vertices |
| 11, 21, 31 | Vertex (repeats for the number of vertices) |
| 93 | Number of back line vertices |
| 12, 22, 32 | Back line vertex (repeats for the number of back line vertices) |
| 360 | Hard-pointer ID/handle to the geometry settings object |
SEQEND
SEQEND ends the VERTEX entities of a POLYLINE, or the ATTRIB entities of an INSERT whose 66 group is present and non-zero. In a DXF file it has only the common codes.
| Code | Meaning |
|---|---|
| −2 | APP only: name of the entity that began the sequence. Not saved in a DXF file |
SHAPE
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbShape |
| 39 | Thickness (optional; default 0) |
| 10, 20, 30 | Insertion point (WCS) |
| 40 | Size |
| 2 | Shape name |
| 50 | Rotation angle (optional; default 0) |
| 41 | Relative X scale factor (optional; default 1) |
| 51 | Oblique angle (optional; default 0) |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
SOLID
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbTrace |
| 10, 20, 30 | First corner |
| 11, 21, 31 | Second corner |
| 12, 22, 32 | Third corner |
| 13, 23, 33 | Fourth corner. If only three corners are entered, it is the same as the third |
| 39 | Thickness (optional; default 0) |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
SPLINE
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbSpline |
| 210, 220, 230 | Normal vector (omitted if the spline is non-planar) (optional) |
| 70 | Spline flag (bit-coded): 1 closed; 2 periodic; 4 rational; 8 planar; 16 linear (the planar bit is also set) |
| 71 | Degree of the spline curve |
| 72 | Number of knots |
| 73 | Number of control points |
| 74 | Number of fit points (if any) |
| 42 | Knot tolerance (default 0.0000001) |
| 43 | Control-point tolerance (default 0.0000001) |
| 44 | Fit tolerance (default 0.0000000001) |
| 12, 22, 32 | Start tangent; may be omitted (WCS) |
| 13, 23, 33 | End tangent; may be omitted (WCS) |
| 40 | Knot value (one entry per knot) |
| 41 | Weight (if not 1). With multiple group pairs, they are present if not all are 1 |
| 10, 20, 30 | Control points (WCS), one entry per control point |
| 11, 21, 31 | Fit points (WCS), one entry per fit point |
SUN
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbSun |
| 90 | Version number |
| 290 | Status |
| 63 | Colour |
| 40 | Intensity |
| 291 | Shadows |
| 91 | Julian day |
| 92 | Time (seconds past midnight) |
| 292 | Daylight saving time |
| 70 | Shadow type: 0 ray traced shadows; 1 shadow maps |
| 71 | Shadow map size |
| 280 | Shadow softness |
SURFACE
A surface has the common surface codes, then the codes of its type.
Common surface codes
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbModelerGeometry |
| 70 | Modeller format version number (currently 1) |
| 1 | Proprietary data (multiple lines, each under 255 characters) |
| 3 | Additional lines of proprietary data, if the previous group 1 string is longer than 255 characters (optional) |
| 100 | Subclass marker AcDbSurface |
| 71 | Number of U isolines |
| 72 | Number of V isolines |
Extruded surface
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbExtrudedSurface |
| 90 | Class ID |
| 90 | Size of binary data |
| 310 | Binary data |
| 10, 20, 30 | Sweep vector |
| 40 | Transform matrix of the extruded entity (16 reals, row major; default identity matrix) |
| 42 | Draft angle (radians) |
| 43 | Draft start distance |
| 44 | Draft end distance |
| 45 | Twist angle |
| 48 | Scale factor |
| 49 | Align angle (radians) |
| 46 | Transform matrix of the sweep entity (16 reals, row major; default identity matrix) |
| 47 | Transform matrix of the path entity (16 reals, row major; default identity matrix) |
| 290 | Solid flag |
| 70 | Sweep alignment option: 0 no alignment; 1 align sweep entity to path; 2 translate sweep entity to path; 3 translate path to sweep entity |
| 292 | Align start flag |
| 293 | Bank flag |
| 294 | Base point set flag |
| 295 | Sweep entity transform computed flag |
| 296 | Path entity transform computed flag |
| 11, 21, 31 | Reference vector for controlling twist |
Lofted surface
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbLoftedSurface |
| 40 | Transform matrix of the loft entity (16 reals, row major; default identity matrix) |
| — | Entity data for cross sections |
| — | Entity data for guide curves |
| — | Entity data for path curves |
| 70 | Plane normal lofting type |
| 41 | Start draft angle (radians) |
| 42 | End draft angle (radians) |
| 43 | Start draft magnitude |
| 44 | End draft magnitude |
| 290 | Arc length parameterisation flag |
| 291 | No twist flag |
| 292 | Align direction flag |
| 293 | Create simple surfaces flag |
| 294 | Create closed surface flag |
| 295 | Solid flag |
| 296 | Create ruled surface flag |
| 297 | Virtual guide flag |
Revolved surface
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbRevolvedSurface |
| 90 | ID of the revolve entity |
| 90 | Size of binary data |
| 310 | Binary data |
| 10, 20, 30 | Axis point |
| 11, 21, 31 | Axis vector |
| 40 | Revolve angle (radians) |
| 41 | Start angle (radians) |
| 42 | Transform matrix of the revolved entity (16 reals, row major; default identity matrix) |
| 43 | Draft angle (radians) |
| 44 | Start draft distance |
| 45 | End draft distance |
| 46 | Twist angle (radians) |
| 290 | Solid flag |
| 291 | Close to axis flag |
Swept surface
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbSweptSurface |
| 90 | ID of the sweep entity |
| 90 | Size of binary data |
| 310 | Binary data |
| 90 | ID of the path entity |
| 90 | Size of binary data |
| 310 | Proprietary data |
| 40 | Transform matrix of the sweep entity (16 reals, row major; default identity matrix) |
| 41 | Transform matrix of the path entity (16 reals, row major; default identity matrix) |
| 42 | Draft angle (radians) |
| 43 | Draft start distance |
| 44 | Draft end distance |
| 45 | Twist angle |
| 48 | Scale factor |
| 49 | Align angle (radians) |
| 46 | Transform matrix of the sweep entity (16 reals, row major; default identity matrix) |
| 47 | Transform matrix of the path entity (16 reals, row major; default identity matrix) |
| 290 | Solid flag |
| 70 | Sweep alignment option: 0 no alignment; 1 align sweep entity to path; 2 translate sweep entity to path; 3 translate path to sweep entity |
| 292 | Align start flag |
| 293 | Bank flag |
| 294 | Base point set flag |
| 295 | Sweep entity transform computed flag |
| 296 | Path entity transform computed flag |
| 11, 21, 31 | Reference vector for controlling twist |
TABLE
The table entity is written with the entity name ACAD_TABLE.
| Code | Meaning |
|---|---|
| 0 | Entity name (ACAD_TABLE) |
| 5 | Entity handle |
| 330 | Soft-pointer ID to the owner dictionary |
| 100 | Subclass marker AcDbEntity |
| 92 | Number of bytes in the proxy entity graphics |
| 310 | Data for proxy entity graphics (multiple lines; at most 256 characters a line) |
| 100 | Subclass marker AcDbBlockReference |
| 2 | Block name; an anonymous block begins with *T |
| 10, 20, 30 | Insertion point |
| 100 | Subclass marker AcDbTable |
| 280 | Table data version number: 0 = 2010 |
| 342 | Hard-pointer ID of the TABLESTYLE object |
| 343 | Hard-pointer ID of the owning BLOCK record |
| 11, 21, 31 | Horizontal direction vector |
| 90 | Flag for table value (unsigned integer) |
| 91 | Number of rows |
| 92 | Number of columns |
| 93 | Flag for an override |
| 94 | Flag for an override of border colour |
| 95 | Flag for an override of border lineweight |
| 96 | Flag for an override of border visibility |
| 141 | Row height; one value per row |
| 142 | Column height; one value per column |
| 171 | Cell type, one value per cell: 1 text type; 2 block type |
| 172 | Cell flag value, one per cell |
| 173 | Cell merged value, one per cell |
| 174 | Boolean flag: autofit option set for the cell, one per cell |
| 175 | Cell border width (merged cells only), one per cell |
| 176 | Cell border height (merged cells), one per cell |
| 91 | Cell override flag, one per cell (from AutoCAD 2007) |
| 178 | Flag value for a virtual edge |
| 145 | Rotation value (real; for block-type and text-type cells) |
| 344 | Hard-pointer ID of the FIELD object (text-type cells only). If the cell text contains fields, only the FIELD object’s ID is saved and the text (codes 1 and 3) is ignored |
| 1 | Text string in a cell (text-type cells only; one per cell). Under 250 characters, all of it is in code 1; longer strings are split into 250-character chunks in one or more code 2 groups, and the last group is a code 1 shorter than 250 characters |
| 2 | Text string in a cell, in 250-character chunks (optional; text-type cells only; one per cell) |
| 340 | Hard-pointer ID of the block table record (block-type cells only; one per cell) |
| 144 | Block scale (real; block-type cells only; one per cell) |
| 179 | Number of attribute definitions in the block table record (block-type cells only) |
| 331 | Soft-pointer ID of the attribute definition in the block table record, counted by 179 (block-type cells only); once per attribute definition |
| 300 | Text string value for an attribute definition, once per attribute definition (block-type cells only) |
| 7 | Text style name (string); cell-level override |
| 140 | Text height; cell-level override |
| 170 | Cell alignment; cell-level override |
| 64 | Colour of cell content; cell-level override |
| 63 | Background (fill) colour of cell content; cell-level override |
| 69 | True colour of the top border of the cell; cell-level override |
| 65 | True colour of the right border; cell-level override |
| 66 | True colour of the bottom border; cell-level override |
| 68 | True colour of the left border; cell-level override |
| 279 | Lineweight of the top border of the cell; cell-level override |
| 275 | Lineweight of the right border; cell-level override |
| 276 | Lineweight of the bottom border; cell-level override |
| 278 | Lineweight of the left border; cell-level override |
| 283 | Boolean: fill colour on; cell-level override |
| 289 | Boolean: top border of the cell visible; cell-level override |
| 285 | Boolean: right border visible; cell-level override |
| 286 | Boolean: bottom border visible; cell-level override |
| 288 | Boolean: left border visible; cell-level override |
| 70 | Flow direction; table-level override |
| 40 | Horizontal cell margin; table-level override |
| 41 | Vertical cell margin; table-level override |
| 280 | Flag: title suppressed; table-level override |
| 281 | Flag: header row suppressed; table-level override |
| 7 | Text style name (string); table-level override, possibly one per cell type |
| 140 | Text height (real); table-level override, possibly one per cell type |
| 170 | Cell alignment (integer); table-level override, possibly one per cell type |
| 63 | Colour of cell background or of the vertical left border of the table; table-level override, possibly one per cell type |
| 64 | Colour of cell content or of the horizontal top border of the table; table-level override, possibly one per cell type |
| 65 | Colour of the horizontal inside border lines; table-level override |
| 66 | Colour of the horizontal bottom border lines; table-level override |
| 68 | Colour of the vertical inside border lines; table-level override |
| 69 | Colour of the vertical right border lines; table-level override |
| 283 | Background colour enabled (default 0); table-level override, possibly one per cell type: 0 disabled; 1 enabled |
| 274–279 | Lineweight for each border type of the cell (default kLnWtByBlock); table-level override, possibly one group per cell type |
| 284–289 | Visibility of each border type of the cell (default 1); table-level override, possibly one group per cell type: 0 invisible; 1 visible |
| 97 | Standard/title/header row data type |
| 98 | Standard/title/header row unit type |
| 4 | Standard/title/header row format string |
| 177 | Cell override flag value (before AutoCAD 2007) |
| 92 | Extended cell flags (from AutoCAD 2007) |
| 301 | Cell value block begin (from AutoCAD 2007) |
| 302 | Text string in a cell (text-type cells only; one per cell; from AutoCAD 2007). Under 250 characters, all of it is in code 302; longer strings are split into 250-character chunks in one or more code 303 groups |
| 303 | Text string in a cell, in 250-character chunks (optional; text-type cells only; from AutoCAD 2007) |
Group 178 marks a virtual edge, used when two cells share a grid line. In a table of one row and two columns, the middle grid line is the right edge of cell A and the left edge of cell B: one edge is real and the other virtual. The virtual edge points to the real one, and both have the same colour, lineweight and visibility.
TEXT
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbText |
| 39 | Thickness (optional; default 0) |
| 10, 20, 30 | First alignment point (OCS) |
| 40 | Text height |
| 1 | Default value (the string itself) |
| 50 | Text rotation (optional; default 0) |
| 41 | Relative X scale factor, the width (optional; default 1). Also adjusted when fit-type text is used |
| 51 | Oblique angle (optional; default 0) |
| 7 | Text style name (optional; default STANDARD) |
| 71 | Text generation flags (optional; default 0): 2 backward (mirrored in X); 4 upside down (mirrored in Y) |
| 72 | Horizontal justification (optional; default 0), not bit-coded: 0 left; 1 centre; 2 right; 3 aligned (if vertical alignment is 0); 4 middle (if vertical alignment is 0); 5 fit (if vertical alignment is 0) |
| 11, 21, 31 | Second alignment point (OCS) (optional). Meaningful only if 72 or 73 is non-zero (justification other than baseline/left) |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
| 100 | Subclass marker AcDbText |
| 73 | Vertical justification (optional; default 0), not bit-coded: 0 baseline; 1 bottom; 2 middle; 3 top |
Groups 72 and 73 together
| 73 \ 72 | 0 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|---|
| 3 (top) | TLeft | TCenter | TRight | |||
| 2 (middle) | MLeft | MCenter | MRight | |||
| 1 (bottom) | BLeft | BCenter | BRight | |||
| 0 (baseline) | Left | Center | Right | Aligned | Middle | Fit |
If 72 or 73 is non-zero, the first alignment point is ignored and AutoCAD calculates it from the second alignment point and the length and height of the text after applying the text style. If 72 and 73 are zero or missing, the second alignment point is meaningless.
TOLERANCE
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbFcf |
| 3 | Dimension style name |
| 10, 20, 30 | Insertion point (WCS) |
| 1 | String giving the visual representation of the tolerance |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
| 11, 21, 31 | X-axis direction vector (WCS) |
TRACE
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbTrace |
| 10, 20, 30 | First corner (OCS) |
| 11, 21, 31 | Second corner (OCS) |
| 12, 22, 32 | Third corner (OCS) |
| 13, 23, 33 | Fourth corner (OCS) |
| 39 | Thickness (optional; default 0) |
| 210, 220, 230 | Extrusion direction (optional; default 0, 0, 1) |
UNDERLAY
These codes are shared by DGNUNDERLAY, DWFUNDERLAY and PDFUNDERLAY; only the group 0 name differs.
| Code | Meaning |
|---|---|
| 0 | Object name: DGNUNDERLAY attached DGN file; DWFUNDERLAY attached DWF file; PDFUNDERLAY attached PDF file |
| 100 | Subclass marker AcDbUnderlayReference |
| 340 | ID of the AcDbUnderlayDefinition object |
| 10, 20, 30 | Insertion point of the underlay (OCS/ECS) |
| 41, 42, 43 | X, Y and Z scale factors |
| 50 | Rotation angle (in OCS/ECS, anticlockwise from the X axis, around the Z axis) |
| 210, 220, 230 | Normal vector (WCS) |
| 280 | Flags: 1 clipping is on; 2 underlay is on; 4 monochrome; 8 adjust for background; 16 clip is inside mode |
| 281 | Contrast (20 to 100) |
| 282 | Fade (0 to 80) |
| 11, 21 | Repeating 2D points (OCS/ECS). Two points are the lower-left and upper-right corners of a clip rectangle; more than two are the vertices of a clipping polygon |
VERTEX
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbVertex |
| 100 | Subclass marker AcDb2dVertex or AcDb3dPolylineVertex |
| 10, 20, 30 | Location point (OCS when 2D, WCS when 3D) |
| 40 | Starting width (optional; default 0) |
| 41 | Ending width (optional; default 0) |
| 42 | Bulge (optional; default 0): the tangent of a quarter of the included angle of an arc segment, negative if the arc runs clockwise from start point to end point. 0 is a straight segment and 1 a semicircle |
| 70 | Vertex flags: 1 extra vertex created by curve-fitting 2 curve-fit tangent defined for this vertex (a tangent direction of 0 may be left out of DXF output but matters if this bit is set) 4 not used 8 spline vertex created by spline-fitting 16 spline frame control point 32 3D polyline vertex 64 3D polygon mesh 128 polyface mesh vertex |
| 50 | Curve fit tangent direction |
| 71 | Polyface mesh vertex index (optional; present only if non-zero) |
| 72 | Polyface mesh vertex index (optional; present only if non-zero) |
| 73 | Polyface mesh vertex index (optional; present only if non-zero) |
| 74 | Polyface mesh vertex index (optional; present only if non-zero) |
| 91 | Vertex identifier |
Every vertex of a polyface mesh has the 128 bit set. A vertex that gives a coordinate of the mesh also has the 64 bit set, and its 10, 20, 30 groups hold the coordinate. Vertices are numbered in the order they appear in the polyline, starting at 1.
A vertex that defines a face has the 128 bit set but not the 64 bit. Its 10, 20, 30 groups are irrelevant and always written as 0. Groups 71, 72, 73 and 74 give the indexes of earlier vertices that make up the face. A negative index makes the edge that begins at that vertex invisible. The first 0 index ends the face’s vertices.
VIEWPORT
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbViewport |
| 10, 20, 30 | Centre point (WCS) |
| 40 | Width in paper space units |
| 41 | Height in paper space units |
| 68 | Viewport status: −1 on, but fully off screen or not active because the $MAXACTVP count is exceeded; 0 off; a positive value means on and active, giving the stacking order (1 is the active viewport, 2 the next and so on) |
| 69 | Viewport ID |
| 12, 22 | View centre point (DCS), 2D |
| 13, 23 | Snap base point, 2D |
| 14, 24 | Snap spacing, 2D |
| 15, 25 | Grid spacing, 2D |
| 16, 26, 36 | View direction vector (WCS) |
| 17, 27, 37 | View target point (WCS) |
| 42 | Perspective lens length |
| 43 | Front clip plane Z value |
| 44 | Back clip plane Z value |
| 45 | View height (model space units) |
| 50 | Snap angle |
| 51 | View twist angle |
| 72 | Circle zoom percent |
| 331 | Frozen layer object ID/handle (may repeat) (optional) |
| 90 | Viewport status flags (bit-coded): 1 (0x1) perspective mode 2 (0x2) front clipping 4 (0x4) back clipping 8 (0x8) UCS follow 16 (0x10) front clip not at eye 32 (0x20) UCS icon visibility 64 (0x40) UCS icon at origin 128 (0x80) fast zoom 256 (0x100) snap mode 512 (0x200) grid mode 1024 (0x400) isometric snap style 2048 (0x800) hide plot mode 4096 (0x1000) kIsoPairTop: if set and kIsoPairRight is not, isopair top is enabled; if both are set, isopair left is enabled 8192 (0x2000) kIsoPairRight: if set and kIsoPairTop is not, isopair right is enabled 16384 (0x4000) viewport zoom locking 32768 (0x8000) currently always enabled 65536 (0x10000) non-rectangular clipping 131072 (0x20000) turns the viewport off 262144 (0x40000) grid shown beyond the drawing limits 524288 (0x80000) adaptive grid display 1048576 (0x100000) grid subdivided below the set spacing when the grid display is adaptive 2097152 (0x200000) grid follows workplane switching |
| 340 | Hard-pointer ID/handle to the entity that serves as the clipping boundary (only if the viewport is non-rectangular) |
| 1 | Plot style sheet name assigned to this viewport |
| 281 | Render mode: 0 2D optimised (classic 2D); 1 wireframe; 2 hidden line; 3 flat shaded; 4 Gouraud shaded; 5 flat shaded with wireframe; 6 Gouraud shaded with wireframe. All modes other than 2D optimised use the 3D graphics pipeline; the values match the SHADEMODE command and the AcDbAbstractViewTableRecord::RenderMode enum |
| 71 | UCS per viewport flag: 0 the UCS does not change when this viewport becomes active; 1 the viewport stores its own UCS, which becomes current whenever the viewport is activated |
| 74 | Display UCS icon at UCS origin flag: whether the icon shows the viewport UCS or the current UCS (different if UCSVP is 1 and the viewport is not active). Currently ignored: the icon always shows the viewport UCS |
| 110, 120, 130 | UCS origin |
| 111, 121, 131 | UCS X axis |
| 112, 122, 132 | UCS Y axis |
| 345 | ID/handle of the AcDbUCSTableRecord if the UCS is a named UCS. If absent, the UCS is unnamed |
| 346 | ID/handle of the AcDbUCSTableRecord of the base UCS if the UCS is orthographic (79 non-zero). If absent and 79 is non-zero, the base UCS is WORLD |
| 79 | Orthographic type of UCS: 0 not orthographic; 1 top; 2 bottom; 3 front; 4 back; 5 left; 6 right |
| 146 | Elevation |
| 170 | ShadePlot mode: 0 as displayed; 1 wireframe; 2 hidden; 3 rendered |
| 61 | Frequency of major grid lines compared with minor grid lines |
| 332 | Background ID/handle (optional) |
| 333 | Shade plot ID/handle (optional) |
| 348 | Visual style ID/handle (optional) |
| 292 | Default lighting flag; on when no user lights are specified |
| 282 | Default lighting type: 0 one distant light; 1 two distant lights |
| 141 | View brightness |
| 142 | View contrast |
| 63, 421, 431 | Ambient light colour; written only if not black |
| 361 | Sun ID/handle (optional) |
| 335 | Soft-pointer reference to viewport object (for layer VP property override) |
| 343 | Soft-pointer reference to viewport object (for layer VP property override) |
| 344 | Soft-pointer reference to viewport object (for layer VP property override) |
| 91 | Soft-pointer reference to viewport object (for layer VP property override) |
The ZOOM XP factor is group 41 ÷ group 45 (paper space height ÷ model space height).
WIPEOUT
WIPEOUT uses the same subclass and codes as IMAGE, without the clip mode (290).
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbRasterImage |
| 90 | Class version |
| 10, 20, 30 | Insertion point (WCS) |
| 11, 21, 31 | U-vector of a single pixel, along the visual bottom of the image from the insertion point (WCS) |
| 12, 22, 32 | V-vector of a single pixel, along the visual left side of the image from the insertion point (WCS) |
| 13, 23 | Image size in pixels: U value, V value |
| 340 | Hard reference to the IMAGEDEF object |
| 70 | Image display properties: 1 show image; 2 show image when not aligned with screen; 4 use clipping boundary; 8 transparency is on |
| 280 | Clipping state: 0 off; 1 on |
| 281 | Brightness, 0–100 (default 50) |
| 282 | Contrast, 0–100 (default 50) |
| 283 | Fade, 0–100 (default 0) |
| 360 | Hard reference to the IMAGEDEF_REACTOR object |
| 71 | Clipping boundary type: 1 rectangular; 2 polygonal |
| 91 | Number of clip boundary vertices that follow |
| 14, 24 | Clip boundary vertex (OCS), 2D (multiple entries). A rectangular boundary needs two opposite corners, by default (−0.5, −0.5) and (size.x − 0.5, size.y − 0.5); a polygonal boundary needs three or more vertices, listed in order |
XLINE
| Code | Meaning |
|---|---|
| 100 | Subclass marker AcDbXline |
| 10, 20, 30 | First point (WCS) |
| 11, 21, 31 | Unit direction vector (WCS) |
Not confirmed
The text of the reference runs table columns together in places. These points were worked out from the order of the text, or are printed oddly in the reference itself:
- MLEADER common codes: the pairing of 91 (leader line colour), 41 and 342 (dogleg length, arrowhead ID), 172, 343 and 173 (content type, text style ID, text left attachment type) and 175 and 92 (text alignment type, text colour) is taken from the order of the extracted text.
- LIGHT: 90 version number, 1 light name and 70 light type are likewise paired by order.
- OLE2FRAME group 3 is described as “Length of binary data”, but the reference’s own sample holds a description string there.
- HELIX lists “Spline data” before
AcDbHelixwithout a group code; lofted surfaces list entity data for cross sections, guide curves and path curves the same way. - TABLE codes 302 and 303: the reference says the last chunk “is a code 1” and mentions “code 393”, which look like misprints; they are left out above.
- HATCH 460 and 462 give their default as “0, 0”, as printed.
- The reference does not label which of its two point descriptions belongs to which angular dimension, or which radial description is radius and which diameter.