来自明经- (defun c:tt(/ modelspace)
6 u; B; T1 v8 ]% X9 A: Q -
& V$ e8 [9 a" _7 {. s4 e - (setq oldosmode (getvar "osmode")
4 K u8 q$ p7 l, v5 } - oldcmdecho (getvar "cmdecho")0 j% |; |2 E a' c) f0 e
- )
3 Z* o7 V4 W5 A* I# [ - (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))
. T! u) b) P; U) I4 }; u - (setvar "osmode" 0)
w; W, m3 g& s5 b r8 P0 X- ~0 }; O, L - (setvar "cmdecho" 0): I' s }3 Q6 L
- (setq ss (ssget '((0 . "circle"))))
3 T, J' e2 x, P' A1 a8 r - (setq k 0)% E* B0 A) H$ V6 x& \
- (if ss
" X" j* I% q( D4 F - (repeat (sslength ss)
& J* H' r7 h" m" f& H B - (setq en (ssname ss k))" c/ {# Y4 g V9 I/ E) u6 W
- (setq cp (cdr (assoc 10 (setq enl (entget en))))3 S; f! J8 c8 S5 ?& H0 C2 N
- r (cdr (assoc 40 enl))
5 U. _, P) d$ B# J - )
3 @5 c- G. O5 J4 n3 F/ l7 l3 B+ Z - (setq p1 (polar cp pi r)
. C( b6 w( @- A6 b& E# O - p2 (polar cp 0 r)
4 ~, w! q" l. s8 I# e0 S - )
! {2 ~, b; [( v% e4 E3 i - (setq pts (list p1 p2)
8 W5 _, i0 y8 k/ U0 G7 q. L - pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)
$ G$ V( T) g7 R1 _3 y6 c7 @ - n (* 2 (length pts))
+ G: S( X+ M# ^# O0 y& r - )2 g, _ g" X8 g; @
- (setq arypts (vlax-make-variant
2 K2 \( Y4 Y& G t/ V - (vlax-safearray-fill
E8 S( k& A2 R& `6 z - (vlax-make-safearray vlax-vbdouble (cons 1 n))
: g3 S1 J. K) c - (apply 'append pts)+ @4 p0 x' v+ A5 x/ k
- ) ;_ vlax-safearray-fill
3 k3 r& G! Q( b0 k9 K - ) ;_ vlax-make-variant
0 m+ \( m# j6 U. p - ) ;_ setq
5 i/ O$ ?% [- ^' I. ?$ {9 d - (setq obj (vla-AddLightWeightPolyline modelspace arypts))
2 ~! M6 E# B" W3 q* {6 K - (vla-put-Closed obj :vlax-true)
' b5 R! I- Y* `" w3 Q - (vla-SetBulge obj 0 1)
1 F* V) x1 u C! X/ S - (vla-SetBulge obj 1 1)
4 A# s0 Z" S [$ P( E/ m - (setq k (1+ k))
8 {( ^0 b$ K$ J: O/ `3 r. F8 {4 u; x - (command "_matchprop" en (entlast) "")) Y- z) |' p9 _+ \6 ?
- (entdel en)
4 r0 {+ R. H9 t. L - )
1 x0 k/ B, Y* l - )
. g, w- y* [6 u( J2 A# g x4 b* R( k, p5 U - (setvar "osmode" oldosmode)
. i9 ]3 A3 D* y$ i+ L9 G - (setvar "cmdecho" oldcmdecho)
. O; L" t. ]6 `( }: ]2 q - )
复制代码 |