来自明经- (defun c:tt(/ modelspace)
5 t. ]; b* j/ j( f1 T, \ -
3 K7 v1 n! d1 S# b, A - (setq oldosmode (getvar "osmode")- D2 b% Y. f4 @( `4 z
- oldcmdecho (getvar "cmdecho")
4 ?# [% c, |0 G+ } M" c+ P - )
. u' R0 [6 Z+ m; w - (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))% m# {# S( j* d0 s
- (setvar "osmode" 0)% B4 p- V5 i$ U9 v
- (setvar "cmdecho" 0)' ^/ P F: E8 [, i* Z9 x
- (setq ss (ssget '((0 . "circle"))))
6 Q+ i- k' t5 ~: W - (setq k 0)
* ?2 x+ n9 u6 @1 W - (if ss, s$ G1 E4 y& D1 c8 R9 |6 \, p- ~3 v
- (repeat (sslength ss)
# a& N0 a7 R1 C) U! ]0 s3 E - (setq en (ssname ss k))9 _3 h& i5 H4 d" @
- (setq cp (cdr (assoc 10 (setq enl (entget en))))
y9 S+ p( B: [. ~6 R# E+ X - r (cdr (assoc 40 enl))5 e0 v- O: @: w0 x9 K4 [3 Y8 _1 \+ v
- )
( p. J2 |6 F' h# S, w$ F7 A - (setq p1 (polar cp pi r)
. b* ]" G. H; Y2 w" i4 K - p2 (polar cp 0 r)( r" t, K6 A# L. X) u/ R
- )
, G W# M; H! s7 C; [ - (setq pts (list p1 p2)
. J. i/ i& A3 p2 H - pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)# N4 v5 a+ q/ _( ~6 x0 G
- n (* 2 (length pts))7 `6 _+ R v2 p! E$ v% A
- )6 [( O) h; P. P, E
- (setq arypts (vlax-make-variant
" b3 ^( Q O- C - (vlax-safearray-fill; M$ J( Y2 n8 I
- (vlax-make-safearray vlax-vbdouble (cons 1 n))
- u/ G1 |, F5 I; A$ e - (apply 'append pts)
% V4 P" c% {4 j. ~1 J1 Q& o - ) ;_ vlax-safearray-fill
6 v: T- [* S9 d/ X( }. ?7 I! |$ U4 @ - ) ;_ vlax-make-variant5 L7 ~6 i( v' x8 e! [1 j
- ) ;_ setq
6 Z7 r/ |" p6 B1 k, c - (setq obj (vla-AddLightWeightPolyline modelspace arypts))
2 p" N2 r& _& Y4 v c( v& d - (vla-put-Closed obj :vlax-true)/ i+ Y' [8 g/ d, q H9 j
- (vla-SetBulge obj 0 1)
; _: L R: _/ q. c6 ~4 u( w - (vla-SetBulge obj 1 1)/ l; n# y b' B' J* l
- (setq k (1+ k))
. n* [% T6 R3 g, l - (command "_matchprop" en (entlast) "")
1 e3 P( p% N G( t6 n9 Q - (entdel en)
, f" w4 M/ M/ ` - )
4 T+ h- u0 K- d: Y5 u' G, p0 ] - )/ g* D# m* ~/ c/ @$ E
- (setvar "osmode" oldosmode)% F: e5 C! Q7 O8 t- |& \
- (setvar "cmdecho" oldcmdecho)9 g& s) ^) V: q2 d" ]
- )
复制代码 |