来自明经- (defun c:tt(/ modelspace)
) r7 {6 M: Y+ l2 B: d) |7 ` - 5 h$ h4 t' |7 f/ O& F$ p: W7 T3 H; \
- (setq oldosmode (getvar "osmode")
/ k+ F% M* r6 p0 m! L - oldcmdecho (getvar "cmdecho")
1 w4 Q! ~; d" V( @* Q W% C3 J: Q% v8 } - )
+ s, p) d, Y) f9 i- B$ j - (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))
- r) B% P) {* b' @# e - (setvar "osmode" 0)' T' @; D, W" s' _$ g! b
- (setvar "cmdecho" 0)
6 k' \8 @! |5 n& z# y* E% L* H - (setq ss (ssget '((0 . "circle"))))6 c5 j0 T, U+ {6 n# v& [, I
- (setq k 0)
1 H5 @: y3 F- X0 h1 R* }7 e - (if ss' G3 t' D& W) P3 C
- (repeat (sslength ss)) @7 s* y9 }$ j/ m) g, q
- (setq en (ssname ss k))
) ]4 B' Q; m1 R* i! c - (setq cp (cdr (assoc 10 (setq enl (entget en))))
+ r, Y1 E7 U: ^" V8 \+ H8 B - r (cdr (assoc 40 enl))2 k0 |1 A. X; D* Q# V( B
- )
6 _6 k$ x$ Y( K, v - (setq p1 (polar cp pi r)
0 J) c, c& t ?8 s A$ t - p2 (polar cp 0 r)
+ i4 Z5 ?& @$ u' ?7 i9 |1 M - )
2 [" W5 ?4 x2 x- N( S- ]9 J8 G - (setq pts (list p1 p2)7 Y) u) w# h1 a& Q9 T1 I/ L! y
- pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)
" V$ w. B* u1 D1 _. ?/ K0 o% k - n (* 2 (length pts))
" X7 D1 I1 ^! ^% r( S - )9 c, m. P- _9 Z2 m% G
- (setq arypts (vlax-make-variant
! _/ t. r3 d& }6 i0 y# K - (vlax-safearray-fill
' e+ n+ Y4 i' p - (vlax-make-safearray vlax-vbdouble (cons 1 n))" g9 A' v$ U4 b( G
- (apply 'append pts)" C- T/ o0 U' x1 j# \+ M- Q) S
- ) ;_ vlax-safearray-fill
2 Y. Q& c9 M5 P# R' {( j; W, n# g - ) ;_ vlax-make-variant
* C9 d* v; P! E1 g& q) U( @ - ) ;_ setq
& Y& ~9 O. U" R% K9 p# d - (setq obj (vla-AddLightWeightPolyline modelspace arypts))) G9 @$ r% E5 y; t: m
- (vla-put-Closed obj :vlax-true)/ p( ~' F7 ^& \0 b9 V/ q
- (vla-SetBulge obj 0 1)
6 O# X* S/ ~( L9 ~; g8 } D- H - (vla-SetBulge obj 1 1)
* ?/ x0 p( p2 L+ ], P$ q - (setq k (1+ k))& Y2 z6 p: M8 ]4 w
- (command "_matchprop" en (entlast) "")
7 c4 g! G0 u& r! I - (entdel en)' u% n7 ~. @( `
- )9 l- R. G. P' L" C1 U
- )
& L; Z& g1 Q: n. ~% | - (setvar "osmode" oldosmode)
3 u# Y# r; ]- j1 X9 Y7 a2 W - (setvar "cmdecho" oldcmdecho)& h* j8 w8 @' h$ o8 }2 Y- y/ O
- )
复制代码 |