明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2725|回复: 7

更改标注样式,自动改变相应的值[仲版主已解决]期待更完善!

[复制链接]
发表于 2012-9-10 21:21:26 | 显示全部楼层 |阅读模式
本帖最后由 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不会跟着改变,急求高手们支招,感激不尽!!!


谢谢仲文玉的热心相助,仲文玉的代码更加简练(详见第二楼),我还想更完善一下(详见第三楼),期待大侠帮助(重新编辑帖子没法悬赏了,采纳后评分追加明经币了)!


点评

还可以添加标注样式、字体样式。。。。。  发表于 2012-9-11 07:37
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2012-9-11 07:33:32 | 显示全部楼层
这样就可以了

  1. (defun c:tt ()
  2.     (setvar "modemacro" (strcat "比例:<1:" "$(substr,$(getvar,DIMSCALE),1,6)" ">" ))
  3. )

评分

参与人数 2明经币 +2 收起 理由
gcho + 1 赞一个!
lisp爱好者 + 1 赞一个!

查看全部评分

 楼主| 发表于 2012-9-11 11:36:07 | 显示全部楼层
仲文玉 发表于 2012-9-11 07:33
这样就可以了

谢谢仲文玉的帮助,我把dimscale改为DIMLFAC,
setvar "modemacro" (strcat "比例:<1:" "$(substr,$(getvar,DIMLFAC),1,6)" ">" ))

还想对这个DIMLFAC进行运算,即(rtos (/ 100 DIMLFAC),怎么添加到上面代码中呢,才能动态显示1:n(n为100除以当前比例因子DIMLFAC的值)

再次谢谢!!!
 楼主| 发表于 2012-9-12 08:52:34 | 显示全部楼层
仲版主忙吗,再请教一下,恳请出手相助!
发表于 2012-9-13 16:24:13 | 显示全部楼层
本帖最后由 仲文玉 于 2012-9-13 16:44 编辑
gcho 发表于 2012-9-12 08:52
仲版主忙吗,再请教一下,恳请出手相助!


自己改改就好了,不明白为啥要把比例因子除以100?直接获取不是很好?如果你的标注比例因子1:1就显示1:1,改过的也按照修改过的显示。
(setvar "MODEMACRO" (strcat "比例:<1:" "$(substr,$(getvar,DIMSCALE),1,6)" "> 比例因子:<1:" "$(getvar,DIMLFAC)" "> 标注样式:<" "$(getvar,DIMSTYLE)" "> 文字样式:<" "$(getvar,TEXTSTYLE)" ">"))
发表于 2012-9-13 16:28:41 | 显示全部楼层
你这样把比例因子除以100的话,本来是1:1的,不是显示1:0.01了吗?
 楼主| 发表于 2012-9-13 17:25:53 | 显示全部楼层
仲文玉 发表于 2012-9-13 16:28
你这样把比例因子除以100的话,本来是1:1的,不是显示1:0.01了吗?

仲版主,谢谢你的回复。
你看反了,是用100除以比例因子(/ 100 DIMLFAC),这样作图方便一些(模型画图),直接看左下角就知道当前标注样式下作图的单位了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-4-23 13:35 , Processed in 0.378599 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表