DIMSTYLE Table

The DIMSTYLE table stores all dimension style definitions of a DXF drawing.

You have access to the dimension styles table by the attribute Drawing.dimstyles.

See also

Table Structure DXF R12

0           <<< start of table
TABLE
2           <<< set table type
DIMSTYLE
70          <<< count of line types defined in this table, AutoCAD ignores this value
9
0           <<< 1. DIMSTYLE table entry
DIMSTYLE
            <<< DIMSTYLE data tags
0           <<< 2. DIMSTYLE table entry
DIMSTYLE
            <<< DIMSTYLE data tags and so on
0           <<< end of DIMSTYLE table
ENDTAB

DIMSTYLE Entry DXF R12

DIMSTYLE Variables DXF R12

Source: CADDManger Blog

../../_images/dimvars1.svg ../../_images/dimvars2.svg

DIMVAR

Code

Description

DIMALT

170

Controls the display of alternate units in dimensions.

DIMALTD

171

Controls the number of decimal places in alternate units. If DIMALT is turned on, DIMALTD sets the number of digits displayed to the right of the decimal point in the alternate measurement.

DIMALTF

143

Controls the multiplier for alternate units. If DIMALT is turned on, DIMALTF multiplies linear dimensions by a factor to produce a value in an alternate system of measurement. The initial value represents the number of millimeters in an inch.

DIMAPOST

4

Specifies a text prefix or suffix (or both) to the alternate dimension measurement for all types of dimensions except angular. For instance, if the current units are Architectural, DIMALT is on, DIMALTF is 25.4 (the number of millimeters per inch), DIMALTD is 2, and DIMPOST is set to “mm”, a distance of 10 units would be displayed as 10”[254.00mm].

DIMASZ

41

Controls the size of dimension line and leader line arrowheads. Also controls the size of hook lines. Multiples of the arrowhead size determine whether dimension lines and text should fit between the extension lines. DIMASZ is also used to scale arrowhead blocks if set by DIMBLK. DIMASZ has no effect when DIMTSZ is other than zero.

DIMBLK

5

Sets the arrowhead block displayed at the ends of dimension lines.

DIMBLK1

6

Sets the arrowhead for the first end of the dimension line when DIMSAH is 1.

DIMBLK2

7

Sets the arrowhead for the second end of the dimension line when DIMSAH is 1.

DIMCEN

141

Controls drawing of circle or arc center marks and centerlines by the DIMCENTER, DIMDIAMETER, and DIMRADIUS commands. For DIMDIAMETER and DIMRADIUS, the center mark is drawn only if you place the dimension line outside the circle or arc.

  • 0 = No center marks or lines are drawn

  • <0 = Centerlines are drawn

  • >0 = Center marks are drawn

DIMCLRD

176

Assigns colors to dimension lines, arrowheads, and dimension leader lines.

  • 0 = BYBLOCK

  • 1-255 = ACI AutoCAD Color Index

  • 256 = BYLAYER

DIMCLRE

177

Assigns colors to dimension extension lines, values like DIMCLRD

DIMCLRT

178

Assigns colors to dimension text, values like DIMCLRD

DIMDLE

46

Sets the distance the dimension line extends beyond the extension line when oblique strokes are drawn instead of arrowheads.

DIMDLI

43

Controls the spacing of the dimension lines in baseline dimensions. Each dimension line is offset from the previous one by this amount, if necessary, to avoid drawing over it. Changes made with DIMDLI are not applied to existing dimensions.

DIMEXE

44

Specifies how far to extend the extension line beyond the dimension line.

DIMEXO

42

Specifies how far extension lines are offset from origin points. With fixed-length extension lines, this value determines the minimum offset.

DIMGAP

147

Sets the distance around the dimension text when the dimension line breaks to accommodate dimension text. Also sets the gap between annotation and a hook line created with the LEADER command. If you enter a negative value, DIMGAP places a box around the dimension text.

DIMGAP is also used as the minimum length for pieces of the dimension line. When the default position for the dimension text is calculated, text is positioned inside the extension lines only if doing so breaks the dimension lines into two segments at least as long as DIMGAP. Text placed above or below the dimension line is moved inside only if there is room for the arrowheads, dimension text, and a margin between them at least as large as DIMGAP: 2 * (DIMASZ + DIMGAP).

DIMLFAC

144

