使用哪种autolisp / autocad版本与现有部署的最大兼容性?

时间:2011-11-23 13:25:43

标签: autocad autolisp

我即将潜入autolisp,我想知道如何编写与尽可能多的不同版本的autocad兼容的代码,显然包括当前的代码,但理想情况下可以延伸到2000年。

Autodesk在http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=770225上有一个常见问题解答,但在2009年之前没有提及任何内容。

我应该使用哪个版本的(i)autocad和(ii)autolisp编译器?另外,这与visual lisp相同吗?

4 个答案:

答案 0 :(得分:2)

我不同意第一张海报。您希望确保所有内容都适用于全新版本,然后将其调整为较旧版本。大多数使用Autocad并在经济衰退中幸存下来的公司都是这样做的,因为他们跟上了。

答案 1 :(得分:2)

AutoLisp是解释的,而不是编译的,因此没有不同的编译器可供选择(尽管有一个选项可以将它们编译为.fas文件,但大多数时候你不会打扰)。

VisualLisp是AutoLisp语言的扩展,它允许您以与使用VBA相同的方式访问对象模型,仅使用AutoLisp。如果您使用以vl-或vla-开头的内置函数,那么您已经在使用VisualLisp。

兼容性主要是仅使用在所有版本中都相同的功能。

但是,这并不总是要计划,您可能必须创建一些特定于版本的文件,这些文件最后加载并重新定义某些函数以使用该特定版本(您可以轻松地告诉哪个版本正在加载lisp的AutoCAD。

答案 2 :(得分:1)

在你的情况下,年龄越大越好。您应该使用2000版本。但我不确定它是否适用于现代操作系统。

答案 3 :(得分:1)

好消息是,我自1994年以来在AutoLISP中编写的程序大多数仍在进行,而且只有很少的变化。以下是您可能会考虑的一些事项:

  1. 由于AutoCAD价格昂贵,因此有一个蓬勃发展的AutoCAD克隆生态系统,如Carlson IntelliCAD,BricsCAD和ProgeCAD。我提到的所有这些都运行AutoLISP,但有时会有轻微的怪癖,我不认为他们运行Visual LISP扩展。我的大多数AutoCAD AutoLISP程序只需在Intellicad / BricsCAD中调整很少。
  2. 我个人试着为v2010 +开发。但我遇到了仍在使用v2004的人。从2004年到现在(在AutoLISP中)唯一真正的区别是一些新的对象(如mleaders)和设置,如果你想与旧版本兼容,你可能希望远离它们。
  3. 有非常活跃的论坛,如TheSwamp和Autodesk论坛,在这些论坛中,您可以进行非常好的讨论并获得有关AutoLISP编程问题的良好帮助。