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

Radial large dimensions measure and represent the radius of a circle, circular arc, or polyline arc segment as a dimension entity in primary and alternate units. To define the placement, the radial large dimension entity requires the center point of the circle or arc to be measured, chord point on the circle or arc to which the dimension line is drawn, text point that defines the location of the dimension text box, override point from which the dimension line is drawn, jog point through which the dimension line jogs, jog angle which defines the dog-leg of a dimension line, and the normal which orients a dimension in WCS. The circle or arc to be measured is the definition circle or definition arc.

The radial large dimension entity can be rotated, scaled, and oriented in WCS. Additionally, the center of the radial large dimension entity can be marked.

Elements of the radial large dimension

A radial large dimension entity consists of the following elements (no leader line or extension lines):

  • Dimension line — A line that begins at the override point, passes through the jog point, and ends at the chord point, regardless of the dimension text box position. The extension of the dimension line always passes through the center of a circle or arc. The jog angle jogs the dimension line when it passes through the jog point. The dimension line has color, lineweight, linetype, and visibility independent of the entity's properties. The end of the dimension line can have an arrowhead — always pointing towards the chord point. The arrowhead can be one of the fixed arrowhead types or defined by a block, and its size can be changed.
  • Dimension text box — A linear structure that consists of 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 on or placed above the dimension line, aligned horizontally or along the dimension line, offset from the dimension line, rotated, or scaled. The center of the dimension text box defines the text point.

The common structure of the radial large dimension entity is defined by the placement of the dimension line relative to the definition circle or arc (inside or outside).

Dimension text placement

When the radial large dimension entity is placed inside of the definition circle or arc, the dimension line is drawn from the center point to the chord point.

When the radial large dimension entity is placed outside of the definition circle or arc, the dimension line is drawn from the outside to the chord point, in the direction of the center point.

For working with radial large dimension objects, use the OdDbRadialDimensionLarge class, which represents a radial large dimension entity, and manipulate its properties. The OdDbRadialDimensionLargePtr class is the typified smart pointer to an instance of this entity, and it is used for storing and passing a reference to the radial large dimension object.

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

The main methods of the OdDbRadialDimension class are listed below:

  • chordPoint() — Returns the chord point as an object of the OdGePoint3d class.
  • setChordPoint() — Sets new chord point; requires an object of the OdGePoint3d class as a new point.
  • center() — Returns the center of the arc being dimensioned as an object of the OdGePoint3d class.
  • setCenter() — Sets a new center of the arc being dimensioned; requires an object of the OdGePoint3d class as a new point.
  • overrideCenter() — Returns the override center of the arc being dimensioned as an object of the OdGePoint3d class.
  • setOverrideCenter() — Sets a new override center of the arc being dimensioned; requires an object of the OdGePoint3d class as a new point.
  • jogPoint() — Returns the jog point as an object of the OdGePoint3d class.
  • setJogPoint() — Sets a new jog point; requires an object of the OdGePoint3d class as a new point.
  • jogAngle() — Returns the jog angle as a double value.
  • setJogAngle() — Sets a new jog angle; requires one double value.

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


// Create an arc to be dimensioned
OdDbArcPtr pArc = OdDbArc::createObject();
pArc->setDatabaseDefaults(pDb);
bBTR->appendOdDbEntity(pArc);

// Set arc parameters
OdGePoint3d center(7.0,-5.0, 0.0);
pArc->setRadius(3.5);
pArc->setCenter(center);
pArc->setStartAngle(OdaToRadian(0.0));
pArc->setEndAngle(OdaToRadian(90.0));

// Create radial large dimension
OdDbRadialDimensionLargePtr pDimension = OdDbRadialDimensionLarge::createObject();
// Set dimension defaults
bBTR->appendOdDbEntity(pDimension);
pDimension->setDatabaseDefaults(pDb);

// Set dimension parameters
OdGePoint3d centerPoint, chordPoint, overrideCenter, jogPoint, textPosition;

// The centerPoint of the dimension is the center of the arc
centerPoint = pArc->center();

// The chordPoint of the dimension is the midpoint of the arc
chordPoint = centerPoint + OdGeVector3d(pArc->radius(), 0.0, 0.0).rotateBy(0.5*(pArc->startAngle()+pArc->endAngle()), OdGeVector3d::kZAxis);

// Override center point is just to the dawn of the actual center
overrideCenter = centerPoint + OdGeVector3d(0.0, -1.5, 0.0);

// The jogPoint is halfway between the overrideCenter and the chordCoint
jogPoint  = overrideCenter + 0.5 * OdGeVector3d(chordPoint - overrideCenter);

// The textPosition is along the vector between the centerPoint and the chordPoint.
textPosition = centerPoint + 0.6 * OdGeVector3d(chordPoint - centerPoint);

double jogAngle = OdaToRadian(30.0);

pDimension->setCenter(centerPoint);
pDimension->setChordPoint(chordPoint);
pDimension->setOverrideCenter(overrideCenter);
pDimension->setJogPoint(jogPoint);
pDimension->setTextPosition(textPosition);
pDimension->setJogAngle(jogAngle);

See Also

Working with Dimensions

Overview of Dimensions

Overview of Linear Dimensions

Overview of Angular Dimensions

Overview of Arc-Length Dimensions

Overview of Diametric Dimensions

Overview of Ordinate Dimensions

Overview of Radial Dimensions

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