Sets a scale factor for linear dimension measurements. All linear dimension distances, including radii, diameters, and coordinates, are multiplied by DIMLFAC before being converted to dimension text. Positive values of DIMLFAC are applied to dimensions in both modelspace and paperspace; negative values are applied to paperspace only.

DIMLFAC applies primarily to nonassociative dimensions (DIMASSOC set 0 or 1). For nonassociative dimensions in paperspace, DIMLFAC must be set individually for each layout viewport to accommodate viewport scaling.

DIMLFAC has no effect on angular dimensions, and is not applied to the values held in DIMRND, DIMTM, or DIMTP.

DIMLIM

72

Generates dimension limits as the default text. Setting DIMLIM to On turns DIMTOL off.

  • 0 = Dimension limits are not generated as default text

  • 1 = Dimension limits are generated as default text

DIMPOST

3

Specifies a text prefix or suffix (or both) to the dimension measurement.

For example, to establish a suffix for millimeters, set DIMPOST to mm; a distance of 19.2 units would be displayed as 19.2 mm. If tolerances are turned on, the suffix is applied to the tolerances as well as to the main dimension.

Use “<>” to indicate placement of the text in relation to the dimension value. For example, enter “<>mm” to display a 5.0 millimeter radial dimension as “5.0mm”. If you entered mm “<>”, the dimension would be displayed as “mm 5.0”.

DIMRND

45

Rounds all dimensioning distances to the specified value.

For instance, if DIMRND is set to 0.25, all distances round to the nearest 0.25 unit. If you set DIMRND to 1.0, all distances round to the nearest integer. Note that the number of digits edited after the decimal point depends on the precision set by DIMDEC. DIMRND does not apply to angular dimensions.

DIMSAH

173

Controls the display of dimension line arrowhead blocks.

  • 0 = Use arrowhead blocks set by DIMBLK

  • 1 = Use arrowhead blocks set by DIMBLK1 and DIMBLK2

DIMSCALE

40

Sets the overall scale factor applied to dimensioning variables that specify sizes, distances, or offsets. Also affects the leader objects with the LEADER command.

Use MLEADERSCALE to scale multileader objects created with the MLEADER command.

  • 0.0 = A reasonable default value is computed based on the scaling between the current model space viewport and paperspace. If you are in paperspace or modelspace and not using the paperspace feature, the scale factor is 1.0.

  • >0 = A scale factor is computed that leads text sizes, arrowhead sizes, and other scaled distances to plot at their face values.

DIMSCALE does not affect measured lengths, coordinates, or angles.

Use DIMSCALE to control the overall scale of dimensions. However, if the current dimension style is annotative, DIMSCALE is automatically set to zero and the dimension scale is controlled by the CANNOSCALE system variable. DIMSCALE cannot be set to a non-zero value when using annotative dimensions.

DIMSE1

75

Suppresses display of the first extension line.

  • 0 = Extension line is not suppressed

  • 1 = Extension line is suppressed

DIMSE2

76

Suppresses display of the second extension line.

  • 0 = Extension line is not suppressed

  • 1 = Extension line is suppressed

DIMSOXD

175

Suppresses arrowheads if not enough space is available inside the extension lines.

  • 0 = Arrowheads are not suppressed

  • 1 = Arrowheads are suppressed

If not enough space is available inside the extension lines and DIMTIX is on, setting DIMSOXD to On suppresses the arrowheads. If DIMTIX is off, DIMSOXD has no effect.

DIMTAD

77

Controls the vertical position of text in relation to the dimension line.

  • 0 = Centers the dimension text between the extension lines.

  • 1 = Places the dimension text above the dimension line except when the dimension line is not horizontal and text inside the extension lines is forced horizontal (DIMTIH = 1). The distance from the dimension line to the baseline of the lowest line of text is the current DIMGAP value.

  • 2 = Places the dimension text on the side of the dimension line farthest away from the defining points.

  • 3 = Places the dimension text to conform to Japanese Industrial Standards (JIS).

  • 4 = Places the dimension text below the dimension line.

DIMTFAC

146

Specifies a scale factor for the text height of fractions and tolerance values relative to the dimension text height, as set by DIMTXT.

For example, if DIMTFAC is set to 1.0, the text height of fractions and tolerances is the same height as the dimension text. If DIMTFAC is set to 0.7500, the text height of fractions and tolerances is three-quarters the size of dimension text.

