来自明经- (defun c:tt(/ modelspace)8 C* d$ q5 a1 x) `4 r. [( W
- ' f% o! h, M4 z0 W' Z. G' y
- (setq oldosmode (getvar "osmode")
) [" O: c3 D* V6 X - oldcmdecho (getvar "cmdecho")
: @& R x/ {' q; @2 O9 z* w - )
) ~, w6 d8 _- P - (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))0 X+ ^1 T( ?; ?9 S0 X; d$ |: C* [
- (setvar "osmode" 0)* ^9 K# Q+ |1 k
- (setvar "cmdecho" 0) J- }: @! g$ r3 ?
- (setq ss (ssget '((0 . "circle"))))
' b% W0 `# G* L5 P6 A - (setq k 0), }4 H& m E) a6 g# D4 S
- (if ss
- @- r( I1 v% ~; E$ L - (repeat (sslength ss)6 o3 [+ T5 f0 l( d9 i
- (setq en (ssname ss k))" t2 Y' e; Z a8 P {: ~
- (setq cp (cdr (assoc 10 (setq enl (entget en)))), @# j S# s; O
- r (cdr (assoc 40 enl))
5 Y+ G* @# ]( ?0 [' f+ [ - )
. `7 }: e0 I+ A* b4 c6 A$ c& j6 K7 c - (setq p1 (polar cp pi r)
) m8 H+ U t+ Y - p2 (polar cp 0 r)
' k W$ f; \7 I6 l" P - )6 V4 O; ^+ [, u$ r2 r* M+ w, l
- (setq pts (list p1 p2)
2 h3 e4 @4 Z4 i6 T9 J - pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)4 m. z1 a% f( I- S$ b. Y ?; }
- n (* 2 (length pts))
. ]: C; Q7 s; {, h' w" x C - )! O( ]$ M0 Z9 f* _) g# w- w1 y
- (setq arypts (vlax-make-variant
( f0 c4 t& L6 y6 C - (vlax-safearray-fill
9 N) e9 t$ u* v D: k - (vlax-make-safearray vlax-vbdouble (cons 1 n))8 W; _; L% Q, @+ [. U5 J
- (apply 'append pts)
- s9 A0 `( d0 e0 e- r, Q; ^; {2 K. h - ) ;_ vlax-safearray-fill
5 M! r2 B4 g! j# c7 y - ) ;_ vlax-make-variant
- L* ]0 i, N# P3 C: i9 z - ) ;_ setq6 i) k% A. X! Z
- (setq obj (vla-AddLightWeightPolyline modelspace arypts))5 K. x) Y5 H- {
- (vla-put-Closed obj :vlax-true)
- g6 `' c% N3 }' a - (vla-SetBulge obj 0 1)0 ~: T4 A! p( p! p9 W7 C g4 N
- (vla-SetBulge obj 1 1)3 A4 |! H- L% p8 I, \1 N3 L
- (setq k (1+ k))
5 q# ?0 Z! U6 f% D7 N. ?- j, L& p - (command "_matchprop" en (entlast) "")2 l% J0 E: n, m& L" s% n+ M
- (entdel en)( u! M2 B# c4 y& D w% K
- )
, T9 s- h1 R' Z9 l - )& |* k% {. q- s8 \5 S
- (setvar "osmode" oldosmode)/ }+ p: f l! \7 S$ t7 _# R
- (setvar "cmdecho" oldcmdecho)
( X+ T |+ h0 j4 e% M. _ - )
复制代码 |