Here's what I made years ago to do arcs when all you know is the radius and
the length along the curve. [It's a Screen Menu item, but could be defun'd
into a "command" of its own.] It uses the prompt responses to calculate the
center-point and included angle of the arc, and generates it from those. If
you only have a written description and no graphic version, you'll have to
do something like sketch it up roughly to figure out which direction the arc
turns.
The three variables you mention are not independent -- any two of them will
determine the third, so you can't force AutoCAD to use all three if any are
rounded off at all. Your example with a 90-degree arc drove someone's
earlier suggestion to fillet perpendicular lines, and its length figure was
most likely what was rounded off.
I made this routine because of having often run across deed descriptions
containing arcs with only the radius and length. They were almost always
tangent continuations of preceding straight line segments. If you are given
the included angle, too, then you have to decide which two variables of the
three you want to use to determine the arc, and which one to allow to be the
rounded-off resultant. I would be inclined most of the time to let that be
the length, since if the arc meets tangent straight lines at both ends,
their angles will determine the included angle of the arc, and the radius is
usually a nice round number.
(Watch for word wrap -- all lines except the last one should end with +
signs.)
[ARCxDist]^C^C^P(setq pt (getpoint "Starting Point <@>: ")) \+
(if (= pt nil) (setq pt (getvar "LASTPOINT"))) +
(setq rad (getdist pt "Radius: ")) \+
(setq dir (getangle pt "Starting Direction : ")) \+
(if (= dir nil) (setq dir (getvar "LASTANGLE"))) +
(setq dist (getdist "Distance Along Curve: ")) \+
(setq curve (strcase (getstring "Curving Left (CCW) or Right (CW) (L/R)?
: "))) \+
(setq ang (* (/ (/ dist rad) pi) 180) offset (/ pi 2)) +
(if (= curve "R") (setq ang (- ang) offset (- offset) angl 50) +
(setq angl 51)) (setq dir2 (+ dir offset) ctr (polar pt dir2 rad)) +
(command "ARC" pt "C" ctr "A" ang) +
(setvar "LASTPOINT" (polar (getvar "LASTPOINT") +
(cdr (assoc angl (entget (entlast)))) (cdr (assoc 40 (entget (entlast))))))
^P
--
Kent Cooper
wrote...
Thanks,
I will have to try this with the rest of the lines/curves.
I find it hard to believe that there is not a way to draw an arc tangent to
a line/or other arc given the radius, delta, and length. I'm sure someone
out there has a lisp. for this...
Thanks for the help