来自明经- (defun c:tt(/ modelspace)
, ^- g& z3 ?4 {( | - 0 \9 m, n+ H& m
- (setq oldosmode (getvar "osmode")
* D1 y0 C+ h* r( ` a+ G2 L - oldcmdecho (getvar "cmdecho")/ p" p; ]0 r7 d. g' R V
- )
1 t2 L. N* O' v - (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))
) a7 _- ^( F7 l" q9 q+ W/ x - (setvar "osmode" 0)2 `* i8 \1 h# o% p
- (setvar "cmdecho" 0)! X5 b( I+ c- @
- (setq ss (ssget '((0 . "circle"))))' B, i6 Z! a; D) @. c4 J5 x+ I
- (setq k 0)
0 I% p( G- u* X E+ j - (if ss
! v: w: C9 P/ ^! d1 A/ H% r* b4 s# E - (repeat (sslength ss)# o5 U6 J- y' q
- (setq en (ssname ss k))
( D4 ^; F1 v3 o, X* ~ - (setq cp (cdr (assoc 10 (setq enl (entget en))))' \. H' n( e \6 q5 a
- r (cdr (assoc 40 enl))
1 O: d- N9 c& \ - ), g# {2 n L+ ]
- (setq p1 (polar cp pi r)
# i3 U3 D' U! f - p2 (polar cp 0 r)' m5 p+ t- s0 r+ ?1 N+ f8 s$ u" R! }& [
- )
- \9 T' C! l! g# N7 z& E - (setq pts (list p1 p2)
9 N; |! t, J$ X, S - pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)
a1 H$ |1 A" @; T7 f7 v5 v, C+ x1 H - n (* 2 (length pts))$ r y! M9 [' Y/ p1 @9 V7 ^
- )4 @ ^7 O6 v; O
- (setq arypts (vlax-make-variant8 [) L, T6 e2 l& v2 b. O
- (vlax-safearray-fill c' k2 U! Y* J# a% L+ y' o
- (vlax-make-safearray vlax-vbdouble (cons 1 n))
( f# i" ~' _# ~! o) n5 x. R4 ? - (apply 'append pts): Y% m0 r- G5 g2 k _. v
- ) ;_ vlax-safearray-fill- O( C) N) u$ X" G& @1 d2 T6 R! m
- ) ;_ vlax-make-variant
: k& K i8 y* M% L- | - ) ;_ setq: C' U( t+ ]' V, C5 K6 U
- (setq obj (vla-AddLightWeightPolyline modelspace arypts))7 q Q+ g, X5 n0 i# c
- (vla-put-Closed obj :vlax-true)+ z5 @2 l. i8 s- S
- (vla-SetBulge obj 0 1)' X; @2 h) R8 O/ g: d5 ~
- (vla-SetBulge obj 1 1)
6 \% P# U, v/ o+ d8 K0 I. ? - (setq k (1+ k)) ]& _9 g/ X2 e, ]
- (command "_matchprop" en (entlast) "")
) s' r5 g2 x: X2 F5 b* U - (entdel en): k8 n5 b. f7 P# W- O
- )
. r( Y' p2 `1 ]3 ?0 s) P7 P6 y - )# ]0 u# y5 q Z1 k9 J9 @% {
- (setvar "osmode" oldosmode)
4 c1 E5 B! z+ s9 H/ `- K - (setvar "cmdecho" oldcmdecho)0 E+ Z: Z4 j' I- a( ?# m8 y! H- j9 I
- )
复制代码 |