level 1
ddshencha
楼主
下面的代码是:如果直径标注为2.5或3.5或4.5时保留一位小数修改成M2.5或M3.5或M4.5 如果是别的值时不保留小数。但是程序不稳定,当修改%%C4.5时,有时是M4.5有时是 M4。到底是什么原因。 (defun c:am ( )
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(setq sl1 (ssget '((0 . "DIMENSION"))))
(setq e1 (ssname sl1 0 ))
(setq elist1 (entget e1))
(setq rn (cdr (assoc 42 elist1)))
(if (or (= rn 2.5) (= rn 3.5) (= rn 4.5))
(setq tt1(rtos rn 2 1))
(setq tt1 (rtos rn 2 0))
)
(setq tt2 (cdr (assoc 1 elist1)))
(if (= "" tt2) (setq tt2 tt1) (setq tt2 tt2 ) )
(setq tt3 (strcat "M" tt2))
(setq elist1 (subst (cons 1 tt3) (assoc 1 elist1 ) elist1 ))
(entmod elist1 )
(princ) )


2012年03月23日 03点03分
1
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(setq sl1 (ssget '((0 . "DIMENSION"))))
(setq e1 (ssname sl1 0 ))
(setq elist1 (entget e1))
(setq rn (cdr (assoc 42 elist1)))
(if (or (= rn 2.5) (= rn 3.5) (= rn 4.5))
(setq tt1(rtos rn 2 1))
(setq tt1 (rtos rn 2 0))
)
(setq tt2 (cdr (assoc 1 elist1)))
(if (= "" tt2) (setq tt2 tt1) (setq tt2 tt2 ) )
(setq tt3 (strcat "M" tt2))
(setq elist1 (subst (cons 1 tt3) (assoc 1 elist1 ) elist1 ))
(entmod elist1 )
(princ) )

