(COND ((= newTolerance 0)(setq newTolerance acDimPrecisionZero)) ((= newTolerance 1)(setq newTolerance acDimPrecisionOne)) ((= newTolerance 2)(setq newTolerance acDimPrecisionTwo)) ((= newTolerance 3)(setq newTolerance acDimPrecisionThree)) ((= newTolerance 4)(setq newTolerance acDimPrecisionFour)) ((= newTolerance 5)(setq newTolerance acDimPrecisionFive)) ((= newTolerance 6)(setq newTolerance acDimPrecisionSix)) ((= newTolerance 7)(setq newTolerance acDimPrecisionSeven)) ((= newTolerance 8)(setq newTolerance acDimPrecisionEight)) (t(progn (princ "标注精度未改变")(VL-EXIT-WITH-VALUE 0))) ) 上面的代码为什么这么复杂,直接改为 (if (not (and newTolerance (>= newTolerance 0) (<= newTolerance 8) )) (progn (princ "标注精度未改变")(VL-EXIT-WITH-VALUE 0)) ) 就可以了,因为 acDimPrecisionZero=0 acDimPrecisionOne=1 ... |