来自明经- (defun c:tt(/ modelspace)
5 p. v& q1 J) S7 ^9 Z6 d3 i -
& l% O& z+ E/ D9 D - (setq oldosmode (getvar "osmode")4 X ~. |& z# B" z
- oldcmdecho (getvar "cmdecho") v5 L/ G( p# P9 U
- )' H0 { n* `0 x. m
- (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))5 w. w$ t. m- E4 k& @( n8 w
- (setvar "osmode" 0)3 O0 B3 d3 u( A2 l( A
- (setvar "cmdecho" 0)
% t9 @3 u% z, [; w9 M - (setq ss (ssget '((0 . "circle"))))
h4 ~7 g, j; ^6 C9 N) \ - (setq k 0)
6 D/ E4 o* x! C @% a - (if ss
2 C4 @+ l! m9 n: L4 m1 H - (repeat (sslength ss)
. \" M) _6 P% G8 l( H& s - (setq en (ssname ss k))
( X. O2 Y Y7 h$ H% P - (setq cp (cdr (assoc 10 (setq enl (entget en))))2 S: U2 K/ }- v. d" C
- r (cdr (assoc 40 enl))1 x/ B" g7 p# ]* Q
- )
8 X- a6 w1 ?$ J* b# [ - (setq p1 (polar cp pi r)& m% C& H) }% X1 q2 i7 N0 v
- p2 (polar cp 0 r), y' \, t& F3 I& \% I* d- m% |: ^6 E
- )
. @. K0 s# e) @ - (setq pts (list p1 p2)
1 d% N4 K& G5 v+ g - pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)
4 V& k' P* x% ?6 U - n (* 2 (length pts))2 j9 _; z6 a+ S7 j
- )
' h% D) C. r+ p o3 l6 G - (setq arypts (vlax-make-variant2 R0 ]5 }1 T% Z& q+ E
- (vlax-safearray-fill
- d1 B* x/ F7 a# r, o2 {- z) h! C - (vlax-make-safearray vlax-vbdouble (cons 1 n))
6 w0 s* |/ k* L - (apply 'append pts)
" g8 y7 _" }! G8 E& O4 \/ ~ p - ) ;_ vlax-safearray-fill
* b# }7 D) C: x: E) P2 ? - ) ;_ vlax-make-variant
* U" C2 F3 Y# Z/ ]4 N6 c9 c - ) ;_ setq
& H" o/ q8 f w+ o$ w - (setq obj (vla-AddLightWeightPolyline modelspace arypts))% ?0 l% j H5 m7 e9 h
- (vla-put-Closed obj :vlax-true)
8 l4 i! _' d. ?1 v" J2 b - (vla-SetBulge obj 0 1)
( t$ I3 |. }7 q. D% k - (vla-SetBulge obj 1 1)- O& |! A: w- T! e6 T' ]
- (setq k (1+ k))
3 @5 l8 R0 @0 j! _* r - (command "_matchprop" en (entlast) "")% [8 T8 e6 U5 }8 U
- (entdel en)
- R3 G: S7 x7 q1 y4 A4 H8 M - )$ `" ?7 D1 D% m: f9 U# F; |
- )$ w6 M' Z2 r& r* B) C: R5 Q
- (setvar "osmode" oldosmode)
$ q! s3 }, h. P0 R- ` - (setvar "cmdecho" oldcmdecho)9 V" X7 v% ^( D, o) m
- )
复制代码 |