#DXF Angular Dimensions
3 messages in this thread
I'm having great difficulty deciphering the DXF representation of Angular
Dimensions (regular, not 3 pt.). The control points in the *D block seem
to be in no fixed order and the extension points in the Insert block also
seem to be interchangable. The location of the ARC (which quadrant) seems
to be based on the point selected for such (16,26,36), but this is
sensitive to the exact calculation of the centerpoint and angle. Does
anyone out there have some general (or specific) advice or a reference for
this problem? Neither the official ACAD reference manual nor the ACAD
Database Book have much to say, in detail. I've tried many convolutions,
but they all seem to break down in some special case. Thanks for the help,
in advance.
Steven – The control points for angular dimensions do not have any fixed order
to them, because the user can specify the two angle vectors in any order. This
should not be a problem, since you can compute the included angle between the
two vectors regardless of what order they're supplied in. If I'm not reading
you right, then please explain the problem in more detail, and we'll take it
from there.
-TonyT.
Thanks for the assist, Tony. There seem to be a number of problems with
the "simple" approach. First, lets distinguish between the block def. and
the insert record. For angular dim's there are 4 points in the block def.
If the 1st two points (10,20,30) represent one line and the 2nd two points,
the other line, the intersection of these lines defines the center of the
angular dim: Are the points grouped in this way? In some cases, I've found
that all 4 points have the same value, in some cases 2 of the points have
the same value. If there were a definite order, I could eliminate some
comparisons. In the insert record, the 4 points which define the extension
lines seem also to be unordered: e.g. Sometimes (10,20) is the inner
radius, sometimes (15,25). (Is the order of the points in the block def
related to the order in the insert record?) Also, the points of each
vector can be equal (when the length of the extension line=0), so the
angles in this case would need to be calculated from the block def. – but
(as stated above) sometimes these points converge, as well. Finally,
computing the location of the arc seems to depend on the location selected
by the user, and this may fall onto (or very near) one of the extension
lines. In the latter case, determining the location depends on the
particular FP routine used.(?) I realize that ACAD reads its own DXF
perfectly, so there must be a method to this madness, but I keep coming up
with exceptions that defeat my algorithm. Which points would you use for
the center?, for the angles? What boundary <fuzz> needs to be applied to
the arc location? Thanks.