来自明经- (defun c:tt(/ modelspace)3 ], Y9 K% h$ P
- 0 a3 o. {/ F& d& g- x: o
- (setq oldosmode (getvar "osmode"); @1 |2 {/ g% u3 J5 p, G+ g* i$ F
- oldcmdecho (getvar "cmdecho") ~" g0 A/ I+ b3 z* U! ~
- )5 ?5 r; p. E! j N# ^% Z, V
- (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))3 @4 P0 f5 \* q+ }
- (setvar "osmode" 0)* }' s! \# S- F& t4 b3 e& z
- (setvar "cmdecho" 0)1 D$ G J# Y* E/ k
- (setq ss (ssget '((0 . "circle"))))
% D+ S7 h9 h0 e - (setq k 0)% ^& O; O: D7 W9 {. P# U+ ~) X; }; p
- (if ss, q4 k. q0 ~9 d. @. }
- (repeat (sslength ss)5 K- w- t) p* \8 s7 I
- (setq en (ssname ss k))
6 W4 Q$ [$ Q0 ~1 p+ G - (setq cp (cdr (assoc 10 (setq enl (entget en))))% k7 w* Y: |9 \
- r (cdr (assoc 40 enl)). ~2 u h. [. X3 t% C3 T- ^
- )
: e1 t+ M4 _; P8 l* S/ Y - (setq p1 (polar cp pi r)' l! Q# T- ]% M+ o4 b
- p2 (polar cp 0 r)
* d D/ y* }( p3 h9 i7 z/ X - )
! U2 g1 T, x8 C, h5 _ - (setq pts (list p1 p2)& j( Y/ N. @- S8 n3 D9 ]
- pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)
0 N( h& w- k8 d+ J - n (* 2 (length pts))
; {! j: t7 ^$ y2 @( N6 ]: x - )+ C4 `1 X( z, C9 k) e
- (setq arypts (vlax-make-variant
. i' q! F ^, s: L* a; i' ^" B: p0 `- c - (vlax-safearray-fill
( a8 p( Q f3 k% g - (vlax-make-safearray vlax-vbdouble (cons 1 n))
6 F! U, t" ~/ E# [: g - (apply 'append pts)
* l8 }$ V5 L8 |2 ^8 g0 M p - ) ;_ vlax-safearray-fill
/ c% p! K' n- E8 z- c+ {6 S - ) ;_ vlax-make-variant
" h/ y3 I6 l6 C( i9 p# U' z - ) ;_ setq% C& u5 Z4 l# P! R/ w
- (setq obj (vla-AddLightWeightPolyline modelspace arypts))1 f7 ?; ?! r( K K6 z" H) l4 y. ^( z
- (vla-put-Closed obj :vlax-true)2 W* ?, P! B5 C7 D, i+ w
- (vla-SetBulge obj 0 1)' n0 d8 a8 ^ K k; k. T
- (vla-SetBulge obj 1 1)
: B$ C+ y2 e' ~: |) e$ T2 b4 Z1 O* d - (setq k (1+ k))
- v7 j9 b- u! j3 r" H - (command "_matchprop" en (entlast) "")
* U0 C' [; T2 B3 ?5 x - (entdel en)
5 g9 M0 V4 R. N* g6 a' ? - )% G9 S% P0 P* F" i: ^8 f" K
- )% r7 B5 D! W3 f
- (setvar "osmode" oldosmode)
. M4 q: E' G9 @5 S a - (setvar "cmdecho" oldcmdecho)9 I) T" f2 M: Y3 O: ` B
- )
复制代码 |