来自明经- (defun c:tt(/ modelspace)( ]9 ?, S1 o! w7 v
-
+ t2 M7 W. y$ N7 r - (setq oldosmode (getvar "osmode")/ ^# ]; S5 B, A3 u7 o( X
- oldcmdecho (getvar "cmdecho")4 v/ D1 T2 _; E0 {
- )* u$ I5 P5 T0 l" L
- (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))2 Q8 |" l; e, f; t2 L5 A
- (setvar "osmode" 0)
$ p4 h6 e) S2 _0 v' g9 [% Z( ] - (setvar "cmdecho" 0)
9 f, M: @- F4 B6 Q$ [ - (setq ss (ssget '((0 . "circle"))))& v- `; x7 P: q
- (setq k 0)
7 V+ N! J9 ]8 Q" u) X - (if ss) P1 Q# h6 ]/ y& D9 P; j4 {
- (repeat (sslength ss)
5 s/ L2 W' n% v- |) j - (setq en (ssname ss k))
4 L; Y |0 X d - (setq cp (cdr (assoc 10 (setq enl (entget en))))# v# |2 {5 a, E7 [
- r (cdr (assoc 40 enl))
* J3 E6 w: o/ }3 t5 w& Z - )
+ w4 A# U: V, s4 u" T8 D - (setq p1 (polar cp pi r)" o5 Z* N; L' d4 Q/ c
- p2 (polar cp 0 r) G2 ^- v7 f' ~- t5 R* ?4 i% a
- )
, i* K) C2 r; X) L - (setq pts (list p1 p2)1 B, t3 ~, w4 |' l x
- pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts). f1 C" o7 A$ m7 B
- n (* 2 (length pts))& |! p) \ j+ A- G/ [% P) Y! ?# {7 j" i
- )
# X8 @2 H; ]6 o/ h# k - (setq arypts (vlax-make-variant: ]3 ?! r) C/ j ^; X
- (vlax-safearray-fill
- y% i. F1 U' j2 H U. M - (vlax-make-safearray vlax-vbdouble (cons 1 n)) f. ^) A6 F% L* {
- (apply 'append pts)
' q3 v: ]9 c, g( S/ i - ) ;_ vlax-safearray-fill2 v$ e% e; K" a: ~3 _4 X0 w
- ) ;_ vlax-make-variant
' y5 n4 [2 I& \3 h! i# S; [ - ) ;_ setq5 ^! U5 C Q: r' U
- (setq obj (vla-AddLightWeightPolyline modelspace arypts))/ c5 C7 {9 k1 P9 v6 E/ j; W
- (vla-put-Closed obj :vlax-true)
$ Z! P/ _& Y% ^# E - (vla-SetBulge obj 0 1)
0 ? G8 c1 O% B7 v( l - (vla-SetBulge obj 1 1): y2 L$ ]0 j' H; ?
- (setq k (1+ k))
* i: z! |" V6 \5 l% a% l6 P - (command "_matchprop" en (entlast) "")
/ n5 B, b4 ]9 K8 n - (entdel en): K( Y" d5 ?/ n+ ~( z& e, H
- )) G, y+ w' g* E c6 n
- )
B! f$ i' {7 }3 G8 H' C - (setvar "osmode" oldosmode)- G- N- V3 z8 M& q8 t
- (setvar "cmdecho" oldcmdecho)+ K- U* c5 |. G# R3 j* w
- )
复制代码 |