;;; DOTL.LSP Dot Leader (c) 1998, Yuqun Lian and Dan Crane II ;;; This routine draws a dot leader. You can adjust its size by ;;; changing the value of DIMSCALE or DIMASZ. ;;; ;;; Modified from SW.LSP by Dan Crane II, Bechard and Associates, Inc. (4/98) ;;; SW.LSP author: Yuqun Lian - SimpleCAD, http://www.simplecad.com ;;; ------------------------------------------------------------------------ (defun C:DOTL (/ tempcmd templt tempplw temportho tempblip aleng awidth pt1 pt2 ent1 ent2 ang ang2 pt3 pt4 pt5 dst dst2) (setq tempcmd (getvar "cmdecho")) (setq templt (getvar "celtype")) (setq tempplw (getvar "plinewid")) (setq temportho (getvar "orthomode")) (setq tempblip (getvar "blipmode")) (setvar "cmdecho" 0) (setvar "celtype" "bylayer") (setvar "orthomode" 0) (setvar "blipmode" 0) ; set arrow size (setq aleng (* (getvar "dimasz") (getvar "dimscale"))) (setq awidth (/ aleng 2.0)) (command "color" "1") (if (setq pt1 (getpoint "\nLeader start:")) (progn (initget 1) (setq pt2 (getpoint pt1 "\nTo point: ")) (command "color" "1" "line" pt1 pt2 "") (setq ent1 (entlast)) (setq ang (angle pt1 pt2)) (setq ang2 (+ ang 3.14159)) (setvar "orthomode" 1 ) (setq pt3 (getpoint pt2 "\nTo point:")) (setvar "orthomode" 0 ) (setq dst (/ aleng 4.0)) (setq dst2 (* aleng 4.0)) (setq pt4 (polar pt1 ang dst)) (setq pt5 (polar pt1 ang2 dst)) (if (null pt3) (setq pt3 pt2) ) (entdel ent1) (setvar "fillmode" 1) (command "color" "1" "pline" pt3 "w" "0" "0" pt2 pt1 pt4 "w" awidth awidth "a" "ce" pt1 pt5 "ce" pt1 pt4 "w" "0" "0" "") ) ;progn ) if pt1 (setvar "orthomode" temportho) (setvar "celtype" templt) (setvar "plinewid" tempplw) (setvar "blipmode" tempblip) (setvar "cmdecho" tempcmd) (princ) (command "color" "bylayer") ) ;end arcl (prompt "\nType DOTL to draw dot arrow leader") (princ)