来自明经- (defun c:tt(/ modelspace)
U' e, T4 R3 E( \ - & } r- E" j. \% w% O8 ?5 i! `$ `
- (setq oldosmode (getvar "osmode")% V+ ~* ^# Z) \2 E# u6 w2 U$ H. M
- oldcmdecho (getvar "cmdecho"). r* \7 b! {% Q9 A: k, m" E
- )
9 f6 X" h( E; K( ~ - (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))
( ]: ~: L' L2 H; A* a - (setvar "osmode" 0)
9 d) H* Z/ h, o- _% ^ - (setvar "cmdecho" 0), M* K% r5 M. D* B) m. F
- (setq ss (ssget '((0 . "circle"))))% Y, o/ l* ~, w7 r! N
- (setq k 0)) o9 e! P% C( ?! N& F" T+ j
- (if ss
: | e" ?9 x% f* ?$ _- D" ? - (repeat (sslength ss)
- Q2 N( Q. m. s- u% X - (setq en (ssname ss k))
; s7 D2 ~ E3 X$ \" H% ~1 T j' ]3 y - (setq cp (cdr (assoc 10 (setq enl (entget en))))
, j4 [/ |& g2 k' g" R - r (cdr (assoc 40 enl))
; c5 _' y" V) H$ Z! h/ k' c, ~ - )
6 |+ h2 Q# p* u- ]* y1 G/ K- \ O! g8 q - (setq p1 (polar cp pi r)
4 _: D" ]3 p) w - p2 (polar cp 0 r)5 L' f4 [+ L) \9 O; ^% P) N* W
- )
" r5 j* G' t, Z O - (setq pts (list p1 p2)
, X, [6 |' H) r9 T0 M3 a2 [ - pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)
0 Y( _) [' ^5 p7 W( ]% J) S - n (* 2 (length pts))& C% Y1 I: l& f" h. s; ^- c8 L$ Z
- ) r$ }. a- m+ v3 v; R- j
- (setq arypts (vlax-make-variant+ b; y& x( S- s% L( B
- (vlax-safearray-fill# w6 i! C) r+ |: [0 ^! z6 l$ ?
- (vlax-make-safearray vlax-vbdouble (cons 1 n))
: W' T! J: z! n) m5 W - (apply 'append pts)
6 u) V9 _' |; q: S# q - ) ;_ vlax-safearray-fill, k; t* i b( K% O: v0 t; g
- ) ;_ vlax-make-variant
( c1 P$ f5 k2 }3 O - ) ;_ setq
$ _$ C) M( d+ `4 @ - (setq obj (vla-AddLightWeightPolyline modelspace arypts)). F/ G! `2 S: b7 u" O! W
- (vla-put-Closed obj :vlax-true)8 g6 o: ]! T2 {8 E% ? p
- (vla-SetBulge obj 0 1) S* F) S# |$ G H. |
- (vla-SetBulge obj 1 1)) H4 E% }* i7 }" I7 j
- (setq k (1+ k))
' B# Y) o5 m" w: b( v - (command "_matchprop" en (entlast) "")
X& f# ~3 h1 l - (entdel en)" ?- s8 e& F6 ?( t1 a7 ]/ b
- ), C/ R! D. |- R' I) h' \
- )( `, s& Z$ z$ s' I( O, j2 Y! u# P
- (setvar "osmode" oldosmode). d4 Y' K1 }2 l& m$ J. F* [
- (setvar "cmdecho" oldcmdecho)
4 N. \7 h0 H6 R1 v9 O - )
复制代码 |