在DIESEL中使用setq变量
大家好,我有一些问题与mijn自定义功能区。。。我发现以下代码:
$(if,$(=,$(getvar,cvport),1),!PORT,PORT)
这允许在变量CVPORT为1时突出显示按钮,否则为常规按钮。。。
现在我有了一个lisp,它可以生成一个自定义变量:
(setq ONOFF开关1)
我想要按钮根据这个变量切换按钮。
在autocad中,我可以使用
!onoffswitch
它返回0或1(取决于状态)。
现在,我尝试将功能区按钮中的代码设置为:
$(if,$(=,$(onoffswitch),1),!PORT,PORT)
and...
$(if,$(=,$(!onoffswitch),1),!PORT,PORT)
and...
$(if,$(=,$($!onoffswitch),1),!PORT,PORT)
现在按钮显示:
$(IF,??)
如何修复? 在命令行中输入cvport并尝试更改该值。这是不可能的。你想做什么? 我想做的是:
启动时,加载lisp,其中使用了几个变量。。。
(setq aanuitswitchB 0)
(setq aanuitswitchV 0)
(setq aanuitswitchT 0)
(setq aanuitswitchN 0)
(setq aanuitswitchR 0)
(setq aanuitswitchX 0)
这些值可以随命令更改。
我没有使然后本地,所以设置值可以显示时,我使用!例如aanuitswitchB。这将返回0或1。
我想要一个功能区按钮,当'aanuitswitcb'为1时亮显,当'aanuitswitcb'为0时亮显。
我只能使用高亮显示选项来处理常规AutoCAD变量。。 Diesel仅适用于系统变量。由于单位值保存在系统变量中,因此可能有一种解决方案,尽管将其作为modemacro的一部分可能比功能区按钮更好。功能区并不总是反映正确的系统变量设置,因为它不会像“对象捕捉光标菜单”那样在每次执行命令或代码时重新生成。所有这些aanuitswitch*变量的目的是什么?张贴代码可能会帮助您找到解决方案。
页:
[1]