来自明经- (defun c:tt(/ modelspace)% J E8 g z% b: N( t) q
-
* }% F- e; T4 T4 [% G - (setq oldosmode (getvar "osmode")% N2 n) E4 W- @) ~5 g( k
- oldcmdecho (getvar "cmdecho")% ]' h2 V- o- [) A9 H
- )& a1 S$ ^( `, ~
- (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))7 P. J4 h" ?/ p
- (setvar "osmode" 0)
/ g' S" g7 ^) @: A3 Q0 I$ d' M - (setvar "cmdecho" 0)
7 q" E5 S" P7 v5 b - (setq ss (ssget '((0 . "circle"))))5 i, K5 O" {; l# I
- (setq k 0)9 a: t5 @- T$ J+ `; A& w' {: s+ r
- (if ss
: z# d" a5 d: o. @: w - (repeat (sslength ss) V6 j# a# S( u) ]3 G
- (setq en (ssname ss k)). ^- M4 ]5 B; ^8 ?, a. j1 d
- (setq cp (cdr (assoc 10 (setq enl (entget en))))
8 ]$ O2 E- R( ]8 J$ r - r (cdr (assoc 40 enl))
# \0 B! s0 w/ ?& g: E4 }5 C4 L7 y - )3 ]- M3 c, h2 |/ e& n
- (setq p1 (polar cp pi r)
; Z8 R; e) J+ j# R) J - p2 (polar cp 0 r)
4 S. a% r2 k- C, \* V3 E/ D6 W5 \ - )
. o! Q4 e4 g/ y! _& G U - (setq pts (list p1 p2)
+ m1 b% Z m- l" k) C - pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)
: H6 t" [7 R1 }' W" S - n (* 2 (length pts))
+ J9 w( {0 u8 k - )0 W7 y1 G" T4 X+ L) ~: O& h; ]
- (setq arypts (vlax-make-variant
6 d5 g2 H# g7 [/ }' H - (vlax-safearray-fill; m% M' ~% U' y8 [; f3 V
- (vlax-make-safearray vlax-vbdouble (cons 1 n))0 f( _. L3 S5 Y
- (apply 'append pts)
. o9 ]$ L3 X) d2 Y$ |4 p* k - ) ;_ vlax-safearray-fill/ ^* s2 I/ g) R6 z/ ^8 k" l" s1 Q
- ) ;_ vlax-make-variant( j6 u2 V6 N7 _1 A
- ) ;_ setq% W' f& V% B4 t$ u* Q! _
- (setq obj (vla-AddLightWeightPolyline modelspace arypts))
1 l+ q/ u8 @) a2 m& s/ T - (vla-put-Closed obj :vlax-true)0 `* I1 m2 t" l# g. x5 }( _
- (vla-SetBulge obj 0 1)3 k: h/ I3 B0 ^: m; d* |. k
- (vla-SetBulge obj 1 1)
! }6 G4 D* X) L4 W% ?% s3 m+ M - (setq k (1+ k))* R7 H# Z3 p; ~( T
- (command "_matchprop" en (entlast) "")
9 b6 B4 ]2 B1 K - (entdel en)$ a' R0 `7 f( ^! Z# x) c( l' w- X
- )
9 g' b) E+ q$ e1 b5 c - )3 V) {( v2 {* O! Q( O6 H; L7 j
- (setvar "osmode" oldosmode)
- v4 i2 q6 f# B& m - (setvar "cmdecho" oldcmdecho)
4 Z X7 k# l$ i, b - )
复制代码 |