Lisp代码问题
你好为什么有Lisp函数在特定的Autocad版本中工作,而在其他版本中不工作?????
当做
塔瓦特
这是因为在较新版本的AutoCAD中,添加了旧版本中没有的新命令、子命令和系统变量。这就是为什么使用entmake比使用命令调用更好。另一个例子是Purge命令,其子命令REGAPP不在旧版本中。在为各种版本制作程序时,尝试仔细研究有时并不容易。 我认为Fillet是选项改变的另一个例子。
在确实使用命令的情况下,最好始终考虑语言和重新定义/未定义的命令,并始终拼写出整个选项。
如。
(command "_.fillet" "_radius" 3.) 你是只为Autocad写的吗?Intellicad有一些问题,它不像我做的那样,有些事情不得不非常微妙地更改代码。mac上的lisp也一样,真的很旧。
你可以这样做:
(setvar "filletrad" 3.0)
(command "._fillet" pause)
以下是我的意思示例:
AutoCAD 2004
Command: -purge
Enter type of unused objects to purge
:
AutoCAD 2009
Command: -purge
Enter type of unused objects to purge
[blocks/Dimstyles/LAyers/LTypes/MAterials/MUltileaderstyles/Plotstyles/SHapes/
textSTyles/Mlinestyles/Tablestyles/Visualstyles/Regapps/All]:
查看可用选项中的差异。AutoCAD 2009具有材质、多重引线样式、表格样式、视觉样式和Regapps,而AutoCAD 2004没有。
当我编写代码时,指出代码测试的版本是值得的,并且指出它可能在以前或将来的版本上工作,也可能不工作,以保护自己免受禁运。在某些情况下,一个命令或变量可能在未来的版本中过时,或者一个新的命令或变量在早期版本中不可用。
对于它,您可以做的不多,但在实现代码之前尽可能多地尝试和研究是值得的。如果不确定,请在代码头中使用上述语句。我有上面提到的两个版本,这可能还不包括我。 大家好!
这是我的问题:
我想写一个lisp程序,自动加载菜单文件(mns)并运行2个宏。
谁能帮帮我吗!
谢谢你的回答!
顺致敬意,
你最好从论坛中的新帖子开始,这样会给所有成员机会阅读你的请求,并能更好地帮助你。
欢迎来到CadTutor
塔瓦特 你好
除了旧Cad版本命令行为外,我如何跟踪Cad版本中系统变量的变化?
那么,我如何保证我将要编写的代码将按其应有的方式运行呢?
顺致敬意,
塔瓦特 嗨,Hunszab,
欢迎来到我们的论坛。。。。。。。。。
这很容易。。。。只要你找到你的mns文件,把你的lisp。。
对于宏,你可以创建工具栏按钮并保存在那里。。。。。。
现在lisp和宏总是自动工作。。。。。。。。。
查找mns文件路径。。。。。。。。。。步骤
选项
文件
搜索文件路径
(见此处)
当做
马尼 你好
谢谢你的回答。
但我仍然有问题,因为:我知道如何加载menufile和lisp文件,但必须使用菜单和加载菜单的用户不知道
这就是为什么我需要知道如何以编程方式修改支持文件路径,以及如何运行宏。因为如果用户选项是这样的:宏脱盐,宏不会自动运行
我已经准备好打开一个新主题:菜单和宏
谢谢你的回答!
页:
[1]
2