## Dimensioning an arc length.

## Dimensioning an arc length.

(OP)

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.

Thanks.

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.

Thanks.

## RE: Dimensioning an arc length.

## RE: Dimensioning an arc length.

## RE: Dimensioning an arc length.

What about dimensioning the arc length and radius and therefore having:

S = R * Theta

Like I said not a great solution, but it works.

## RE: Dimensioning an arc length.

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

Carl

## RE: Dimensioning an arc length.

1) Go to DIMENSION/ANGULAR

2) Now pick the arc to create the dim line

3) Now go to MODIFY/LENGTHEN

4) Click on the arc, look at Command Line to see length

5) Go to MODIFY/PROPERTIES

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

## RE: Dimensioning an arc length.

1) Go to DIMENSION/ANGULAR

2) Now pick the arc to create the dim line

3) Now go to MODIFY/LENGTHEN

4) Click on the arc, look at Command Line to see length

5) Go to MODIFY/PROPERTIES

6) Click on Arc Dimension, and manually type in length

Hope this helps!

Andy Daugherty

AutoCAD Draftsman

Castone Corporation

## RE: Dimensioning an arc length.

Or "Arc Length" - all the words. They have a macro that you can assign to a button to dimension an arc.

## RE: Dimensioning an arc length.

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

;;--------------------------------------------------------------

;; DIMARC.LSP

;;

;; 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)

(princ)

)

;

; 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")

(be:inf)

(if (setq sel (entsel "\nSelect ARC / RETURN to select points: "))

(progn

(setq elem (entget (car sel)))

(prompt (setq selnam (cdr (assoc 0 elem))))

(if (= selnam "ARC")

(progn

(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

(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

);progn

(progn

(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!")

(progn

(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 "")

);progn

);if

);progn

);if

;error restore

(setq *error* be_or)

(setvar "cmdecho" ocmd)

(setvar "osmode" oosm)

(princ)

) ;bemw

;;

(princ ".")

(prompt "\nDimarc.lsp loaded. Call command with DIMA. pf0494")

(princ)

;;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!

RICH@LG (ARCHITECT)

## RE: Dimensioning an arc length.

## RE: Dimensioning an arc length.

:(

He's right!

Rich@LG

## RE: Dimensioning an arc length.

(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" "")

(COMMAND "DIM1" "TE" "L" PAUSE)

(SetVar "OSMODE" om)

(SetVar "CMDECHO" 0)

(princ)

)