Drawings SDK Developer Guide > Working with .dwg Files > Working with Entities > Working with Specific Entitites > Working with Dimensions > Overview of Dimensions > Overview of Diametric Dimensions
Overview of Diametric Dimensions

Diametric dimensions measure and represent the diameter of a circle, circular arc, or polyline arc segment as a dimension entity in primary and alternate units. To define the placement, the diametric dimension entity requires the chord point on the circle or arc to which the dimension lines are drawn, an opposite chord point that defines the circle or arc to be measured, a text point that defines the location of the dimension text box, and the normal which orients a dimension in WCS. The circle or arc to be measured is the definition circle or definition arc.

A diametric dimension entity can be rotated, scaled, and oriented in WCS. Additionally, the center of a diametric dimension entity can be marked.

Elements of the diametric dimension

A diametric dimension entity consists of the following elements:

  • Two dimension lines — Straight lines that pass through the chord point, far chord point, or center point, and can be placed inside or outside of the definition circle or arc. When dimension lines are placed inside, they are drawn directly from the center to the chord points. When dimension lines are placed outside, they are drawn from the outside to the chord points, and can be connected with a forced line or can be open-ended. The first dimension line is drawn to the chord point and can have a leader line in the beginning that connects the dimension line to the dimension text box (when it is not aligned). The second dimension line is drawn to the far chord point or can be absent. Both dimension lines have color, lineweight, and linetype independent of the entity's properties. Each dimension line has its own visibility setting and arrowhead. Each arrowhead can be set from the fixed list of arrowhead types or can be defined by a block. Both arrowheads are the same size.
  • Dimension text box — A linear structure that contains the required primary text box, optional alternate measured value, optional primary and alternate tolerance value, optional primary and alternate prefix, and optional primary and alternate suffix. The dimension text box can be centered relative to the dimension line or placed above the dimension line, aligned horizontally or along the dimension line, offset from the dimension line or leader line, rotated, or scaled.
  • Optional leader line — If the dimension text box is not placed along the dimension line, the leader line is drawn from the beginning of the dimension line to the dimension text box margin. If the dimension text box is placed along the dimension line, the leader line is not drawn.

The common structure of a diametric dimension entity is defined by the text movement and text position relative to the definition circle or arc (inside or outside).

Text movement

Dimension text can be moved, but the result can vary depending on the Dimtmove value. Dimtmove can be set to the following values:

  • 0 — If set to 0, dimension lines and the dimension text box move together, and the center of the dimension text box defines the text point.
  • 1 — If set to 1, dimension lines and the dimension text box move independently and are connected with a leader, and the beginning of the first dimension line defines the text point.

    In both cases (0 and 1), the dimension text box is placed next to the dimension line. If the dimension text box moves, the dimension lines rotate around the center point towards the text point, and vice versa, if the dimension lines rotate along the circle or arc, the dimension text box also moves with it. When the dimension text box moves from inside to outside (or outside to inside) of a circle or arc, the dimension lines are redrawn automatically from the text point to the chord points.

    When the dimension text box is placed inside of the definition circle or arc, the first and second dimension lines are drawn together from the center to the first chord point (they overlap in the same location).

    When the dimension text box is placed outside of the definition circle or arc, the first dimension line is drawn from the text point to the chord point, and the second dimension line is drawn from the far chord point to the center point.

    Dimension lines can be connected by the forced line or can be open-ended. If the forced line is absent, the center can be marked. If the center is marked, dimension lines are drawn outside together. When dimension lines are placed inside, the forced line and center mark are not drawn.
  • 2 — If set to 2, the dimension lines and dimension text box move independently without a leader. The center of the dimension text box defines the text point, and the diametric dimension entity has two opposite dimension lines. The first dimension line is drawn from the center up to the first chord point, and the second dimension line is drawn from the center up to the second chord point. Both dimension lines are placed inside, regardless of the dimension text box position.

    If the dimension text box is placed inside of a circle or arc, it breaks the dimension lines, and the dimension text box is offset by a gap on both sides. If the dimension text box is placed outside of a circle or arc, the dimension lines are not broken and are drawn inside, and the forced line and center type are not drawn.

For working with diametric dimension objects, use the OdDbDiametricDimension class, which represents a diametric dimension entity and manipulates its properties. The OdDbDiametricDimensionPtr class is the typified smart pointer to an instance of this entity, and it is used for storing and passing a reference to the diametric dimension object.

To create and initialize a new instance of a diametric dimension entity, see Overview of Specific Entities.

The main methods of the OdDbDiametricDimension class are listed below:

  • chordPoint() — Returns the chord point as an object of the OdGePoint3d class.
  • setChordPoint() — Sets a new chord point; requires an object of the OdGePoint3d class as a new point.
  • farChordPoint() — Returns the far chord point as an object of the OdGePoint3d class.
  • setFarChordPoint() — Sets a new far chord point; requires an object of the OdGePoint3d class as a new point.
  • leaderLength() — Returns the length from the chordPoint to the dogleg as a double value.
  • setLeaderLength() — Sets a new length from the chordPoint to the dogleg; requires one double value.

The next example demonstrates how to work with a diametric dimension entity.


// Create a circle to be dimensioned  
OdDbCirclePtr pCircle = OdDbCircle::createObject();
pCircle->setDatabaseDefaults(bBTR->database());
bBTR->appendOdDbEntity(pCircle);
// Set Circle properties
OdGePoint3d center (12, 0, 0);
pCircle->setCenter(center);
pCircle->setRadius(1.0);
  
// Create a Diametric Dimension 
OdDbDiametricDimensionPtr pDimension = OdDbDiametricDimension::createObject();
pDimension->setDatabaseDefaults(bBTR->database());
bBTR->appendOdDbEntity(pDimension);
// Create a vector to determine the diamter of the circle
OdGeVector3d chordVector(pCircle->radius(), 0.0, 0.0);
chordVector.rotateBy(OdaToRadian(60.0), OdGeVector3d::kZAxis);
// Set first and second chord points
pDimension->setChordPoint(pCircle->center() + chordVector);
pDimension->setFarChordPoint(pCircle->center() - chordVector);
// Set leader length
pDimension->setLeaderLength(0.5);
pDimension->useDefaultTextPosition();

See Also

Working with Dimensions

Overview of Dimensions

Overview of Linear Dimensions

Overview of Angular Dimensions

Overview of Arc-Length Dimensions

Overview of Ordinate Dimensions

Overview of Radial Dimensions

Overview of Radial Large Dimensions

Copyright © 2002 – 2021. Open Design Alliance. All rights reserved.