[LISP]自动标注圆的中心线
自动标注圆的中心线 (DEFUN C:CC ( / SS OLDL OLDOS N I PC D PT1 PT2 PT3 PT4 A DL NN)(SETVAR "CMDECHO" 0) (SETVAR "BLIPMODE" 0)
(PRINC "\nSelect Circle(s) :")
(IF (setq SS (SSGET '((0 . "CIRCLE")))) (PROGN
(SETQ OLDL (GETVAR "CLAYER") OLDOS (GETVAR "OSMODE")
N (SSLENGTH SS) I 0)
(COMMAND "LAYER" "M" "CEN" "")
(SETVAR "OSMODE" 0)
(REPEAT N
(SETQ A (SSNAME SS I) DL (ENTGET A) NN (CDR (ASSOC 0 DL)))
(IF (= NN "CIRCLE") (PROGN
(SETQ PC (CDR (ASSOC 10 DL)) D (* (CDR (ASSOC 40 DL)) 1.2)
PT1 (POLAR PC PI D) PT2 (POLAR PC 0 D)
PT3 (POLAR PC AL1 D) PT4 (POLAR PC AL2 D))
(COMMAND "LINE" PT1 PT2 "" "LINE" PT3 PT4 "")
))
(SETQ I (1+ I))
)
))
(SETVAR "OSMODE" OLDOS)
(SETVAR "CLAYER" OLDL)
(SETVAR "CMDECHO" 1)
(PRINC)
)
謝謝大大分享!!
页:
[1]