来自明经- (defun c:tt(/ modelspace)
* X# v) k$ \8 }) ]! g" ]% k5 L U. G# } -
7 x" c& m* [) h. b0 k( ^ E6 N0 F - (setq oldosmode (getvar "osmode")
6 q8 `2 Q# L9 E) {1 K' I0 T - oldcmdecho (getvar "cmdecho")
$ H9 g8 I6 q" i8 e0 ?$ m2 h4 X. \ - )/ Q! B8 | g- X* C* O- r% {* J/ j; D
- (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object)))): t% r F. v& L1 R% g
- (setvar "osmode" 0)$ K! I @3 v$ F& J
- (setvar "cmdecho" 0)
7 c& ?* ^/ l; j3 ` - (setq ss (ssget '((0 . "circle"))))1 K; I3 j, M% O" H7 ?" B: j3 d+ _
- (setq k 0)
8 H* G# t* D9 f' M: o7 C, A/ m$ c - (if ss
( a3 {% a% B4 p! D4 [2 G - (repeat (sslength ss)
' v1 P1 v0 l7 d; i# B: [) x - (setq en (ssname ss k))
. I. e: h8 O. b% _( N$ q. p - (setq cp (cdr (assoc 10 (setq enl (entget en))))2 `/ t/ x8 I% r5 K" f
- r (cdr (assoc 40 enl)). \$ |- x# V' D* Q, w6 s/ D
- )6 H; V$ Z4 F: ~6 e% ?! k0 I8 ]
- (setq p1 (polar cp pi r)
; Z+ R* f+ ^6 C$ k, I - p2 (polar cp 0 r)
, d, ]5 Z3 s. f - )
" _& |, W2 D0 g0 J - (setq pts (list p1 p2)2 Q% s# i% A" K' E! c: A
- pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)1 n. R; A" L4 t, G
- n (* 2 (length pts))7 N. }1 \6 Q5 q5 H& v( @% ]
- )
2 ]! c i6 }9 l - (setq arypts (vlax-make-variant. U6 e) d) ]+ q& k3 ]# r
- (vlax-safearray-fill" @1 ]9 m$ w7 c: }# `
- (vlax-make-safearray vlax-vbdouble (cons 1 n)): M8 W* ^7 \# l7 d
- (apply 'append pts)+ i1 I( ^- r" Q/ g
- ) ;_ vlax-safearray-fill
8 W" a& D( {9 J0 o5 |* S6 y - ) ;_ vlax-make-variant
& M6 c* {; }; q& }; m6 c1 c M8 z - ) ;_ setq" q! P' h! v$ H3 }4 p) d9 Q1 s
- (setq obj (vla-AddLightWeightPolyline modelspace arypts))
8 m8 H. t6 d. J- x$ T1 _! E8 d, Z' [3 Y - (vla-put-Closed obj :vlax-true)
5 Q' Z B+ a8 S- H: q: c - (vla-SetBulge obj 0 1)
) H" Z' X0 A2 C5 n* v+ H; a# r - (vla-SetBulge obj 1 1)5 B5 y. t3 D- N5 p
- (setq k (1+ k))
( h) L0 W/ m& {1 e# e$ L. D - (command "_matchprop" en (entlast) "")
6 @$ H. S/ G8 T$ [+ {3 @ - (entdel en)
5 J( f# `6 O% O3 Y# P - )- h; ` y" h/ |6 O
- )
( m% }* U" H2 Y& W2 x. G - (setvar "osmode" oldosmode), ~) ]0 t6 F+ M/ T4 O
- (setvar "cmdecho" oldcmdecho)/ A. h7 e+ Y3 Q! R( H
- )
复制代码 |