Object 28 "Dimension Angle" (Entities) Changed in Version 2021.0 |
www.CAD6.com |
Data Block SequenceData Block 001( x1, y1 ) - Start-point first edge Data Block 002( x2, y2 ) - End-point first edge Data Block 001( x3, y3 ) - Start-point second edge Data Block 002( x4, y4 ) - End-point second edge Data Block 000( dx2, dy2 ) - 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( ... ) - Angle dimension parameters
The points (x1,y1) and (x2,y2) define the first edge of the angle, the points (x3,y3) and (x4,y4) define the second edge. The point (dx2,dy2) defines the position of the dimension line, including which partial angle shall be measured. The dimension line is a circular arc and has its center-point in the virtual (or real) intersection point of the two edges. 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.
Attributes New in Version 2021.0An angle 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 LineOrientation, LineDimType [__int32] Unused. LineDistMode [__int32] The value LineDistMode determines how the dimension line's distance to the dimension is calculated. The distance is always measured relative to the one of the edge's end-points that is farest away from the virtual (or real) intersection point of the two edges. 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 edge's end-point. The position of (dx2,dy2) determines what partial angle to use.
MKI_DIMDISTANCE_MULTIPLE The dimension line's distance is a multiple of the value stated in LineDistance, while being as close as possible to (dx2,dy2). The position of (dx2,dy2) determines what partial angle to use.
Example|BlockType| 0,225,0,0, |TextFont| 0,0,400,"DINLQ", |TextXProperty| 1,1,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,1,1,1,0, |ArrowStart...,ArrowEnd...| 1,0,1,0, |ExtStartDisplay,ExtEndDisplay,LineDisplay| 1,1,1, |Orientation,Type,DistMode,Distance| 1,1,1,10.0,0.0, |System| 0;
This angle dimension will be lettered with the font "DINLQ", 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 will automatically placed centered and tight to the dimension line, it will be updated automatically. The dimension line has a fixed distance of 10 mm to the edge's end-point. Both dimension extension lines will be visible, they are drawn radially from an edge's end-point 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 an angle dimension created using the settings described above. The points (x1,y1), (x2,y2), (x3,y3) and (x4,y4) define the two edges of the angle. The dimension line has a distance of 10 mm to the point (x4,y4). The dimension number was centered and set tight automatically, so the point (nx1,ny1) is irrelevant. As the number is not rotated the point (nx2,ny2) is not used. The orientation of the two edges together with the dimension line definition point (dx1,dy1) determines which of the possible eight angles is to be measured. As (x2,y2) is above (x1,y1), the dimension starts above the virtual intersection point. As (x4,y4) is right to (x3,y3), the dimension ends right to the virtual intersection point. This constellation still allows two angles - one running clockwise from top to right, one running counter-clockwise. Now the dimension line definition point (dx2,dy2) determines which one to choose. In this case it is the angle running clockwise, i.e. the smaller angle at the upper right.
The image above shows a similar angle dimension, but the end-points of the first edge are placed vice versa. As (x2,y2) now lies below (x1,y1), the dimension starts below the virtual intersection point. According to the dimension line definition point (dx2,dy2), the lower right angle is to be measured.
The image above shows another similar angle dimension but now dimension line definition point (dx2,dy2) was placed somewhere else, so now the upper left angle is measured.
Note: The two edges of the angle do not have to intersect directly even though they do in all examples shown here. In any case a "virtual" intersection point is calculated, i.e. the intersection of the edges extended to endless lines. If both edges are parallel no dimension is displayed!
Interface Command SequenceMKI_ObjectOpen, Type = MKI_OBJ_DANGLE MKI_ObjectAddPoint, Type = MKI_DB_POINT_START MKI_ObjectAddPoint, Type = MKI_DB_POINT_END MKI_ObjectAddPoint, Type = MKI_DB_POINT_START MKI_ObjectAddPoint, Type = MKI_DB_POINT_END 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_DANGLE class to parse the data blocks of such an object in memory.
|
CAD6interface 2024.2 - Copyright 2024 Malz++Kassner® GmbH