尺寸对齐的程序,高版本的CAD有此功能,可低版本的没有,自己编一个,
5 V# ?( y, q' O( @只能对水平、垂直的标注有效!!!!!!!
2 p& X/ l! m/ I9 d/ L7 g) [3 o* f: N3 P
不够完善,那位大师补充一下
4 y& W7 b' h% e( B0 H4 d
$ a$ X3 ]8 g1 c* `9 v(defun C:DIMalign(), U$ q0 T: I+ E1 w6 N' c1 l
(setq DIMENSION (entget (car (entsel))))
- Z! R1 @1 X7 \5 E" |(setq DIMENSION (subst (cons 70 160) (assoc 70 DIMENSION) DIMENSION ))
: O7 q3 s$ q' x4 m8 ]8 G K9 P(if (= (cdr (assoc '50 DIMENSION)) 0.0). v' ~% {# i. D7 l0 g
(progn
! I0 ]0 R: a# o( e' q) m (setq Y (caDdr (assoc '10 DIMENSION)))7 `; Q, s. F% f
(setq X (cadr (assoc '11 DIMENSION))): @, A3 v9 {$ X
(setq DIMENSION (subst (cons 11 (LIST X Y 0.0)) (assoc 11 DIMENSION) DIMENSION ))
5 C2 u k, x& I6 U (entmod DIMENSION)
( m) t2 k1 N( [! T* z$ \2 k (setq Y (caDdr (assoc '11 DIMENSION)))
6 ^( V& h8 C. c' r& m% Y" s- g (setq SSL (SSGET))
& L. L, \ w6 c1 W: O (setq N (- (sslength ssl) 1))
* v7 F6 ]; E# ] g1 E (setq test 0)0 @8 q! z* n) [. c
(while (<= test N )3 o% I( ~- M/ g$ t
(setq DIMENSION (ENTGET (ssname ssL test)))
* t/ A% ~, s7 f- i5 P (setq DIMENSION (subst (cons 70 160) (assoc 70 DIMENSION) DIMENSION ))
+ B1 A4 o/ c$ N* a, F2 D (setq X (cadr (assoc '11 DIMENSION)))
! H# b0 ^/ W. I7 b (setq DIMENSION (subst (cons 11 (LIST X Y 0.0)) (assoc 11 DIMENSION) DIMENSION ))5 o1 ?* N: L, g
(entmod DIMENSION)6 A( o+ x5 P! j
(setq test (+ 1 test))2 F. a D" c' N+ S
)5 x9 }5 o$ x# ^* u1 F1 p/ b9 Z
)
3 p, K0 x( W4 O% b0 U2 ~# A5 b, ](progn. Q. j9 R' ^9 a! H3 d2 X
(setq X (cadr (assoc '10 DIMENSION)))! S- Y5 G0 K- i. B0 n
(setq Y (caddr (assoc '11 DIMENSION)))
2 M4 q& {0 c4 _0 k (setq DIMENSION (subst (cons 11 (LIST X Y 0.0)) (assoc 11 DIMENSION) DIMENSION ))
1 j0 e/ }; p6 Y+ v (entmod DIMENSION)) g0 j, C5 n) u; A
(setq X (cadr (assoc '11 DIMENSION)))1 p5 ^2 \- L1 r0 k
(setq SSL (SSGET))% |. _6 _5 S1 y$ J; ~5 F3 {, c$ O7 n4 \8 C
(setq N (- (sslength ssl) 1))
v) ~; g/ ^) E8 a3 H (setq test 0)' U9 s% F* M4 z" ~7 u0 O/ W
(while (<= test N )
/ s& p$ Q% O }; S. C (setq DIMENSION (ENTGET (ssname ssL test)))# y' o5 z& L2 D" ~. @
(setq DIMENSION (subst (cons 70 160) (assoc 70 DIMENSION) DIMENSION ))
& i4 C: W0 e. I9 A1 ~' L' y (setq Y (caDdr (assoc '11 DIMENSION))); g$ v. `! v, X# t; B% S: @: j- b
(setq DIMENSION (subst (cons 11 (LIST X Y 0.0)) (assoc 11 DIMENSION) DIMENSION ))
; O" s$ t/ ~* e0 w( p+ z (entmod DIMENSION)
- u' p% c& Q$ B8 H" J* x (setq test (+ 1 test))# B9 y5 z! v0 Y. T! I* f, s
)
`' V. F! q1 l* U( j: l, O )
# E) X% r1 x3 Q4 v2 A! X* D)% n+ J. J! H* e) p5 J7 K, |' A
) |