;TIP1292.LSP: AW.LSP Arc Arrow Leader (c)1997, Yuqun Lian ;;; This routine draws an arc leader constructed with a polyline on the ;;; current layer. The standard dimension arrow is used. You can adjust ;;; its size by changing the value of DIMSCALE or DIMASZ. ;;; Yuqun Lian - SimpleCAD, http://www.simplecad.com 3/19/97 ;;; ------------------------------------------------------------------------ (defun C:AW (/ TEMPCMD TEMPORTHO TEMPAUNIT TEMPLT TEMPPLW PT1 PT2 GAMA BETA ARFA ARCLENG RADIOUS TANANGLE ARWLENG AWIDTH SINA COSA TANA A MIDANGLE PT3 ANG) (setq TEMPCMD (getvar "cmdecho")) (setq TEMPORTHO (getvar "orthomode")) (setq TEMPAUNIT (getvar "aunits")) (setq TEMPLT (getvar "celtype")) (setq TEMPPLW (getvar "plinewid")) (setvar "cmdecho" 0) (setvar "celtype" "bylayer") (setvar "orthomode" 0) (setvar "aunits" 0) ; set arrow size (setq ARWLENG (* (getvar "dimasz") (getvar "dimscale"))) (setq AWIDTH (/ ARWLENG 3.)) (if (setq PT1 (getpoint "\nStart Point: ")) (progn (initget 1) (setq PT2 (getpoint PT1 "\nEnd Point: ")) (princ "\nAngle: ") (command "arc" PT1 "e" PT2 "d" pause) ;-------calculate start angle and radious of the arc----- (setq GAMA (getvar "lastangle")) ;arc endpoint tan angle (setq BETA (angle PT1 PT2)) (setq ARFA (- BETA GAMA)) (setq ARCLENG (distance PT1 PT2)) (setq RADIOUS (/ (* 0.5 ARCLENG) (sin ARFA))) (setq TANANGLE (+ ARFA BETA)) (setq SINA (/ (* 0.5 ARWLENG) RADIOUS)) (setq COSA (sqrt (- 1 (* SINA SINA)))) (setq TANA (/ SINA COSA)) (setq A (atan TANA)) (setq MIDANGLE (- TANANGLE A)) (setq PT3 (polar PT1 MIDANGLE ARWLENG)) ;arrow end point (command "erase" "l" "") ;-----draw pline arc and arrow------------------------------ (setq ANG (* 57.2958 (+ 3.14159 GAMA))) ;pline start angle (setvar "fillmode" 1) (command "pline" PT2 "w" "0" "0" "arc" "d" ANG PT1 "l" "w" "0" AWIDTH PT3 "w" "0" "0" "") ) ;progn ) if pt1 (setvar "orthomode" TEMPORTHO) (setvar "aunits" TEMPAUNIT) (setvar "celtype" TEMPLT) (setvar "plinewid" TEMPPLW) (setvar "cmdecho" TEMPCMD) (princ) ) ;end AW (prompt "\nType AW to draw arc leader") (princ)