Radial 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 dimension entity
requires the center point of the circle or arc to be measured, a chord point on the circle or arc to which
the dimension line is drawn, a text point that defines the placement of the dimension text box, and the
normal that orients a dimension in WCS. The circle or arc to be measured is the definition circle or
definition arc.
The radial dimension entity can be rotated, scaled, and oriented in WCS. Additionally, the center of a
radial dimension entity can be marked.
Elements of the radial dimension
A radial dimension entity consists of the following elements (no extension lines):
- One dimension line — A straight line that always passes through the
center point and chord point. The dimension line can be placed inside or outside
of the circle or arc — when inside, it is drawn from the center to the
chord point, and when outside it is drawn from the outside to the chord point.
The end of the dimension line can have an arrowhead, and the beginning of
the dimension line can have a leader line. The leader line connects the dimension
line with the dimension text box (when it is not aligned). The dimension line
has color, lineweight, linetype, and visibility independent of the entity's
properties. 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 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 on 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 — When 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 the radial dimension entity is defined by the text movement and the text
position relative to the definition circle or arc (inside or outside).
Text movement
Dimension text can be moved, but the result of movement can vary depending
on the Dimtmove value. Dimtmove can be set to one of the following
values:
- 0 — Dimension lines and the dimension text box move together. If set
to 0, the center of the dimension text box defines the text point.
- 1 — Dimension lines and the dimension text box move independently
and are connected with a leader. If set to 1, the beginning of the dimension
line defines the text point.
In both cases of 0 and 1 values, the dimension text box is placed next to
the dimension line. If the dimension text box moves, the dimension line rotates
around the center point towards the text point, and vice versa, if the dimension
line rotates 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 the circle or arc, the dimension line is redrawn automatically
from the text point to the chord point.
When the dimension text box is placed inside of the definition circle or
arc, the dimension line is drawn from the center to the chord point.
When the dimension text box is placed outside of the definition circle or
arc, the dimension line is drawn from the text point to the chord point towards
the center point.
The chord point and center point can be connected by a forced line. If the
forced line is absent, the center can be marked. If the dimension line is
placed inside the circle or arc, the forced line and center mark are not drawn.
- 2 — The dimension lines and the dimension text box move independently
without a leader. Wet to 2, the center of the dimension text box defines the
text point and the dimension line is always drawn from the center up to the
chord point, regardless of the dimension text box position.
If the dimension text box is placed inside of the circle or arc, it breaks
the dimension line and the dimension text box is offset by a gap on both sides.
If the dimension text box is placed outside of the circle or arc, the dimension
line is not broken and is drawn inside, and the forced line and center mark
are not drawn.
For working with radial dimension objects, use the OdDbRadialDimension class,
which represents a radial dimension entity, and manipulate its properties. The
OdDbRadialDimensionPtr 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
dimension object.
To create and initialize a new instance of a radial 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 a 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.
- 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 radial dimension entity.
//Create a circle to be dimensioned
OdDbCirclePtr pCircle = OdDbCircle::createObject();
pCircle->setDatabaseDefaults(bBTR->database());
bBTR->appendOdDbEntity(pCircle);
pCircle->setCenter(OdGePoint3d(3.0, -3.0, 0));
pCircle->setRadius(1.0);
// Create a Radial Dimension
OdDbRadialDimensionPtr pDimension = OdDbRadialDimension::createObject();
// Set dimension defaults
pDimension->setDatabaseDefaults(bBTR->database());
bBTR->appendOdDbEntity(pDimension);
// Set dimension parameters
pDimension->setCenter(pCircle->center());
OdGeVector3d chordVector(pCircle->radius(), 0.0, 0.0);
chordVector.rotateBy(OdaToRadian(30.0), OdGeVector3d::kZAxis);
pDimension->setChordPoint(pDimension->center() + chordVector);
pDimension->setLeaderLength(0.2);
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 Diametric Dimensions
Overview of Ordinate Dimensions
Overview of Radial Large Dimensions
Copyright © 2002 – 2021. Open Design Alliance. All rights reserved.
|
|