来自明经- (defun c:tt(/ modelspace)/ ~0 @* u/ o8 S4 _* J1 S+ }8 m
-
7 h7 W0 d/ _2 [ - (setq oldosmode (getvar "osmode")
# J- o! A0 I! U3 F+ D - oldcmdecho (getvar "cmdecho")
^" B, }8 v1 v) O$ G - )* A6 T' b, \. X6 j; R
- (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))* S! Z; m4 s. I: r
- (setvar "osmode" 0)
7 Z8 g' {$ A# i9 W3 U. T% @ - (setvar "cmdecho" 0)8 ^& \! R7 v4 \) i
- (setq ss (ssget '((0 . "circle"))))
p! I- { z @( K9 H4 p4 d/ g - (setq k 0)
1 y+ N; F" h6 S2 g - (if ss
6 q5 {$ N7 m1 R# X - (repeat (sslength ss)
$ \6 S# z- h' y: c. j2 ~$ W& M - (setq en (ssname ss k))4 [ C1 [( w* d) d" e
- (setq cp (cdr (assoc 10 (setq enl (entget en)))); y8 e9 m C& Q
- r (cdr (assoc 40 enl))
, ^+ X( Y4 m3 r: O+ Q - )
# t2 o; b8 f. _/ ~- v. _0 { - (setq p1 (polar cp pi r)
" q) ]" W, J+ [$ i - p2 (polar cp 0 r)
+ P- P+ ^& D: j# q - )
" W8 ^) I0 n& t9 i2 y - (setq pts (list p1 p2)" M: o+ \7 C3 w) I
- pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)
4 I" |5 s/ w3 ^: X# X - n (* 2 (length pts))
9 W1 q% g+ e- ?( u8 `2 T6 A. N - )9 a4 ?! U$ `' q3 W h! W, \
- (setq arypts (vlax-make-variant
+ ~1 K, E- v3 ^4 j( l+ X - (vlax-safearray-fill
- |' i3 n: k# ` - (vlax-make-safearray vlax-vbdouble (cons 1 n))
% q0 K9 j( y* }: K# u - (apply 'append pts)- q0 U8 g+ b- u ?. S) A
- ) ;_ vlax-safearray-fill1 D b6 Q! r- k- ^$ y2 N
- ) ;_ vlax-make-variant$ K* t* z+ T. \3 P7 b6 p8 c
- ) ;_ setq
! ?! x2 |9 |" z - (setq obj (vla-AddLightWeightPolyline modelspace arypts))- C3 w1 |3 W; {
- (vla-put-Closed obj :vlax-true)5 V, R: l9 l& I) s2 [$ }
- (vla-SetBulge obj 0 1)
* o; K- v" ~- l/ R# T6 M4 x - (vla-SetBulge obj 1 1)
8 s+ l4 I0 _1 v( B( i2 H" R - (setq k (1+ k))+ X9 u" l# T* [; \0 L
- (command "_matchprop" en (entlast) "")& K/ r5 ]% S7 D' D; u( {5 M/ {2 j: K
- (entdel en)
3 c3 r" s/ w& @! c% w4 i - )
, C4 z( K8 d6 z: M2 J# |0 Z - )" e4 [; m0 p5 [/ K/ g1 [9 ?
- (setvar "osmode" oldosmode)7 s& X9 }1 \+ X9 ^4 Z
- (setvar "cmdecho" oldcmdecho)9 D. j% X; Z* h+ h$ j
- )
复制代码 |