DIMTIH

73

Controls the position of dimension text inside the extension lines for all dimension types except Ordinate.

  • 0 = Aligns text with the dimension line

  • 1 = Draws text horizontally

DIMTIX

174

Draws text between extension lines.

  • 0 = Varies with the type of dimension. For linear and angular dimensions, text is placed inside the extension lines if there is sufficient room. For radius and diameter dimensions hat don’t fit inside the circle or arc, DIMTIX has no effect and always forces the text outside the circle or arc.

  • 1 = Draws dimension text between the extension lines even if it would ordinarily be placed outside those lines

DIMTM

48

Sets the minimum (or lower) tolerance limit for dimension text when DIMTOL or DIMLIM is on. DIMTM accepts signed values. If DIMTOL is on and DIMTP and DIMTM are set to the same value, a tolerance value is drawn. If DIMTM and DIMTP values differ, the upper tolerance is drawn above the lower, and a plus sign is added to the DIMTP value if it is positive. For DIMTM, the program uses the negative of the value you enter (adding a minus sign if you specify a positive number and a plus sign if you specify a negative number).

DIMTOFL

172

Controls whether a dimension line is drawn between the extension lines even when the text is placed outside. For radius and diameter dimensions (when DIMTIX is off), draws a dimension line inside the circle or arc and places the text, arrowheads, and leader outside.

  • 0 = Does not draw dimension lines between the measured points when arrowheads are placed outside the measured points

  • 1 = Draws dimension lines between the measured points even when arrowheads are placed outside the measured points

DIMTOH

74

Controls the position of dimension text outside the extension lines.

  • 0 = Aligns text with the dimension line

  • 1 = Draws text horizontally

DIMTOL

71

Appends tolerances to dimension text. Setting DIMTOL to on turns DIMLIM off.

DIMTP

47

Sets the maximum (or upper) tolerance limit for dimension text when DIMTOL or DIMLIM is on. DIMTP accepts signed values. If DIMTOL is on and DIMTP and DIMTM are set to the same value, a tolerance value is drawn. If DIMTM and DIMTP values differ, the upper tolerance is drawn above the lower and a plus sign is added to the DIMTP value if it is positive.

DIMTSZ

142

Specifies the size of oblique strokes drawn instead of arrowheads for linear, radius, and diameter dimensioning.

  • 0 = Draws arrowheads.

  • >0 = Draws oblique strokes instead of arrowheads. The size of the oblique strokes is determined by this value multiplied by the DIMSCALE value

DIMTVP

145

Controls the vertical position of dimension text above or below the dimension line. The DIMTVP value is used when DIMTAD = 0. The magnitude of the vertical offset of text is the product of the text height and DIMTVP. Setting DIMTVP to 1.0 is equivalent to setting DIMTAD = 1. The dimension line splits to accommodate the text only if the absolute value of DIMTVP is less than 0.7.

DIMTXT

140

Specifies the height of dimension text, unless the current text style has a fixed height.

DIMZIN

78

Controls the suppression of zeros in the primary unit value. Values 0-3 affect feet-and-inch dimensions only:

  • 0 = Suppresses zero feet and precisely zero inches

  • 1 = Includes zero feet and precisely zero inches

  • 2 = Includes zero feet and suppresses zero inches

  • 3 = Includes zero inches and suppresses zero feet

  • 4 (Bit 3) = Suppresses leading zeros in decimal dimensions (for example, 0.5000 becomes .5000)

  • 8 (Bit 4) = Suppresses trailing zeros in decimal dimensions (for example, 12.5000 becomes 12.5)

  • 12 (Bit 3+4) = Suppresses both leading and trailing zeros (for example, 0.5000 becomes .5)

Table Structure DXF R2000+

0           <<< start of table
TABLE
2           <<< set table type
DIMSTYLE
5           <<< DIMSTYLE table handle
5F
330         <<< owner tag, tables has no owner
0
100         <<< subclass marker
AcDbSymbolTable
70          <<< count of dimension styles defined in this table, AutoCAD ignores this value
9
0           <<< 1. DIMSTYLE table entry
DIMSTYLE
            <<< DIMSTYLE data tags
0           <<< 2. DIMSTYLE table entry
DIMSTYLE
            <<< DIMSTYLE data tags and so on
0           <<< end of DIMSTYLE table
ENDTAB

Additional DIMSTYLE Variables DXF R13/14

