来自明经- (defun c:tt(/ modelspace)& F4 s# e( J1 A* i7 S
-
6 j3 _; _- T7 y# p. j# o - (setq oldosmode (getvar "osmode"), j& U& N# P" {+ Q4 g8 [, R$ i
- oldcmdecho (getvar "cmdecho")4 t. n2 Z+ l; b+ s6 n8 S
- )7 _- F: [# Z" G7 @2 P' ?' |" U" u
- (setq modelspace (vla-get-ModelSpace (vla-get-activedocument(vlax-get-acad-object))))
8 Y4 i3 ]! V! Y - (setvar "osmode" 0): d3 V; I; N; L
- (setvar "cmdecho" 0)
' G) k: S. C8 N4 I! M/ f& ^ - (setq ss (ssget '((0 . "circle"))))* V3 D' N; v: I7 B. ^" _9 _
- (setq k 0)
9 V5 q5 W1 S7 l/ U# |, u% R- [ - (if ss
' y( B( u. I% g7 E0 W8 ?+ { m - (repeat (sslength ss)
" F f, Y B3 l/ ?# |: C) r. W6 d - (setq en (ssname ss k))* \/ o! W W$ v% g) l- o2 M9 s$ Y
- (setq cp (cdr (assoc 10 (setq enl (entget en)))) I) |+ a( v7 ~) _
- r (cdr (assoc 40 enl))3 l9 s1 k2 ^' V0 r
- )2 C$ ~/ v8 q5 L* e& h
- (setq p1 (polar cp pi r)
2 n9 l/ D8 N9 ~% G - p2 (polar cp 0 r)0 `, [$ {+ x2 b& L7 l7 R9 d+ F
- )1 A$ Q1 H- D4 H5 G
- (setq pts (list p1 p2)
$ w# M9 x. ]3 u0 J - pts (mapcar '(lambda (x) (list (car x) (cadr x))) pts)
. b" a3 R L+ x- @ - n (* 2 (length pts))
* O( `9 p6 b6 k5 V5 s& a! ~9 G" O - )
- W3 ?, ?! t3 b - (setq arypts (vlax-make-variant6 C5 a" h+ o" @6 T5 h3 V) S
- (vlax-safearray-fill
: @$ }: k- d$ A - (vlax-make-safearray vlax-vbdouble (cons 1 n)). i, ]; O+ j4 c- `) Q
- (apply 'append pts)' J- d, V0 X* r. s/ C9 S ]" U- U; L
- ) ;_ vlax-safearray-fill
6 z- v8 |# L2 T# f) E& W4 B$ z - ) ;_ vlax-make-variant
) d* z" |9 C5 p! w7 Z/ N1 z - ) ;_ setq
) [6 B' k% `. K% s - (setq obj (vla-AddLightWeightPolyline modelspace arypts))
8 W" o5 u7 Z& }+ E! ^. X6 g - (vla-put-Closed obj :vlax-true): L. @5 r& o& X) X' w- l& s
- (vla-SetBulge obj 0 1)
7 f5 y O1 \" _) e L. U. F/ p - (vla-SetBulge obj 1 1)
4 B5 T. q5 x0 } - (setq k (1+ k))
. k ?. h1 o! k5 x, h5 s7 o - (command "_matchprop" en (entlast) "")7 ], i& T B7 V
- (entdel en)
$ P6 a- O$ B, \8 i, ~1 [0 @ - )% n" t5 K+ e, V8 ~% N! F9 H
- )
p+ t9 r% G- ^' J6 y8 y" E - (setvar "osmode" oldosmode)5 g; T3 {# g6 T$ V4 b3 v. z, c
- (setvar "cmdecho" oldcmdecho)& O5 g# F. F- ?* n3 ~# a' U3 \* R
- )
复制代码 |