欢迎来到天天文库
浏览记录
ID:19602343
大小:1015.00 KB
页数:26页
时间:2018-10-04
《cad二次开发教程(autolisp)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Cad二次开发--AUTOLISP入门一、LISP编程语言概述AutoLISP是由Autodesk公司开发的一种LISP程序语言(LISP是ListProcessor的缩写)。第一篇关于LISP的参考文献是由JohnMcCarthy在1960年4月的《ACM通讯》中发表的。除了FORTRAN和COBOL,大多数在六十年代早期开发出来的语言都过时了,可是LISP却生下来,并且已经成为人工智能(AI)的首选程序序言。AutoLISP解释程序位于AutoCAD软件包中,然而AutoCADR2.17及更低版本中并不包含AutoLISP解释程序,这样,只有通过Aut
2、oCADR2.18及更高版本才可以使用AutoLISP语言。AutoCAD软件包中包含大多数用于产生图形的命令,但仍有某些命令末被提供。例如,AutoCAD中没有在图形文本对象内绘制矩形及作全局改变的命令。通过AutoLISP,你可以使用AutoLISP程序语言编制能够在图形文本对象内绘制矩形或作全局选择性改变的程序。事实上,可以用AutoLISP编制任何程序,或把它嵌入到菜单中,这样定制你的系统会取得更高的效率。二、基本语法1、一个表达式必须使用配对的括号。2、数学运算1.加法格式(+num1num2num3...)此函数(+)计算加号(+)右边所有数字
3、的和(+num1num2num3...)2.减法格式(-num1num2num3...)此函数(-)从第一个数中减去第二个数(num1-num2)4.除法格式(/num1num2num3…)此函数(/)用第一个数除以第二个数。如果多于两个数,就用第一个数除以其后所有数的乘积[num1/(num2×num3×...)]3、关系表达式1.等于格式(=atom1atom2…)该函数(=)检查两个元素是否相等。若相等,条件为真,函数返回T。同样,若指定的元素不相等,条件为假,函数返回nil2.不等于格式(/=atom1atom2…)该函数(/=)检查两个元素是否不
4、相等。若不相等,条件为真,函数返回T。同样,若指定的元素相等,条件为假,函数返回nil。3.小于格式(<atom1atom2…)该函数(<)检查第一个元素(atoml)是否小于第H个元素(atomZ)。若为真,函数返回T,否则返回nil。4.小于等于格式(<=atom1atom2...)该函数(<=)检查第一个元素(atom1)是否小于等于第二个元素(atom2),若是,函数返回T,否则返回nil。5.大于格式(>atom1atom2…)该函数(>)检查第一个元素(atom1)是否大于第二个元素(atom2)。若是,函数返回T,否则返回nil。6.大于等于
5、格式(>=atom1atom2…)该函数(>=)检查第一个元素(atom1)的值是否大于等于第二个元素(atom2)。若是,函数返回T,否则返回nil。三、基本函数1.defun函数defun函数用于在AutoLISP程序中定义函数,其格式为:(defunname[argument])其中name………………函数名argument…………参数列表示例:(defunADNUM(),定义了一个函数ADNUM,此函数无参数,也无局部变量(Localsymbols)。这就意味着程序中用到所有变量均为全局变量。全局变量的值在程序结束时不会丢失。(defunADNUM
6、(abc),定义了一个含有三个参数a、b和c的函数ADNUM。变量a、b、c从程序外部获取它们的值。(defunADNUM(/ab),定义了一个含有两个局部变量a和b的函数ADNUM。局部变量在程序的执行期间保留其值,而且只能在它所在的程序中使用。(defunC:ADNUM(),在函数名前加上C:后,此函数就可以通过在AutoCAD的Command:提示符后输入其函数名来执行。如果没有使用C:,函数名则必须置于圆括号中。注意AutoLISP包含一些内置函数,不要使用其中的任一名称作为函数名或变量名,以下是一些AutoLISP内置函数的保留名称列表。2.se
7、tq函数setq函数用于给变量赋值,其格式如下:(setqnamevalue[Namevalue]…)其中Name…………………变量名value…………………赋予变量的值赋予变量的值可以是任何表达式(数字表达式,字符串表达式或既含有字母又含有数字的表达式)。若该值为字符串,其长度不可超过100个字符。Command:(setqx12)Command:(setqx8.5y12)3、Command函数Command函数用于在AutoLISP程序内部执行标准的AutoCAD命令。AutoCAD命令名及命令选项必须置于双引号内。Command函数的格式为:(Com
8、mand“Commandname”)其中Command………………
此文档下载收益归作者所有