Source: CADDManger Blog

DIMVAR

code

Description

DIMADEC

179

Controls the number of precision places displayed in angular dimensions.

DIMALTTD

274

Sets the number of decimal places for the tolerance values in the alternate units of a dimension.

DIMALTTZ

286

Controls suppression of zeros in tolerance values.

DIMALTU

273

Sets the units format for alternate units of all dimension substyles except Angular.

DIMALTZ

285

Controls the suppression of zeros for alternate unit dimension values. DIMALTZ values 0-3 affect feet-and-inch dimensions only.

DIMAUNIT

275

Sets the units format for angular dimensions.

  • 0 = Decimal degrees

  • 1 = Degrees/minutes/seconds

  • 2 = Grad

  • 3 = Radians

DIMBLK_HANDLE

342

defines DIMBLK as handle to the BLOCK RECORD entry

DIMBLK1_HANDLE

343

defines DIMBLK1 as handle to the BLOCK RECORD entry

DIMBLK2_HANDLE

344

defines DIMBLK2 as handle to the BLOCK RECORD entry

DIMDEC

271

Sets the number of decimal places displayed for the primary units of a dimension. The precision is based on the units or angle format you have selected.

DIMDSEP

278

Specifies a single-character decimal separator to use when creating dimensions whose unit format is decimal. When prompted, enter a single character at the Command prompt. If dimension units is set to Decimal, the DIMDSEP character is used instead of the default decimal point. If DIMDSEP is set to NULL (default value, reset by entering a period), the decimal point is used as the dimension separator.

DIMJUST

280

Controls the horizontal positioning of dimension text.

  • 0 = Positions the text above the dimension line and center-justifies it between the extension lines

  • 1 = Positions the text next to the first extension line

  • 2 = Positions the text next to the second extension line

  • 3 = Positions the text above and aligned with the first extension line

  • 4 = =Positions the text above and aligned with the second extension line

DIMSD1

281

Controls suppression of the first dimension line and arrowhead. When turned on, suppresses the display of the dimension line and arrowhead between the first extension line and the text.

  • 0 = First dimension line is not suppressed

  • 1 = First dimension line is suppressed

DIMSD2

282

Controls suppression of the second dimension line and arrowhead. When turned on, suppresses the display of the dimension line and arrowhead between the second extension line and the text.

  • 0 = Second dimension line is not suppressed

  • 1 = Second dimension line is suppressed

DIMTDEC

272

Sets the number of decimal places to display in tolerance values for the primary units in a dimension. This system variable has no effect unless DIMTOL is set to On. The default for DIMTOL is Off.

DIMTOLJ

283

Sets the vertical justification for tolerance values relative to the nominal dimension text. This system variable has no effect unless DIMTOL is set to On. The default for DIMTOL is Off.

  • 0 = Bottom

  • 1 = Middle

  • 2 = Top

DIMTXSTY_HANDLE

340

Specifies the text style of the dimension as handle to STYLE table entry

DIMTZIN

284

Controls the suppression of zeros in tolerance values.

Values 0-3 affect feet-and-inch dimensions only.

  • 0 = Suppresses zero feet and precisely zero inches

  • 1 = Includes zero feet and precisely zero inches

  • 2 = Includes zero feet and suppresses zero inches

  • 3 = Includes zero inches and suppresses zero feet

  • 4 = Suppresses leading zeros in decimal dimensions (for example, 0.5000 becomes .5000)

  • 8 = Suppresses trailing zeros in decimal dimensions (for example, 12.5000 becomes 12.5)

  • 12 = Suppresses both leading and trailing zeros (for example, 0.5000 becomes .5)

DIMUPT

288

Controls options for user-positioned text.

  • 0 = Cursor controls only the dimension line location

  • 1 = Cursor controls both the text position and the dimension line location

Additional DIMSTYLE Variables DXF R2000

Source: CADDManger Blog

DIMVAR

Code

Description

DIMALTRND

148

Rounds off the alternate dimension units.

DIMATFIT

289

Determines how dimension text and arrows are arranged when space is not sufficient to place both within the extension lines.

  • 0 = Places both text and arrows outside extension lines

  • 1 = Moves arrows first, then text

  • 2 = Moves text first, then arrows

  • 3 = Moves either text or arrows, whichever fits best

A leader is added to moved dimension text when DIMTMOVE is set to 1.

