更改标注样式,自动改变相应的值[仲版主已解决]期待更完善!
本帖最后由 gcho 于 2012-9-15 18:03 编辑(defun c:tt ()
(setq bz (rtos (/ 100 (cdr(assoc 144 (TBLSEARCH "DIMSTYLE" (GETVAR "DIMSTYLE"))))) 2 0))
(command "MODEMACRO" bz )
)
这个小程序的目的是想在左下角状态栏显示当前标注样式对应的比例,方便画图,加载后能正确显示当前标注样式下的比例值bz,但是,当我改变了标注样式之后,这个值bz不会跟着改变,急求高手们支招,感激不尽!!!
谢谢仲文玉的热心相助,仲文玉的代码更加简练(详见第二楼),我还想更完善一下(详见第三楼),期待大侠帮助(重新编辑帖子没法悬赏了,采纳后评分追加明经币了)!
这样就可以了
(defun c:tt ()
(setvar "modemacro" (strcat "比例:<1:" "$(substr,$(getvar,DIMSCALE),1,6)" ">" ))
)
仲文玉 发表于 2012-9-11 07:33 static/image/common/back.gif
这样就可以了
谢谢仲文玉的帮助,我把dimscale改为DIMLFAC,
setvar "modemacro" (strcat "比例:<1:" "$(substr,$(getvar,DIMLFAC),1,6)" ">" ))
还想对这个DIMLFAC进行运算,即(rtos (/ 100 DIMLFAC),怎么添加到上面代码中呢,才能动态显示1:n(n为100除以当前比例因子DIMLFAC的值)
再次谢谢!!!
仲版主忙吗,再请教一下,恳请出手相助! 本帖最后由 仲文玉 于 2012-9-13 16:44 编辑
gcho 发表于 2012-9-12 08:52 http://bbs.mjtd.com/static/image/common/back.gif
仲版主忙吗,再请教一下,恳请出手相助!
自己改改就好了,不明白为啥要把比例因子除以100?直接获取不是很好?如果你的标注比例因子1:1就显示1:1,改过的也按照修改过的显示。
(setvar "MODEMACRO" (strcat "比例:<1:" "$(substr,$(getvar,DIMSCALE),1,6)" "> 比例因子:<1:" "$(getvar,DIMLFAC)" "> 标注样式:<" "$(getvar,DIMSTYLE)" "> 文字样式:<" "$(getvar,TEXTSTYLE)" ">"))
你这样把比例因子除以100的话,本来是1:1的,不是显示1:0.01了吗? 仲文玉 发表于 2012-9-13 16:28 static/image/common/back.gif
你这样把比例因子除以100的话,本来是1:1的,不是显示1:0.01了吗?
仲版主,谢谢你的回复。
你看反了,是用100除以比例因子(/ 100 DIMLFAC),这样作图方便一些(模型画图),直接看左下角就知道当前标注样式下作图的单位了。
页:
[1]