帮忙看看程序
(defun C:DimReplace( / dim bl jd len diment dimss dimty )(princ "\n选择标注: ")
(setq dim (ssget '((0 . "DIMENSION"))))
(setq bl (getreal "\n标注比例: <1>"))
(if (not bl) (setq bl 1))
(setq jd (getint "\n标注精度: <0>"))
(if (not jd) (setq jd 0))
(if dim
(progn
(repeat
(setq len (sslength dim))
(setq diment (entget (ssname dim (setq len (1- len)))))
(setq dimss (cdr (assoc 1 diment)))
(if (or (= dimss "") (= dimss "<>"))
(progn
(setq dimty (cdr (assoc 70 diment)))
(setq dimss (cdr (assoc 42 diment)))
(cond
((or (= dimty 32) (= dimty 160);线性
(= dimty 33) (= dimty 161);对齐
(= dimty 37) (= dimty 165);弧长
)
(setq dimss (rtos (* dimss bl) 2 jd))
)
((or (= dimty 34) (= dimty 162));角度
(setq dimss (strcat (rtos (WYB-rtod dimss) 2 jd) "%%D"))
)
((or (= dimty 35) (= dimty 163));直径
(setq dimss (strcat "%%C" (rtos (* dimss bl) 2 jd)))
)
((or (= dimty 36) (= dimty 164));半径
(setq dimss (strcat "R" (rtos (* dimss bl) 2 jd)))
)
)
(entmod (subst (cons 1 dimss) (assoc 1 diment) diment))
)
)
)
)
)
(princ "\n完成标注的文本替换")
(princ)
)
(defun WYB-rtod(r)
(/ (* r 180) pi)
)
这个程序有两个问题请叫高手
1,如何在选中尺寸时先显示尺寸的标准比例,然后再修改这个数据。
2,这个程序只能修改一次尺寸,修改或的尺寸就不能用这个程序再修改了
页:
[1]