来自明经- (defun c:tt(/ modelspace); }( P( ]6 ~. f+ O3 i
-
- H0 T! o. {6 r' B+ g - (setq oldosmode (getvar "osmode")/ a" M1 N( O5 F5 {/ l
- oldcmdecho (getvar "cmdecho")
' w* l" G A5 \3 f; g" \ - )! u' n2 I- b! c% \/ C
- (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))6 c( N( i5 e* Q$ Z) a. S
- (setvar "osmode" 0)
( l I2 q; _2 {4 t& ~* H - (setvar "cmdecho" 0)/ k8 r0 L$ }7 D/ d0 {
- (setq ss (ssget '((0 . "circle")))), k; T% w, J+ B6 k( Q7 Y5 t o) i0 j
- (setq k 0)
& \% l7 m! x/ h5 f" `( I - (if ss$ V4 l) A' {; C# |
- (repeat (sslength ss)( J9 j% {% ]0 v+ A' j2 r8 J+ l/ N
- (setq en (ssname ss k))7 U3 l- B! D9 f# j# k: j
- (setq cp (cdr (assoc 10 (setq enl (entget en))))
- z+ f0 E6 g" c9 q - r (cdr (assoc 40 enl))
& A1 C% y! {7 F0 A2 M, z4 l - ), f2 {! t. l! Z& c( m
- (setq p1 (polar cp pi r)
5 V/ E! F: V* S( S - p2 (polar cp 0 r)/ G" u( ~3 k- E" \ D. b
- )
3 Z& X$ T3 N: z s7 c - (setq pts (list p1 p2)/ }$ I' V$ M7 `. V, p
- pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts); T" u" n: U! Q9 N7 d: L
- n (* 2 (length pts))
6 r8 R; t4 I. b5 e - )9 u& F; j- n7 D; n
- (setq arypts (vlax-make-variant
% e0 |1 G# S+ b# v% d - (vlax-safearray-fill5 W$ ?; t- f, y
- (vlax-make-safearray vlax-vbdouble (cons 1 n)): X% t* x% _" q6 D$ T$ ` Q
- (apply 'append pts)
6 e: ]/ R1 [7 L" }; L5 Y5 m7 p. O/ Q - ) ;_ vlax-safearray-fill% {0 a+ R2 i/ t) N# e
- ) ;_ vlax-make-variant/ i; _# M# U" s) ~ z
- ) ;_ setq& o9 Z2 J: L6 _8 U$ Y
- (setq obj (vla-AddLightWeightPolyline modelspace arypts))
; o, m5 o/ `" C. d/ A - (vla-put-Closed obj :vlax-true). Z v9 @' e$ ^' E
- (vla-SetBulge obj 0 1)+ h4 k" d6 X- I% d
- (vla-SetBulge obj 1 1)
$ P8 e. V" o) c. X; N - (setq k (1+ k))
1 q/ v% u% n$ X( ? R1 p - (command "_matchprop" en (entlast) ""), y7 B/ @! ~# f
- (entdel en)7 L f* l/ N* b* s& x8 u! I4 _* r3 s" x
- )
( v3 b3 O3 h! B, `* z _ - )
, z9 G, y$ z+ D( J' B; u - (setvar "osmode" oldosmode)
# B+ P- v* I3 j2 U, s - (setvar "cmdecho" oldcmdecho)7 ?- y: j$ D1 }" }
- )
复制代码 |