来自明经- (defun c:tt(/ modelspace)' g) e) u. J8 ]$ f$ p* F
-
' o1 z5 H0 }8 H, e. s - (setq oldosmode (getvar "osmode")
; x# Y- I, A" A1 o: @ - oldcmdecho (getvar "cmdecho")7 A0 M' \* Q# X* S1 ?
- )5 O' R$ t7 H& B- I" h* ]
- (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))
' k! V E/ k" G! d% }2 c - (setvar "osmode" 0)
% y4 X) A- C: b/ T - (setvar "cmdecho" 0)
9 O; j( C0 s) e6 I - (setq ss (ssget '((0 . "circle"))))
# I# [$ F; J* L0 l: d - (setq k 0)# T" ^( t3 B1 `
- (if ss- j2 O z$ ^$ o4 B$ h2 c5 k! {
- (repeat (sslength ss)9 I, f+ A3 g/ A! c+ f4 n
- (setq en (ssname ss k))
# S8 L. O6 W5 y6 ` [* i - (setq cp (cdr (assoc 10 (setq enl (entget en))))
8 B A* Y4 @1 J, y; Q1 V - r (cdr (assoc 40 enl))- J0 o5 e; K8 |
- )1 p" T/ Q' `" M* f: o; _+ X# S
- (setq p1 (polar cp pi r)
0 \* Z; ]3 L+ k; r0 U* l - p2 (polar cp 0 r)# l* M+ ~1 R w+ q9 p. Z
- )$ G l; p6 a5 ?' X' x8 B
- (setq pts (list p1 p2)
' T" B; o1 c2 w8 [! |$ V; e, s - pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts) p0 A1 l2 Y* o! P5 \
- n (* 2 (length pts))
2 A# q# _ ^# V' c - )
3 Z# j% l6 q6 B( ?$ { L4 J - (setq arypts (vlax-make-variant
9 ^/ y) B. m! q/ P" O& N - (vlax-safearray-fill
) Z; @2 b" u1 i, m- J- r - (vlax-make-safearray vlax-vbdouble (cons 1 n))
6 p( h4 z6 h2 K+ ^' d) y$ X - (apply 'append pts)
# a2 l5 ^/ K% Q1 ]) Q - ) ;_ vlax-safearray-fill+ p) ]# |0 l1 D' T
- ) ;_ vlax-make-variant/ ]0 I4 c* Z3 P' A, S; h. T2 d4 J
- ) ;_ setq% ?; ^8 H9 Q2 Q( A$ \2 ?
- (setq obj (vla-AddLightWeightPolyline modelspace arypts))" `: x5 `( \+ [5 ^, r
- (vla-put-Closed obj :vlax-true)
, C# ^ Q1 Q! b4 o; l5 M# p7 J - (vla-SetBulge obj 0 1)
0 I. Q4 G5 C" B: w2 Y - (vla-SetBulge obj 1 1)
8 |3 E/ W. h; U( _. x$ T - (setq k (1+ k))
2 c1 A5 U" [" @, N* J8 Y - (command "_matchprop" en (entlast) "") c4 b( I- F0 v i3 B- \: @
- (entdel en)
7 i" J) @& ^: r# |& E0 z. p - )
4 m5 q, F2 o9 H/ Z) Q - )
8 U9 p+ n/ Q& r) ~ - (setvar "osmode" oldosmode)3 t4 F! I1 v1 a7 P& {
- (setvar "cmdecho" oldcmdecho)) @! e( k8 q, V, u2 M; M% p. |
- )
复制代码 |