公差标注改善问题
图一
图二
源程序如下
(DEFUN c:wt()
(setvar "cmdecho" 0)
(if (= xx nil) (setq xx 0.01 yy 0.00))
(prompt "\n-->目前上差为:(" )(princ xx )(princ ")" )
(setq n (getreal "请输入新值: " ))
(prompt "\n-->目前下差为:(" )(princ yy )(princ ")" )
(setq m (getreal "请输入新值: " ))
(if (= n nil) (setq n xx))
(if (= m nil) (setq m yy))
(setq k 0)
(while (<= k 5)
(setq a (fix (* (EXPT 10 (- 5 K)) n)))
(setq b (* 10 (fix (* (expt 10 (- 4 k)) n))))
(setq k1 (- 5 k))
(IF (= a b) (SETQ K (+ K 1)) (setq K 6)))
(setq k 0)
(while (<= k 5)
(setq a (fix (* (EXPT 10 (- 5 K)) M)))
(setq b (* 10 (fix (* (expt 10 (- 4 K )) M))))
(SETQ K2 (- 5 k))
(IF (= a b) (SETQ K (+ K 1)) (setq K 6)))
(setQ d2 (max K1 K2))
(if (= n m) (setq c 1) (setq c 0.6))
(if (and (= n 0) (= m 0))
(COMMAND "_DIMOVERRIDE" "dimtol" "off" "")
(COMMAND "_DIMOVERRIDE" "dimtp" n "DIMTM" M "DIMTOL" "ON" "DIMTFAC" c "DIMTZIN" 8"")
)
(SETQ xx n yy m)
(PRINC)
)
源程序只能实现图一的效果,程序如何修改能达到图二要求,请高手们指点
不用改,输入负公差时加"-"号即可为正
页:
[1]