来自明经- (defun c:tt(/ modelspace)4 n$ T9 h6 b- I* s
- ) C. n S! c- C( l1 Y
- (setq oldosmode (getvar "osmode")
* w9 d+ E3 B9 F) O. B - oldcmdecho (getvar "cmdecho"). m- G% R9 A" h& c+ H; J
- )/ I8 O m) G7 i1 A. ^. `
- (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))
# L3 ?; z" ^) X% k# q7 `9 U - (setvar "osmode" 0)& i8 ~7 x3 K& K5 F( z% [* V
- (setvar "cmdecho" 0)2 B4 L2 K5 ?+ g. a! S
- (setq ss (ssget '((0 . "circle"))))
6 L x$ L5 z7 W' C - (setq k 0)* F2 H% |. V% z' T; ]$ _- I- A
- (if ss" I6 r) B+ d) f
- (repeat (sslength ss)
8 p' I3 ^: i1 m" K3 O( G' P* E) c - (setq en (ssname ss k))
) E+ L5 O3 U+ i/ O; V0 @3 h1 ] - (setq cp (cdr (assoc 10 (setq enl (entget en))))! y9 I5 L! D5 F% u
- r (cdr (assoc 40 enl))
6 w3 B& _* g5 O4 m0 l9 s { - )
0 I* E3 F3 U4 @( M; b) C* E - (setq p1 (polar cp pi r)( Z7 Y3 }3 J7 W5 R
- p2 (polar cp 0 r) |) r$ r1 @( ^ @, M0 h- E& }
- )
7 X3 {' S5 f6 v8 G3 h$ x9 A - (setq pts (list p1 p2)
3 \5 c9 c! a$ ?4 m. G) ]! C( H( m: N - pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)
3 t3 t2 W2 L3 w0 n/ e - n (* 2 (length pts))
+ ?1 f5 T3 @: d/ L1 c1 A+ G; K - )6 \/ D+ v. T3 f4 m
- (setq arypts (vlax-make-variant
% I; C+ C9 w$ R# L - (vlax-safearray-fill" N- j/ O. l4 R/ k( y
- (vlax-make-safearray vlax-vbdouble (cons 1 n))2 b3 G% l1 Z+ c% R6 T. ]! V
- (apply 'append pts)
# M- V3 N3 c1 I+ K - ) ;_ vlax-safearray-fill9 D% [- N4 V( A, r4 Z8 w
- ) ;_ vlax-make-variant) j" E: M0 k+ K2 \3 u& U0 P
- ) ;_ setq Z6 F& q* I3 t
- (setq obj (vla-AddLightWeightPolyline modelspace arypts))( ~3 ]# y% a( z! h
- (vla-put-Closed obj :vlax-true), h7 p) {1 F1 S% `: a, k p
- (vla-SetBulge obj 0 1)
, i& Z6 G( n5 z% @: H - (vla-SetBulge obj 1 1)# I9 Q' V( T9 o: r: _
- (setq k (1+ k))
& p9 T( A: R& x - (command "_matchprop" en (entlast) "")
0 c7 y( j& ?9 [# t4 Y( [" H T - (entdel en)
$ E) C, Q( f3 ^% Q: L - )
( V7 p, O: w$ r9 F8 i, ^ - )
8 O3 a) c8 ~( g9 G - (setvar "osmode" oldosmode)
) Y1 h+ |& \) t, W - (setvar "cmdecho" oldcmdecho); }. c- f) u/ {4 I/ K7 k
- )
复制代码 |