zemehua 发表于 2005-5-1 09:21:00

[LISP]自动标注圆的中心线

自动标注圆的中心线

ZZXXQQ 发表于 2005-5-1 10:18:00

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

siiling16 发表于 2009-4-28 22:30:00

謝謝大大分享!!
页: [1]
查看完整版本: [LISP]自动标注圆的中心线