我有许多自定义的 AutoLISP 命令,这些命令在我们公司已经使用多年,没有任何问题,直到今天早上。
我们有一个运行以下命令的 AutoLISP:
(command "-dwgunits" 3 2 4 "no" "no" "no")
这是我们公制比例设置的开始。我们今天遇到的问题是,缩放绘图的第三个提示已停止显示在我们所有的桌面上,这意味着第三个“否”导致其余命令出错。我第一次运行命令时,命令提示我输入第 3 项,之后再也没有出现过。我只收到 2 个提示。为什么第三个提示没有显示?
如果我把 LISP 改成只包含 2 个“否”,它就会开始要求输入第三个。奇怪的行为...
任何帮助将不胜感激。
答案1
在对 AutoLISP 进行了一些修改后,我能够确定,如果将 LUNITS 设置为我希望的值以外的其他值,它会询问是否缩放图形中的项目。如果我运行此命令,并且 LUNITS 已经相同,它不会询问是否缩放图形中的对象,这与参数的传递方式有关。
我能够开发以下内容来做我想做的事情:
指标:
(if (= (getvar "LUNITS") 2) (command "-dwgunits" 3 2 4 "no" "no") (command "-dwgunits" 3 2 4 "no" "no" "no"))
帝国:
(if (= (getvar "LUNITS") 4) (command "-dwgunits" 1 4 6 "no" "no") (command "-dwgunits" 3 2 4 "no" "no" "no"))