修改尺寸精度(&d)
大家好。有这样的例行公事吗?可以分享吗?谢谢
1、修改尺寸精度
不要修改标注样式。仅修改选定的。十字路口
如:
运行命令,提示
Please enter a new precision (maximum< 2 > :
交叉对象。
2、尺寸恢复。
交叉对象,恢复维度。
如果尺寸发生变化。(文字替代、添加前缀和后缀、修改精度、修改比例因子等)
所以使用这个例程可以恢复到原来的状态。 acad提供用户友好的快捷菜单。为什么不使用?
指向尺寸,右键单击->精度->0.0 ~ 0.000000
标注样式管理器->新建
想做多少就做多少。除非我误解了
这是更改尺寸精度:
(defun C:bzjd ()
(VL-LOAD-COM)
(setq dimObj (car (entsel "\nPlease choose the Dimension: ")))
(setq str_0 (cdr (assoc 0 (entget dimObj))))
(while (and (/= str_0 "LWPOLYLINE") (/= str_0 "DIMENSION"))
(setq dimObj (car (entsel "\nIt's not dimension,please try again : ")))
(setq str_0 (cdr (assoc 0 (entget dimObj))))
)
(setq dimObj (vlax-ename->vla-object dimObj))
(setq newTolerance (getint "\nEnter the new precision : "))
(if (= newTolerance "")
(setq newTolerance 0)
(progn
(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 (setq newTolerance acDimPrecisionEight))
(t(progn (princ "Dimension precision is not change")(VL-EXIT-WITH-VALUE 0)))
)
)
)
(vla-put-PrimaryUnitsPrecision dimObj newTolerance)
(vla-put-SuppressTrailingZeros dimObj :vlax-false)
(setq newTolerance (vla-get-PrimaryUnitsPrecision dimObj))
(princ "Dimension precision has been set to: ")(princ newTolerance)(princ "decimal places")
(princ)
)
但只有一个选择,我想要穿越。
关于维度恢复,我想你误解了。 嗨,艾伯托,交叉意味着多重选择吗?选择全部还是部分?(1) 也不提穿越
我为(2)道歉
谢谢hanhphuc,
交叉意味着多选。
我没有明确表示(2)
问题解决了,有人给了我答案。但它不是源代码。这就够了。
谢谢大家的分享,对于多个ssget都可以做到。我很高兴你解决了
然而,我鼓励你向其他成员分享你的结果,就像你开始这个帖子的原因一样&你需要一个富有成效的回应(正如塔瓦特所说)
我们加入论坛是为了互相帮助,对吗?只有我的2美分
答案是
在这里
页:
[1]