Object 26 "Dimension Radius" (Entities) Changed in Version 2021.0 |
www.CAD6.com |
Data Block SequenceData Block 003( cx, cy ) - Center-point Data Block 004( rx, ry ) - Radius definition Data Block 000( dx1, dy1 ) - First dimension line definition Data Block 000( dx2, dy2 ) - Second dimension line definition Data Block 000( nx1, ny1 ) - First dimension number definition Data Block 000( nx2, ny2 ) - Second dimension number definition Data Block 000( ex1, ey1 ) - First dimension extension line definition Data Block 000( ex2, ey2 ) - Second dimension extension line definition Data Block 110( PreText ) - Text in front of number (ElemCount = MKI_LENGTH_TEXT_SHORT) Data Block 110( NumText ) - Dimension itself (ElemCount = -MKI_LENGTH_TEXT_SHORT) Data Block 110( PostText ) - Text behind the number (ElemCount = MKI_LENGTH_TEXT_SHORT) Data Block 110( Tolerance1 ) - Upper tolerance (ElemCount = MKI_LENGTH_TEXT_SHORT) Data Block 110( Tolerance2 ) - Lower tolerance (ElemCount = MKI_LENGTH_TEXT_SHORT) Data Block 225( ... ) - Radius dimension parameters
The point (cx,cy) is the center-point of the circle element whose radius is to be measured, the point (rx,ry) determines the radius. The point (dx1,dy1) determines the dimension's direction and thus the dimension line's direction, the point (dx2,dy2) defines the distance between the dimension line and the radius to be measured. The points (nx1,ny1) and (nx2,ny2) determine the position and, if applicable, the orientation of the dimension number.
The following texts make up the dimension texts to be displayed, where PreText, NumText and PostText will be connected to one text ("Main dimension text") without separating characters.
The name "Dimension Radius" does not mean that this object can only be used to dimension a radius, but that the reference is given by the radius of a circle element.
Attributes New in Version 2021.0A radius dimension may contain attribute data blocks (see MKI_BLOCK_ATTRIBUTE) only of type "local". They must be placed behind all other datablocks. Attributes of types "outline" and "point" must not exist. The total number of local attributes per object is limited to MKI_ATTRIBS_PER_OBJECT.
Specific Usage of Data Block 225DimFlag New in Version 6.51 [__int32] The value DimFlag is a bit-wise OR combination of several flags that enable special dimensioning options. The following flags will be processed for a radius dimension:
MKI_DIMFLAG_NONE No flag ist set.
MKI_DIMFLAG_RADIUSEXTEND If this flag is set, the dimension line will automatically be extended up to the circle element's center-point if LineType is MKI_DIMTYPE_HALF. LineOrientation [__int32] The value LineOrientation determines the dimension's orientation, i.e. the direction into which the dimension is to be calculated as well as the dimension line's orientation. This allows to dimension a radius in a specific direction. Possible values are:
MKI_DIMLINE_PARALLEL The dimension (and thus the dimension line) are parallel to the line stored in the object.
MKI_DIMLINE_ARBITRARY The dimension (and thus the dimension line) are parallel to a line passing through the line's start-point (x1,y1) and the first dimension line definition point (dx1,dy1).
MKI_DIMLINE_HORIZONTAL Identical to MKI_DIMLINE_ARBITRARY. This setting is used inside the application to create a horizontal dimension. After creating the object, it behaves like with value MKI_DIMLINE_ARBITRARY.
MKI_DIMLINE_VERTICAL Identical to MKI_DIMLINE_ARBITRARY. This setting is used inside the application to create a vertical dimension. After creating the object, it behaves like with value MKI_DIMLINE_ARBITRARY.
MKI_DIMLINE_AUTOMATIC Identical to MKI_DIMLINE_ARBITRARY. This setting is used inside the application to create a horizontal or vertical dimension. After creating the object, it behaves like with value MKI_DIMLINE_ARBITRARY. LineDimType [__int32] The value LineDimType determines whether the dimension line has full size with two arrows or only a partial length with one arrow. Additionally, it determines whether the dimension extension lines shall be perpendicular to the dimension line or not. Possible values are:
MKI_DIMTYPE_STANDARD Full-length dimension line with two arrows. The dimension line is placed so that probable dimension extension lines would be perpendicular to it (even if they are not visible). Seen from the circle's center, it starts at the same side that (dx1,dy1) lies at.
MKI_DIMTYPE_ARBITRARY Full-length dimension line with two arrows. The dimension line starts at a line passing through the radius's start-point and (dx2,dy2) and ends at a line parallel to it, passing through the point (cx,cy). Probable dimension extension lines are not necessarily perpendicular to the dimension line.
MKI_DIMTYPE_HALF Partial-length dimension line with one arrow. A probable dimension extension line would be perpendicular to the dimension, starting at the radius' end-point being closer to (dx1,dy1). At this extension line starts the dimension line, having an arrow and extension line according to ArrowStartForm, ArrowStartMode and ExtStartDisplay. The dimension line ends at a line parallel to the dimension extension line, passing through the point (dx2,dy2). LineDistMode [__int32] The value LineDistMode determines how the dimension line's distance to the dimension is calculated. The distance is always measured perpendicularly to the dimension line, even if it is rotated (see LineOrientation). Possible values are:
MKI_DIMDISTANCE_ARBITRARY The dimension line passes through the point (dx2,dy2).
MKI_DIMDISTANCE_FIXED The dimension line has exactly the distance stated in LineDistance to the radius or the circle. The position of (dx2,dy2) determines on what side it lies.
MKI_DIMDISTANCE_MULTIPLE The dimension line's distance to the radius or circle is a multiple of the value stated in LineDistance, while being as close as possible to (dx2,dy2).
Example|BlockType| 0,225,0,0, |TextFont| 0,0,400,"DINDRAFT" |TextXProperty| 1,1,0,0.0/0.0/0.0,0.0/0.0/0.0,0.0,0,0,0, |TextSize1,TextSize2| 5.0,3.5, |CharDistance,TabDistance,TextMode,TextOrder| 0,4,1,0, |Precision,Refresh,Centered,Tight,Rotate| 2,0,0,0,0, |ArrowStart...,ArrowEnd...| 1,0,1,0, |ExtStartDisplay,ExtEndDisplay,LineDisplay| 1,1,1, |Orientation,Type,DistMode,Distance| 1,1,0,10.0,0.0, |System| 0;
This radius dimension will be lettered with the font "DINDRAFT", using pen 1. The main dimension has a text size of 5 mm, the tolerances have a text size of 3.5 mm. The dimension number can be placed anywhere, but not rotated, and it will not be updated automatically. The dimension and thus the dimension line does not necessarily lie parallel to the dimension. The dimension line is full-length and its distance to the dimension is arbitrary. Both dimension extension lines will be visible, they are not perpendicular to the dimension line. At both ends of the dimension line, a filled, non-rotated, triangular arrow will be drawn. The dimension will be calculated according to the settings in the coordinate system "00: *Standard".
The image above shows a radius dimension created using the settings described above. The points (cx,cy) and (rx,ry) define the radius to be dimensioned. The dimension's orientation is determined by the first dimension line definition point (dx1,dy1). The dimension line is parallel to a line passing through (dx1,dy1) and (cx,cy), and passes through the second dimension line definition point (dx2,dy2). It is full-length and has an arrow at each end. As LineType is set to 0x0001 the dimension extension lines are not perpendicular, so the dimension line starts exactly at (dx2,dy2). The dimension number was placed by setting the point (nx1,ny1) and is not rotated because NumRotate is set to 0x0000. The point (nx2,ny2) is not used. By setting PreText to the text "R " the dimension number is preceded with a radius symbol.
The image above shows another radius dimension. It was created using settings similar to the settings described above but LineType was set to 0x0002, so the dimension line has only partial length and a single arrow. The dimension line starts at the right as (dx1,dy1) lies right to the circle's center-point (cx,cy) and ends at the point (dx2,dy2). Additionally, NumRotate was set to 0x0001, i.e. the dimension number is rotated. Its position and orientation is determined by the points (nx1,ny1) and (nx2,ny2). By setting PreText to the text "R " the dimension number is preceded with a radius symbol.
Interface Command SequenceMKI_ObjectOpen, Type = MKI_OBJ_DRADIUS MKI_ObjectAddPoint, Type = MKI_DB_POINT_CENTER MKI_ObjectAddPoint, Type = MKI_DB_POINT_RADIUS MKI_ObjectAddPoint, Type = MKI_DB_POINT_ANY MKI_ObjectAddPoint, Type = MKI_DB_POINT_ANY MKI_ObjectAddPoint, Type = MKI_DB_POINT_ANY MKI_ObjectAddPoint, Type = MKI_DB_POINT_ANY MKI_ObjectAddPoint, Type = MKI_DB_POINT_ANY MKI_ObjectAddPoint, Type = MKI_DB_POINT_ANY MKI_ObjectAddTextShort, StaticLength = false MKI_ObjectAddTextShort, StaticLength = true MKI_ObjectAddTextShort, StaticLength = false MKI_ObjectAddTextShort, StaticLength = false MKI_ObjectAddTextShort, StaticLength = false
Use the MKI_PARSE_OBJ_DRADIUS class to parse the data blocks of such an object in memory.
|
CAD6interface 2024.2 - Copyright 2024 Malz++Kassner® GmbH