请尝试以下方法
- ;;lbn.lsp
- (vl-load-com)
- (defun C:LabelSpots (/ dz ls lu lup numeric osm p1 p2 suffix sz txt z)
- (setq lu (getvar "lunits"))
- (setvar "lunits" 2)
- (setq lup (getvar "luprec"))
- (setvar "luprec" 4)
- (setq dz (getvar "dimzin"))
- (setvar "dimzin"
- (setq osm (getvar "osmode"))
- (setvar "osmode" 1)
- (setq suffix (getstring T
- "\nEnter the suffix (or press Enter to set default) <FL> : "))
- (if (eq "" suffix)
- (setq suffix "FL"))
- (while
- (setq p1 (getpoint "\nPick node point (or press Enter to Exit): "))
- (setq z (caddr p1)
- sz (rtos z 2 3)
- ls (reverse (cdr (reverse (vl-string->list sz))))
- numeric (vl-list->string
- (member (nth (- (vl-position 46 ls) 2) ls) ls))
- txt (strcat numeric suffix)
- )
- (setq p2 (getpoint p1 "\nSpecify text insertion point: "))
- (command "_.qleader"
- p1
- p2
- ""
- (rtos (* (strlen txt) (getvar "textsize")) 2 0)
- txt
- "")
- )
- (setvar "osmode" osm)
- (setvar "lunits" lu)
- (setvar "luprec" lup)
- (setvar "dimzin" dz)
- (princ)
- )
- ;;shortcut:
- (defun C:LBS ()
- (C:LabelSpots)
- )
- (princ "\n\t\t***\tStart command with LabelSpots or with LBS ...\t***")
- (princ)
~'J'~ |