Smart questions
Smart answers
Smart people
Join Eng-Tips Forums

Member Login

Remember Me
Forgot Password?
Join Us!

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips now!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

Join Eng-Tips
*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.
Jobs from Indeed

Link To This Forum!

Partner Button
Add Stickiness To Your Site By Linking To This Professionally Managed Technical Forum.
Just copy and paste the
code below into your site.

pizza (Mechanical) (OP)
3 Jun 02 10:33
Is it possible to dimension an arc in AutoCAD? I mean, like you can normally do with striaght line. I'd like to be able to pick an arc or pick the endpoints of the arc and have AutoCAD give me extension lines and dimension lines and of course the length of the arc (not the straight length or straight height of it). I'd like to have the dimension line follow the arc too.
Right now I have to do a property check on the arc and then just right it into the drawing. Or, if it's a 3D object with a curved surface, I have to explode it until I get to the line arc that I want and then do a property check for the arc line.
pppmm (Mechanical)
4 Jun 02 18:45
That is a good question.  One that I have also been looking for.  It dosen't seem like to much to ask for.
KJJ (Structural)
5 Jun 02 8:59
I've never been able to dimension an arc but I tend to list it then draw a line from one end to the centre point and then to the other end (forming a cheese wedge).  Then dimension the angle between the two lines and edit the Mtext manually.  It's not an answer but it looks okay when plotted.
astroclone (Aerospace)
5 Jun 02 9:08
I'm all aboard on the Mtext option, not a great solution, but what is, really.
What about dimensioning the arc length and radius and therefore having:
S = R * Theta

Like I said not a great solution, but it works.
Helpful Member!(2)  CarlB (Civil/Environmental)
7 Jun 02 3:57
You could try "dimarc.lsp" at

I don't know if it has extension lines but it does dimension the length.

adaugherty (Computer)
12 Jun 02 17:14
Here is what I do in AutoCAD LT97:
2) Now pick the arc to create the dim line
4) Click on the arc, look at Command Line to see length
6) Click on Arc Dimension, and manually type in length

Alt way of manually typing in dims:
a) find a dim with a fraction, copy it to the side
b) now explode the dim, click on it, MODIFY/PROP
c) highlight contents, and EDIT/COPY
d) now the contents are saved on the WINDOWS CLIPBOARD, and
as long as you don't "EDIT/COPY" anything else, you'll have those contents saved
e) now erase exploded dimension
f) go back up to #6, and now instead of "manually" typing
everything, highlight contents box, and EDIT/PASTE
g) now just change the numbers to what you want them to be

Hope this helps!

Andy Daugherty
AutoCAD Draftsman
Castone Corporation
adaugherty (Computer)
12 Jun 02 17:20
Here is what I do in AutoCAD LT97:
2) Now pick the arc to create the dim line
4) Click on the arc, look at Command Line to see length
6) Click on Arc Dimension, and manually type in length

Hope this helps!

Andy Daugherty
AutoCAD Draftsman
Castone Corporation
cparnell (Mechanical)
1 Oct 02 17:52
Try going to web site. Find Knowledge Base, Search using Keyword'(s): TS67876  /  Document #.
Or "Arc Length" - all the words. They have a macro that you can assign to a button to dimension an arc.
RICHatLG (Bioengineer)
21 Oct 02 19:07
Someone recently gave me this LISP.
MicroStation users always ask me if we can do this in ACAD.
I finally got someone to give the LISP.
Here it is ....

