来自明经- (defun c:tt(/ modelspace)
4 o- J( m% t- t& P. p. N -
* i3 F" x2 D: ]1 M7 t7 m: p9 E: b% F - (setq oldosmode (getvar "osmode")* ?5 m) D& r* I' Y) w u
- oldcmdecho (getvar "cmdecho")7 {, T2 S- F" g0 I' y: s+ P3 V
- )7 y0 @8 C" X0 g$ T1 X1 L
- (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))' y( N) P: F- T6 k
- (setvar "osmode" 0); Q/ h* d4 h4 h; w0 T# |
- (setvar "cmdecho" 0)
1 Y- W3 E. a0 a% T V' X% W' F' v - (setq ss (ssget '((0 . "circle"))))
C+ s# K; s+ M4 L8 ^ - (setq k 0)
" q1 V% Z" s; f% y# ~* `8 v O9 H - (if ss, x, d3 r& S# i' u9 c# p! C4 g
- (repeat (sslength ss)
1 Z& J* c( B- U; M% V - (setq en (ssname ss k)); Y6 F* J- `! K7 S
- (setq cp (cdr (assoc 10 (setq enl (entget en))))
8 T* ~. |' h) l, ?3 ?1 Y - r (cdr (assoc 40 enl))
+ w8 i! I4 Z9 s/ p9 H7 n8 K9 O - ). f- L5 u/ G4 {# a, |+ C! B
- (setq p1 (polar cp pi r)9 c) C) e l Z+ W7 v5 U$ O
- p2 (polar cp 0 r)
4 W8 f# \1 d4 k7 d. W9 i) l - )
4 `; y% c5 |. w% K7 P9 v - (setq pts (list p1 p2)5 T7 w% I/ [: {$ y. s$ Q
- pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)( ?! }' V' Q. k( j/ N
- n (* 2 (length pts))
9 [6 n8 p; i6 U" `& w5 w# x - )
* E! ^( V) Q0 Q9 q. P - (setq arypts (vlax-make-variant
9 K. w F! y- f2 s0 W1 L, P8 U - (vlax-safearray-fill
4 M" f2 Q4 H% _; {- d) X1 _ - (vlax-make-safearray vlax-vbdouble (cons 1 n)), \6 H7 r8 p9 H R2 E
- (apply 'append pts)& ?! Z+ g' S& H L+ S- R: R
- ) ;_ vlax-safearray-fill
8 i( Q! l; M+ u - ) ;_ vlax-make-variant
* M/ f$ e* R5 j - ) ;_ setq7 x) { A7 G- o3 }
- (setq obj (vla-AddLightWeightPolyline modelspace arypts))
9 c( b6 j1 o: D( {# g - (vla-put-Closed obj :vlax-true)
3 j" l8 `& C" T7 F6 J - (vla-SetBulge obj 0 1)
! A" l; P1 @7 j; s0 b; i - (vla-SetBulge obj 1 1)
6 a+ l) M3 i; I7 m' N6 P) U - (setq k (1+ k))# F' o2 P9 Y# i, Y0 g2 z
- (command "_matchprop" en (entlast) "")
% T5 E& {: V- ]1 M8 i - (entdel en), s `0 d3 r/ b0 l/ e7 I+ M
- )
* i" Y% m2 j$ U. P& f! m - )
+ Q! P+ }7 m2 R - (setvar "osmode" oldosmode)
8 M4 p/ q- f7 w, ^5 } - (setvar "cmdecho" oldcmdecho); _3 G# z/ R' Z( c* k
- )
复制代码 |