我即将深入研究 autolisp 并且想知道如何编写与尽可能多不同版本的 autocad 兼容的代码,显然包括当前版本,但理想情况下也可以追溯到 2000 年。
Autodesk 对此http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=770225有一个常见问题解答,但在 2009 年之前未提及任何内容。
我应该使用哪个版本的 (i) autocad 和 (ii) autolisp 编译器?另外,这与视觉口齿不清吗?
我即将深入研究 autolisp 并且想知道如何编写与尽可能多不同版本的 autocad 兼容的代码,显然包括当前版本,但理想情况下也可以追溯到 2000 年。
Autodesk 对此http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=770225有一个常见问题解答,但在 2009 年之前未提及任何内容。
我应该使用哪个版本的 (i) autocad 和 (ii) autolisp 编译器?另外,这与视觉口齿不清吗?
AutoLisp 是解释的,而不是编译的,所以没有不同的编译器可供选择(尽管有一个选项可以将它们编译为 .fas 文件,但大多数时候你不会打扰)。
VisualLisp 是 AutoLisp 语言的扩展,它允许您以与使用 VBA 相同的方式访问对象模型,只需从 AutoLisp。如果您使用以 vl- 或 vla- 开头的内置函数,那么您已经在使用 VisualLisp。
兼容性主要是只使用在所有版本中工作相同的功能。
然而,这并不总是按计划进行,您可能必须创建一些特定于版本的文件,这些文件在最后加载并重新定义一些功能以使用该特定版本(您可以轻松判断 lisp 是哪个版本的 AutoCAD正在加载)。
我不同意第一张海报。您想确保一切都适用于全新版本,然后针对旧版本进行调整。大多数使用 Autocad 并在经济衰退中幸存下来的公司之所以这样做是因为他们跟上了。
在你的情况下,年龄越大越好。您应该使用 2000 版本。但我不确定它是否可以在现代操作系统上运行。
好消息是,自 1994 年以来我用 AutoLISP 编写的程序大部分仍在运行,几乎没有变化。以下是您可能会考虑的一些事项: