来自明经- (defun c:tt(/ modelspace)
7 G+ P4 A# B) f0 x" t - ) h% J6 W# ], V& c2 g
- (setq oldosmode (getvar "osmode")
& H1 v# \% y6 [4 E - oldcmdecho (getvar "cmdecho")
) a1 G; {; ]1 `. R) \5 _ - )
3 o" t1 u& {: }) f+ m" { - (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))5 O- a, |1 R3 K% j2 J1 M
- (setvar "osmode" 0)# w! i! C8 g) b! X n7 d; G
- (setvar "cmdecho" 0)9 N: k7 _! [, O: g
- (setq ss (ssget '((0 . "circle"))))
6 \& [9 J) o. k! I. Q4 W - (setq k 0)
2 E; g; u4 l3 D7 M( r1 K - (if ss
( L& o0 o2 M. ~* @4 o6 s' J - (repeat (sslength ss)2 q& d. y, Y# S8 V3 u2 ]
- (setq en (ssname ss k))
6 M2 @! m5 E* g2 C4 V - (setq cp (cdr (assoc 10 (setq enl (entget en))))
8 |& h0 C7 m& E( U - r (cdr (assoc 40 enl))( v% [& d- |9 H9 ?* P
- )
9 i% E' W! P P- v - (setq p1 (polar cp pi r)
& p% l* Q! c( r0 u/ d" Z2 z - p2 (polar cp 0 r)
7 N/ q. x C0 d3 x - )
8 r/ A# D" E7 N# A r _3 Z* f - (setq pts (list p1 p2)3 C+ i8 b$ p% J1 D: L$ g( Z, R
- pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)& u5 g9 d/ z; C7 P) [$ [
- n (* 2 (length pts))
% Q& j" r( `6 ]0 T; n0 t - )* u$ v+ q$ x9 q) p% ^5 r
- (setq arypts (vlax-make-variant1 V: g. p9 z) o+ S0 g
- (vlax-safearray-fill
* v& I# D# J7 d G - (vlax-make-safearray vlax-vbdouble (cons 1 n))
" x* V% G( W5 Z* V% x$ D - (apply 'append pts): |- X# `4 z3 s' B; i) ]( m
- ) ;_ vlax-safearray-fill% k+ @- N4 {7 m9 `" S/ M0 Q( r
- ) ;_ vlax-make-variant9 e& H2 _* a; r# t8 D* H
- ) ;_ setq) G+ _5 H' o2 v8 ?
- (setq obj (vla-AddLightWeightPolyline modelspace arypts))
4 Q: e& e5 a, U# q1 N( t( Z - (vla-put-Closed obj :vlax-true): g1 C: I, Y. V* w0 ~
- (vla-SetBulge obj 0 1), ?4 _, b! j$ X; H; h! G) S
- (vla-SetBulge obj 1 1)0 x. \& J. g% ^7 x) ~' K: N& N# x
- (setq k (1+ k))4 @5 G0 z6 L2 m" A* M% o, |" X) d9 R
- (command "_matchprop" en (entlast) "")$ G& ~0 z7 [6 T. N6 U4 ]9 O
- (entdel en). M, Y; n1 H1 A' v9 |4 T4 f6 K2 A
- )% y* p% X- V+ r+ n
- )
0 P! _- ]! _- C. \$ [, d - (setvar "osmode" oldosmode)
/ M7 \8 Y" w7 Q( A - (setvar "cmdecho" oldcmdecho)
1 t# C3 \$ P& w1 I - )
复制代码 |