来自明经- (defun c:tt(/ modelspace)
. ]. `' u/ F- a* g) h0 e8 Y A* z - 5 N0 n+ m* K1 M, C& o) I O& X, A* _& V
- (setq oldosmode (getvar "osmode")
' w0 @' w( r3 C% j+ p - oldcmdecho (getvar "cmdecho")
8 p# V! T1 G2 \7 ~$ X' ] - )4 r/ m7 }* D. n
- (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))
! o3 U* K2 f4 K5 x2 t( p( v - (setvar "osmode" 0)
; T; Y- X" G T, e - (setvar "cmdecho" 0)8 |. f& b! k! g- W: c* v. r1 y
- (setq ss (ssget '((0 . "circle"))))
1 h2 i [; @: j% l2 f4 t - (setq k 0)
1 _: q$ L, r, r. f. h - (if ss
3 b5 P3 x4 ^4 h0 \+ T! l h - (repeat (sslength ss)
7 R6 u" K0 i5 e0 b0 q" s - (setq en (ssname ss k))7 U% t0 o4 W- z/ [; j
- (setq cp (cdr (assoc 10 (setq enl (entget en))))
D: C( Y8 ?% s- m - r (cdr (assoc 40 enl))
T9 \1 @. l. v% f% N+ I - )
+ d) N7 h" b7 {* s3 S - (setq p1 (polar cp pi r)
, f4 P/ v9 V' O' {# I) N - p2 (polar cp 0 r)
; s. |& d6 i; J - )! \0 o7 Y9 c& q0 i
- (setq pts (list p1 p2)0 o' M8 {5 h* b
- pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)
2 ]6 d+ ^3 _6 O5 P5 ?4 v& n- @- Q; A - n (* 2 (length pts))
7 A' M2 r- c) x3 E1 Y - )
' g9 i' i5 e9 e% ^7 U9 O - (setq arypts (vlax-make-variant1 G9 Y1 Q) S# d Q2 R- u% S5 j
- (vlax-safearray-fill
) l/ x4 c) W" k8 M( y, b" x; b D - (vlax-make-safearray vlax-vbdouble (cons 1 n))
( v" R* n; }5 E+ H( J: P* T2 s/ i - (apply 'append pts)
) Q" X$ R8 O3 W% S+ D7 y* L - ) ;_ vlax-safearray-fill
9 `! ~ t7 H' H$ u2 g7 a# e! N - ) ;_ vlax-make-variant ?0 j( {$ g; k; f
- ) ;_ setq' @$ F9 o- V: R4 N. C) b) y
- (setq obj (vla-AddLightWeightPolyline modelspace arypts))) t# A" x/ O5 b: {( a0 A7 \
- (vla-put-Closed obj :vlax-true)8 |$ U% ^# r* O0 p( E
- (vla-SetBulge obj 0 1)
% M. N- I. P2 A, b - (vla-SetBulge obj 1 1), Q! o3 v( y7 G7 h" E
- (setq k (1+ k)); U+ Q! R: `& s* y( @: D6 W, o" D- z& m
- (command "_matchprop" en (entlast) "")7 \9 D6 C) Q H8 L) N! o2 Y' K. Z
- (entdel en)
' [ y: B# m7 L4 @1 w' o - )
6 q% l. s: K9 D9 H0 x; u2 W - )
/ H* Y, d4 w$ F0 l& t - (setvar "osmode" oldosmode)
+ S" j: }# w, C3 t) h" i# A2 M - (setvar "cmdecho" oldcmdecho)
4 U1 j* ~5 {# h+ @( D* z - )
复制代码 |