AutoLISP
详细讲解
关于
AutoLISP
AutoLISP
是由
Autodesk
公司开发的一种
LISP
程序语言(
LISP
是
List Processor
的缩
写)
。
第一篇关于
LISP
的参考文献是由
John McCarthy
在
1960
年
4
月的
《
ACM
通讯》
中发表的。
除了
FORTRAN
和
COBOL
,大多数在六十年代早期开发出来的语言都过时了,可是
LISP
却生下来,
并且已经成为人工智能
(
AI
)
的首选程序序言。
AutoLISP
解释程序位于
AutoCAD
软件包中,然而
AutoCAD R2.17
及更低版本中并不包含
AutoLISP
解释程序,这样,只
有通过
AutoCAD
R
2.18
及更高版本才可以使用
AutoLISP
语言。
AutoCAD
软件包中包含大多数用于产生图形的命令,但仍有某些命令末被提供。例如,
AutoCAD
中没有在图形文本对象内绘制矩形及作全局改变的命令。通过
AutoLISP
,你可
以使用
AutoLISP
程序语言编制能够在图形文本对象内绘制矩形或作全局选择性改变的程
序。事实上,可以用
AutoLISP
编制任何程序,或把它嵌入到菜单中,这样定制你的系统
会取得更高的效率。
现在,已经有数以百计的第三方软件开发人员使用
AutoLISP
语言编制各种应用程序软件
包,例如,本文作者开发了一个名为
SMLayout
的软件包,用它可以产生各种复杂几何图
形的平面布局图,这些几何图形包括管道的交叉部、过渡都、圆柱、弯管接头、圆锥以及罐
顶。目前社会上非常需要
AutoLISP
程序员为应用软件及客户菜单的开发提供顾问。
在本章中,
我们假定读者已经熟悉了
AutoCAD
命令及
AutoCAD
的系统变量。
但是,
在开
始学习
AutoLISP
时,
却并不需要你是一位
AutoCAD
或编程专家。
同时,
本章还假定读者
并无编程方面的知识。如果你熟悉任何一种编程语言,那么学习
AutoLISP
就会很容易。
对各种函数的评细探讨以及对例题的逐步讲解会使你学起来很有兴趣。本章讨论常用的
AutoLISP
函数以及它们S程序编制中的应用。
对于本章中未涉及的函数,
请参阅
Autodesk
公司的《
AutoLISP
程序员参考手册》。
AutoLISP
对硬件没有任何特殊要求。如果系统能
够运行
AutoCAD
,那么同样也可以运行
AutoLISP
。
AutoLISP
程序可以使用任何文本编
辑器进行编制。
数学运算
任何编程语言都提供数学函数。在
AutoLISP
中,同样提供了编程以及数学计算所需的大
部分数学函数,你可以使用
AutoLISP
对数字进行加、减、乘、除运算,还可以得到以弧
度表示的角度的正弦值、余弦值及反正切值等。使用
AutoLISP
还可以进行许多其他计算。
这一节主要讨论
AutoLISP
程序语言支持的常用数学函数。
1.
加法
格式
(+ num1 num2 num3…)
此函数(+)计算加号(+)右边所有数字的和
(+ num1 num2 num3…)
。这些数字可
以是整数或实数。如果均为整数,则和为整数;如果均为实数,则和为实数。但是如果既有
整数又有实数,则和为实数。如下所示,在前两个例子中,所有数字均为整数,所以结果是