;; Ploetzl, Mieling - Vienna compuserve id 100115,3172
;; dim length of an arc
;; uses the autocad command dim angle and replaces the angle measure
;; with the length of the arc segment
;; CALL: dima
;; 0992pf ver11c2/0.1
;; 0494pf ver12c1/0.2
; error, save and restore variables
(defun be:er (s)
(if (/= s "Function cancelled" )(prompt (strcat "\nError: " s)))
(setq *error* be_or)
(setvar "osmode" oosm)
(setvar "cmdecho" ocmd)
; up info
(defun be:inf ()
(prompt (strcat "\nLayer: " (getvar "clayer")
"\tTextheight: " (rtos (getvar "dimtxt"))
"\tDimStyle: " (getvar "dimstyle")
(princ ".")
;; dima
(defun c:dima (/ e d piu sel elem selnam rad ang lae antw ptr pt1 pt2 rad1 rad2)

;error, save var
(setq be_or *error* *error* be:er
oosm (getvar "osmode")
ocmd (getvar "cmdecho")
piu (/ 180.0 pi)
e (getvar "lunits")
d (getvar "luprec")
(setvar "cmdecho" 0)
(setvar "dimse1" 0)
(setvar "dimse2" 0)

(prompt "\nDim ArcLength ver12c1/0.2pf0494")
(if (setq sel (entsel "\nSelect ARC / RETURN to select points: "))
(setq elem (entget (car sel)))
(prompt (setq selnam (cdr (assoc 0 elem))))
(if (= selnam "ARC")
(setq rad (cdr (assoc 40 elem)))
(setq ang (- (cdr (assoc 51 elem))(cdr (assoc 50 elem)) ) )
(if (< ang 0)(setq ang (+ ang (* 2 pi) ) ) )
(setq ang (* ang piu))
(setq lae (/ (* pi ang rad) 180.0) )
(prompt (strcat "\nRadius = " (rtos rad)
"\tAngle = " (rtos ang)
"\tLength = " (rtos lae)
(prompt (strcat "\nLength arc: <" (rtos lae) "> "))
(setq antw (getdist))
(if (/= antw nil)(setq lae antw))
(setvar "cmdecho" 1)
(command "_.dim1" "_ang" sel pause (rtos lae) pause)
);progn arc
(prompt "\nNo arc.")
);if elem
(setq ptr (getpoint "\nMidpoint: "))
(setq pt1 (getpoint "\nFirst arc point: "))
(setq pt2 (getpoint "\nSecend arc point: "))
(setq ang1 (angle ptr pt1)
ang2 (angle ptr pt2)
rad1 (distance ptr pt1)
rad2 (distance ptr pt2)
(if (/= (rtos rad1 2 10) (rtos rad2 2 10))
(prompt "\nRadius is different!")
(if (> ang2 ang1)
(setq ang (/ (* (- ang2 ang1) 180.0) pi))
(setq ang (/ (* (- ang1 ang2) 180.0) pi))
(setq lae (/ (* ang pi rad1) 180.0))
(command "_.arc" "_c" ptr pt1 pt2)
(setq sel (list (ssname (ssget "_L") 0) pt1))
(setvar "cmdecho" 1)
(command "_.dim1" "_ang" sel pause (rtos lae) pause)
(command "_.erase" sel "")
;error restore
(setq *error* be_or)
(setvar "cmdecho" ocmd)
(setvar "osmode" oosm)

) ;bemw
(princ ".")
(prompt "\nDimarc.lsp loaded. Call command with DIMA. pf0494")
;;end dimarc.lsp pf

Copy the above to a text file and rename it to "DIMARC.LSP"
Load this lisp and type "dimarc"
Hope this helps!
Helpful Member!  ControlConcepts (Electrical)
22 Oct 02 12:00
You gotta type "dima" for RICHatLG lisp to work
RICHatLG (Bioengineer)
22 Oct 02 17:56

He's right!
IFRs (Petroleum)
22 Nov 02 14:05
I use several lisp routines to arc dimensions that convert the angle to an arc length.  Mine do not have any error checking etc but they are functional.  Here is an easy one:

(DEFUN C:DV3 (/ p1 p2 p3 p4 x1 x2 x3 y1 y2 y3 adj dx dy opp om ang rad arc ark) ; Dimension INT to INT along any circle
 (SetVar "CMDECHO" 0)
 (Setq om (GetVar "OSMODE"))
 (COMMAND "Osnap" "Int")
 (setq p1 (getpoint "\nSnap to first INT: ")
       p2 (getpoint "\nSnap to second INT: ")
 (COMMAND "Osnap" "CEN")
 (setq p4 (getpoint "\nPick a point on the arc: "))
 (COMMAND "Osnap" "NON")
 (setq p3 (getpoint "\nPoint to dimension location: ")
       x1 (- (car p1) (car p4))
       y1 (- (cadr p1) (cadr p4))
       x2 (- (car p2) (car p4))
       y2 (- (cadr p2) (cadr p4))
       x3 ( / ( + x2 x1 ) 2.0000 )
       y3 ( / ( + y2 y1 ) 2.0000 )
       adj ( sqrt ( + ( * x3 x3 ) ( * y3 y3 )))
       dx ( - x3 x2 )
       dy ( - y3 y2 )
       opp ( sqrt ( + ( * dx dx ) ( * dy dy )))
       ang ( atan ( / opp adj ))
       rad ( getvar "Userr2")
       arc ( * rad ang 2.0000 )
       ark (rtos arc)
 (COMMAND "DIM1" "ANG" "" P4 P1 P2 P3 ARK P3)
 (COMMAND "DIM1" "HOM" "L" "")
 (SetVar "OSMODE" om)
 (SetVar "CMDECHO" 0)

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!

Back To Forum

Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close