admin管理员组

文章数量:1532656

2024年5月11日发(作者:)

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 R2.18及更高版本才可以使用AutoLISP语

言。

AutoCAD软件包中包含大多数用于产生图形的命令,但仍有某些命令末被提供。

例如,AutoCAD中没有在图形文本对象内绘制矩形及作全局改变的命令。通过

AutoLISP,你可以使用AutoLISP程序语言编制能够在图形文本对象内绘制矩形或

作全局选择性改变的程序。事实上,可以用AutoLISP编制任何程序,或把它嵌入

到菜单中,这样定制你的系统会取得更高的效率。

现在,已经有数以百计的第三方软件开发人员使用AutoLISP语言编制各种应用程

序软件包,例如,本文作者开发了一个名为SMLayout的软件包,用它可以产生各

种复杂几何图形的平面布局图,这些几何图形包括管道的交叉部、过渡都、圆柱、

弯管接头、圆锥以及罐顶。目前社会上非常需要AutoLISP程序员为应用软件及客

户菜单的开发提供顾问。

在本章中,我们假定读者已经熟悉了AutoCAD命令及AutoCAD的系统变量。但是,

在开始学习AutoLISP时,却并不需要你是一位AutoCAD或编程专家。同时,本章

还假定读者并无编程方面的知识。如果你熟悉任何一种编程语言,那么学习

AutoLISP就会很容易。对各种函数的评细探讨以及对例题的逐步讲解会使你学起

来很有兴趣。本章讨论常用的AutoLISP函数以及它们S程序编制中的应用。对于

本章中未涉及的函数,请参阅Autodesk公司的《AutoLISP程序员参考手册》。

AutoLISP对硬件没有任何特殊要求。如果系统能够运行AutoCAD,那么同样也可

以运行AutoLISP。AutoLISP程序可以使用任何文本编辑器进行编制。

书签收藏: Yahoo!收藏 | 百度搜藏 | 新浪ViVi | QQ书签 |

++++++ 会员功能: 引用 报告 回复

论坛操作帮助 | 常用的工具软件下载 | 获取社区币的方法 | 新手必看帖 | 什么

是灌水? | 会员积分等级说明 | 免责声明 | 隐私声明 | 更多帮助…

cad

超级版主

2楼

大 中 小

发表于 2006-4-16 18:23 资料 个人空间 短消息 加为好友

数学运算

任何编程语言都提供数学函数。在AutoLISP中,同样提供了编程以及数学计算所

需的大部分数学函数,你可以使用AutoLISP对数字进行加、减、乘、除运算,还

可以得到以弧度表示的角度的正弦值、余弦值及反正切值等。使用AutoLISP还可

以进行许多其他计算。这一节主要讨论AutoLISP程序语言支持的常用数学函数。

UID 2

精华 5

积分 5896

帖子 5697

好评度 46

社区币 9776

推广分 90

阅读权限 110

注册 2005-4-27

状态 离线

1.加法

格式(+ num1 num2 num3…)

此函数(+)计算加号(+)右边所有数字的和(+ num1 num2 num3…)。这些

数字可以是整数或实数。如果均为整数,则和为整数;如果均为实数,则和为实

数。但是如果既有整数又有实数,则和为实数。如下所示,在前两个例子中,所

有数字均为整数,所以结果是整数。在第三个例子中,一个是实数(50.0),故

结果为实数。

示例:

Command:(+2 5)返回 7

Command:(+2 30 4 50)返回86

2. 减法

Command:(+2 30 4 50.0)返回 86.0

格式(- num1 num2 num3…)

此函数(-)从第一个数中减去第二个数(num1-num2)。如果多于两个数,就

用第一个数字减去其后所有数字的和[num1-(num2+num3…)]。在下面的第一

个例子中,28减去14后返回14。因为两个数均为整数,结果亦为整数。在第三

个例子中20与10.0相加,并用50减去两数的和(30.0),返回一个实数20.0。

示例:

Command:(- 28 14) 返回14

Command:(- 25 7 11)返回7

Command:(- 50 20 10.0)返回20.0

Command:(- 20 30)返回河0

Command:(- 20.0 30.0)返回-10.0

3.乘法

格式(* num1 num2 num3…)

此函数(*)计算乘号右边所有数字的乘积( num1×num2×num3…)。若均为整

数,它们的乘积亦为整数;若其中含有一个实数,乘积即为实数。

示例:

Command:(* 2 5) 返回10

Command:(* 2 5 3) 返回30

Command:(* 25 3 2.0) 返回60.0

Command: (* 2 -5.5) 返回-11.0

本文标签: 函数使用图形编制整数