如何获得标注对像的精度? 我查看了标注对像定义数据,没有找到控制其精度的组码。
本帖最后由 clh521 于 2016-4-7 11:08 编辑如何获得标注对像的精度? 我查看了标注对像定义数据,没有找到控制其精度的组码。
我需要的是选择一个标注,就得到这个标注值的精度。
例如:标注值是10.1,就得到1;标注值10.15,就得到2;标注值10.159,就得到3。
也就是选择一个标注后,就得到这个标注值的小数点后面有多少位数。
(vla-get-AltUnitsPrecision (vlax-ename->vla-object(car(entsel))))
Gu_xl 发表于 2016-4-6 16:55 static/image/common/back.gif
(vla-get-AltUnitsPrecision (vlax-ename->vla-object(car(entsel))))
好像结果不对呢?我是需要求出一个标注 的值的小数点后面有几位数。比如:3.11其精度为0.00;10.1其精度为0.0 查询消除尾数0的变量应该是可以解决问题 变量只能得到全局标注的精度。但我图面上有些标注小数点后只有两位数,有的又是一位数,消除尾数0的变量只能得到同一个结果 1993063 发表于 2016-4-6 21:40 static/image/common/back.gif
查询消除尾数0的变量应该是可以解决问题
变量只能得到全局标注的精度。但我图面上有些标注小数点后只有两位数,有的又是一位数,消除尾数0的变量只能得到同一个结果 1993063 发表于 2016-4-6 21:40 static/image/common/back.gif
查询消除尾数0的变量应该是可以解决问题
变量只能得到全局标注的精度。但我图面上有些标注小数点后只有两位数,有的又是一位数,消除尾数0的变量只能得到同一个结果 (defun c:dp (/ int ent da70 old-cmdecho old-ortho old-osmode)
(setvar "cmdecho" 0)
(setq int (getint "\n输入标注精度 <0> :"))
(setq ent (ssget '((0 . "DIMENSION"))))
(if (null int)
(command "_.dimoverride" "dimadec" 0 "dimdec" 0 "" ent "")
(command "_.dimoverride" "dimadec" int "dimdec" int "" ent "")
)
(princ)
) chg 发表于 2016-4-7 10:52 static/image/common/back.gif
(defun c:dp (/ int ent da70 old-cmdecho old-ortho old-osmode)
(setvar "cmdecho" 0)
(setq int ( ...
谢谢,不过你这个是改变了精度,而不是取得精度。
我需要的是选择一个标注,就得到这个标注值的精度。
例如:标注值是10.1,就得到1;标注值10.15,就得到2;标注值10.159,就得到3。
也就是选择一个标注后,就得到这个标注值的小数点后面有多少位数。 Gu_xl版主的方法只是得到替代标注的精度位数,看来没办法了
页:
[1]
2