AutoLISP绘图程序设计.ppt

AutoLISP绘图程序设计.ppt

ID:49983118

大小:380.50 KB

页数:85页

时间:2020-03-06

AutoLISP绘图程序设计.ppt_第1页
AutoLISP绘图程序设计.ppt_第2页
AutoLISP绘图程序设计.ppt_第3页
AutoLISP绘图程序设计.ppt_第4页
AutoLISP绘图程序设计.ppt_第5页
资源描述:

《AutoLISP绘图程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第三章AutoLISP绘图程序设计主要内容1.AutoLISP特点2.AutoLISP函数的用法3.AutoLISP程序结构4.AutoLISP程序执行方式8/10/20211§3.1AutoLISP概述一、AutoLISP介绍1.AutoLISP的作用(1)AutoLISP是一种表语言,是常用的AutoCAD二次开发手段。所谓二次开发:是指以AutoCAD软件为平台,加入自己所需要的功能。开发过程,就是编程的过程。二次开发所支持的语言有VB、C++,大型的二次开发,以C++为主,而小型二次开发,一般以AutoLISP为主。8/10/202

2、12(2)必须在AutoCAD环境下运行(内嵌);(3)AutoLISP可以编写程序,调用AutoCAD的许多命令;举例:在水平方向画n个大小相等的圆。;;调用AutoCAD命令画圆(defunC:HY()(setqP0(getpoint"第一圆心坐标:"))(setqR(getreal"半径:"))(setqL(getreal"圆心间距离:"))(setqa1)(setqn(getint"圆的个数:"))(while(<=an)(command"circle"P0R)(setqP0(polarP00L))(setqa(1+a))))8

3、/10/20213(4)AutoLISP语言中使用大量的函数(有200多个函数),进行各种运算;(5)AutoLISP编写的程序特点(学习中注意):以表形式描述数据处理过程,程序执行过程就是函数求值过程;每段程序都是一个函数;具有交互处理功能,边解释边执行;采用模块化设计方法。8/10/202142.AutoLISP的数据类型(1)整型数(INT):是由0、1、2…9、+、-组成的。(2)实型数(REAL):如0.4(0不能少)、-1.23、0.526E9(0.526×109)。(3)符号(SYM):除(、)、*、‘、”、;之外的字符序列,

4、并且不能全部是数字。符号常用着变量,如:Command:(setqX12);整型数Command:(setqX12.0);实型数Command:(setqX“12”);字符串8/10/20215(4)字符串(STR):如:“ABC”、“abc”、“457”等。(5)表(LIST):带有一对括号、有若干元素组成。(元素1元素2…元素n)如:(24f)◇元素的个数叫表的长度。◇元素也可以是表,如(45(36)7),这叫嵌套。◇元素之间必须用“空格”隔开。◇表的定义方式:(LIST56);’(56);还可以用defun定义(后面讲)。8/10/2

5、0216例:(setqP(list12.36-26.58))结果是:(12.36-26.58)例:(setqP'(12.36-26.58))结果是:(12.36-26.58)提示:(1)表的嵌套时一定要注意括号“(”、“)”匹配。(2)西文状态下输入!!!8/10/20217(6)文件描述符(7)AutoLISP内部函数(8)AutoCAD的选择集(9)AutoCAD的实体名上述数据类型中,前四种称原子,原子包括数值原子(整型数、实型数),符号原子和字符串原子。AutoLISP基本数据类型是原子和表,重点介绍前五种数据类型。8/10/202

6、18二、几个基本概念1.常数PI——数学中的π(3.1415929…)T——逻辑真,即成立。NIL——逻辑假,即不成立。还代表空,即无值。注意:(1)大小写等效;(2)它们不能作为变量。2.原子是程序处理中最小的数据单元。3.表达式原子和表的统称。如:(setqP'(12.36-26.58))8/10/202194.点是表的一种形式,也叫点表。有三种获得点的方式:(1)用'表示'(120.35253.24)(2)list函数定义点(setqX12.36Y-26.58)(setqM(listXY))结果是:M=(12.36-26.58)(se

7、tqM'(XY))结果是:(XY)(3)由getpoint函数得到点其格式:(getpoint“输入一点:”)8/10/202110三、AutoLISP程序结构1.举例例(1);;在屏幕上显示ASCII码为(65-90)的字符(defunC:zm(/as);自定义命令(setqas65n100)(while(<=as90)(command"text"(listn100)15""(chras))(setqas(+as1)n(+n20))))8/10/202111例(2);;绘制正多边形程序(defunc:dbx()(setqn(getin

8、t"输入多边形边数:"))(setqL(getreal"输入多边形边长:"))(setqP1(getpoint"输入多边形第一个角点坐标:"))(setqP2(pol

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。