DIMAZIN

79

Suppresses zeros for angular dimensions.

  • 0 = Displays all leading and trailing zeros

  • 1 = Suppresses leading zeros in decimal dimensions (for example, 0.5000 becomes .5000)

  • 2 = Suppresses trailing zeros in decimal dimensions (for example, 12.5000 becomes 12.5)

  • 3 = Suppresses leading and trailing zeros (for example, 0.5000 becomes .5)

DIMFRAC

276

Sets the fraction format when DIMLUNIT is set to 4 (Architectural) or 5 (Fractional).

  • 0 = Horizontal stacking

  • 1 = Diagonal stacking

  • 2 = Not stacked (for example, 1/2)

DIMLDRBLK_HANDLE

341

Specifies the arrow type for leaders. Handle to BLOCK RECORD

DIMLUNIT

277

Sets units for all dimension types except Angular.

  • 1 = Scientific

  • 2 = Decimal

  • 3 = Engineering

  • 4 = Architectural (always displayed stacked)

  • 5 = Fractional (always displayed stacked)

  • 6 = Microsoft Windows Desktop (decimal format using Control Panel settings for decimal separator and number grouping symbols)

DIMLWD

371

Assigns lineweight to dimension lines.

  • -3 = Default (the LWDEFAULT value)

  • -2 = BYBLOCK

  • -1 = BYLAYER

DIMLWE

372

Assigns lineweight to extension lines.

  • -3 = Default (the LWDEFAULT value)

  • -2 = BYBLOCK

  • -1 = BYLAYER

DIMTMOVE

279

Sets dimension text movement rules.

  • 0 = Moves the dimension line with dimension text

  • 1 = Adds a leader when dimension text is moved

  • 2 = Allows text to be moved freely without a leader

Text Location

This image shows the default text locations created by BricsCAD for dimension variables dimtad and dimjust:

../../_images/dimtad-dimjust.svg

Unofficial DIMSTYLE Variables for DXF R2007 and later

The following DIMVARS are not documented in the DXF Reference by Autodesk.

DIMVAR

Code

Description

DIMTFILL

69

Text fill 0=off; 1=background color; 2=custom color (see DIMTFILLCLR)

DIMTFILLCLR

70

Text fill custom color as color index

DIMFXLON

290

Extension line has fixed length if set to 1

DIMFXL

49

Length of extension line below dimension line if fixed (DIMFXLON is 1), DIMEXE defines the the length above the dimension line

DIMJOGANG

50

Angle of oblique dimension line segment in jogged radius dimension

DIMLTYPE_HANDLE

345

Specifies the LINETYPE of the dimension line. Handle to LTYPE table entry

DIMLTEX1_HANDLE

346

Specifies the LINETYPE of the extension line 1. Handle to LTYPE table entry

DIMLTEX2_HANDLE

347

Specifies the LINETYPE of the extension line 2. Handle to LTYPE table entry

Extended Settings as Special XDATA Groups

Prior to DXF R2007, some extended settings for the dimension and the extension lines are stored in the XDATA section by following entries, this is not documented by Autodesk:

1001
ACAD_DSTYLE_DIM_LINETYPE        <<< linetype for dimension line
1070
380                             <<< group code, which differs from R2007 DIMDLTYPE
1005
FFFF                            <<< handle to LTYPE entry
1001
ACAD_DSTYLE_DIM_EXT1_LINETYPE   <<< linetype for extension line 1
1070
381                             <<< group code, which differs from R2007 DIMLTEX1
1005
FFFF                            <<< handle to LTYPE entry
1001
ACAD_DSTYLE_DIM_EXT2_LINETYPE   <<< linetype for extension line 1
1070
382                             <<< group code, which differs from R2007 DIMLTEX2
1005
FFFF                            <<< handle to LTYPE entry
1001
ACAD_DSTYLE_DIMEXT_ENABLED      <<< extension line fixed
1070
383                             <<< group code, which differs from R2007 DIMEXFIX
1070
1                               <<< fixed if 1 else 0
1001
ACAD_DSTYLE_DIMEXT_LENGTH       <<< extension line fixed length
1070
378                             <<< group code, which differs from R2007 DIMEXLEN
1040
1.33                            <<< length of extension line below dimension line

This XDATA groups requires also an appropriate APPID entry in the APPID table. This feature is not supported by ezdxf.