Detailed Description

struct A3DMDDimensionSimpleToleranceFormatData

Structure that describes dimension tolerance format.


for member m_iType:

  • 1: Numerical side by side,

  • 2: Numerical super-imposed,

  • 3: Resolved numerical side by side,

  • 4: Resolved numerical super-imposed,

  • 5: Alphanumerical single value,

  • 6: Alphanumerical side by side,

  • 7: Alphanumerical super-imposed.


for member m_dSymbolH: Ratio between separator character and value text font sizes


for member m_iTrailing: Display of tolerance trailing zeros. This value is composed of a control bit and the actual value

  • m_iTrailing & ~kA3DMDTrailingToleranceConsistentDigitsMask == 0: Display (number of digits specified in the value precision),

  • m_iTrailing & ~kA3DMDTrailingToleranceConsistentDigitsMask == 1: No Display,

  • m_iTrailing & ~kA3DMDTrailingToleranceConsistentDigitsMask == 2: Same “display” mode as the dimension value

  • In case of separate values for numerical tolerances (m_iType = 1 or 2 and m_iMergeSame = 2), the m_iTrailing control bit (whose value is obtained through kA3DMDTrailingToleranceConsistentDigitsMask) indicates if the number of digits between the ‘plus’ and ‘minus’ tolerances is consistent or not. Concretely, it means that one of the tolerances will still have some trailing zeros.

    For example, if m_iTrailing & kA3DMDTrailingToleranceConsistentDigitsMask == kA3DMDTrailingToleranceConsistentDigitsMask and m_iTrailing & ~kA3DMDTrailingToleranceConsistentDigitsMask == 1, the annotation 12.34567(+0.01000; -0.10000) is displayed as 12.34567(+0.01; 0.10) while it would have been displayed as 12.34567(+0.01; 0.1) if m_iTrailing & kA3DMDTrailingToleranceConsistentDigitsMask == 0


for member m_iFractLine:

  • 1: No fraction line,

  • 2: Fraction line.


for member m_iPtOnValue:

  • 7: Top,

  • 8: Middle,

  • 9: Bottom.


for member m_iAnchorPt:

  • 1: Top,

  • 2: Middle,

  • 3: Bottom.


for member m_iMergeSame:

  • 1: Display common value,

  • 2: Display separate values.


for member m_iShowNull: for numerical tolerances only and

  • 1: Display null value with sign,

  • 2: Display null value without sign,

  • 3: No display of null value.

Public Members

A3DUTF8Char *m_pcName

Name of the tolerance format.

A3DInt32 m_iType

Tolerance format type : 1 = Numerical side by side, 2 = Numerical super-imposed 3 = Resolved Numerical side by side, 4 = Resolved numerical super-imposed 5 =Alphanumerical Single Value, 6 = Alphanumerical side by side, 7 = Alphanumerical super-imposed

A3DInt32 m_iSepar_1

Separators for super-imposed tolerances.

A3DInt32 m_iSepar_2

Separators for super-imposed tolerances.

A3DDouble m_dSymbolH

Separator character size.

A3DInt32 m_iSepTo_1

Separators for side-by-side tolerances.

A3DInt32 m_iSepTo_2

Separators for side-by-side tolerances.

A3DInt32 m_iSepTo_3

Separators for side-by-side tolerances.

A3DInt32 m_iTrailing

Trailing 0 display.

A3DInt32 m_iFractLine

Fraction line.

A3DInt32 m_iPtOnValue

Tolerance position anchor point (for offset computing).

A3DInt32 m_iAnchorPt

Anchor position.

A3DDouble m_dIntX

Offset between the 2 tolerance values: X value.

A3DDouble m_dIntY

Offset between the 2 tolerance values: Y value.

A3DDouble m_dExtX

Offset between dimension value and tolerance: X value.

A3DDouble m_dExtY

Offset between dimension value and tolerance: Y value.

A3DInt32 m_iMergeSame

Display of identical tolerance values (for numerical tolerances only).

A3DInt32 m_iShowNull

Display of null tolerance values.

A3DDouble m_dScale