yrnomad 发表于 2022-7-6 12:49:13

图形状态栏/托盘

我记得大约5年前,我在一家公司工作,他们的图形的尺寸比例显示在状态栏/托盘上,靠近正交/捕捉/网格信息。
有谁知道这是他们定制的,还是我可以在2010年的某个地方打开的设置?
谢谢

NBC 发表于 2022-7-6 12:54:01

是的,这就是所谓的MODEMACRO。它可以显示AutoCAD中的许多变量。它使用DIESEL语言(如果我没记错的话)

yrnomad 发表于 2022-7-6 12:57:11

好的,我知道如何输入所需的文本,但如何使其显示活动的尺寸比例?
我试过:
modemacro模式
“Dimscale(getvar“Dimscale”)
它显示了我输入的内容。

Lee Mac 发表于 2022-7-6 12:59:25

在柴油机中:
 

$(getvar,dimscale)

 
在LISP中:
 
(getvar "DIMSCALE")
 
也许您需要:
 

(strcat "Dimscale = " (rtos (getvar "DIMSCALE")))

 

mdbdesign 发表于 2022-7-6 13:02:00

;该程序说明用户名、尺寸比例、当前文字大小、当前圆角半径。
(defun-q S::启动()
(命令
“modemacro”
“Mr YOUR NAME:DSc=$(getvar,dimscale)。TSz=$(getvar,textsize)。ALT_=$(getvar,DIMALTF)。”
)
)
 
将此添加到acad。lsp

Lee Mac 发表于 2022-7-6 13:06:35

为什么是defun-q?

mdbdesign 发表于 2022-7-6 13:08:47

(defun-q sym()表达式…)
 
defun-q函数严格用于与以前版本的AutoLISP向后兼容,不应用于其他目的。在需要以列表结构访问函数定义的情况下,可以使用defun-q,这是在以前的非编译版本AutoLISP中实现defun的方式。
 
 
对不起,李,我的英语不够强,无法解释,所以我从AutoLISP参考指南中粘贴了它。
 
我不记得我用了多久。下图显示了Acad2008(新玩具)和Acad 2002的底部。
晚安,李!

Lee Mac 发表于 2022-7-6 13:14:11

是的,我只是想知道为什么defun-q而不仅仅是defun。。。我不是说你错了-我自己从来没有定义过s::启动函数。。。

alanjt 发表于 2022-7-6 13:17:33

你不应该重新定义S::STARTUP,如果它已经存在,你只是用你的STARTUP来覆盖它。
相反,尝试以下操作:
(defun-q MB:STARTUP () (setvar "modemacro" "Mr YOUR NAME: DSc=$(getvar,dimscale).TSz=$(getvar,textsize). ALT_U=$(getvar,DIMALTF)."))

(setq S::STARTUP (append S::STARTUP MB:STARTUP))
 
这样,您只需添加,而不是覆盖。我还将其更改为setvar,以避免使用命令。

alanjt 发表于 2022-7-6 13:18:08

这是我的modemacro编码,有很多优点:
这将显示日期、时间、viewtwist(如果不是0)、filletrad(如果不是0)、dimscale、textsize,并根据ucs的变化显示WCS或非WCS。
页: [1] 2
查看完整版本: 图形状态栏/托盘