- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AutoCAD高级培训第五讲之一
重要通知
每人需准备一份身份证复印件和20元考试费,今晚上机时统一收缴。建议每个班由一人收齐(登记名单),集中上交。
请相互转告!
AutoCAD高级培训 第五讲之一
——AutoCAD二次开发
(AutoLISP 语言编程概述)
二次开发:采用编程的方法扩充AutoCAD的功能,如增加新的绘图命令、新的修改命令等。
例如,AutoCAD中本来没有绘制正弦曲线(函数形式为Y=Asin(X+?))命令,通过编程开发一个AutoCAD的新命令,使用户可以使用该命令实现绘制正弦曲线,在命令的交互过程中,系统提示用户依次输入所需要的参数:坐标原点、振幅、周期数、初相角等。
常用二次开发工具:AutoLISP语言(运行于VisualLISP集成开发环境)、ActiveX、VBA、JAVA、C、ObjectARX等
需要掌握:AutoLISP语言(高级证书所必需)
AutoLISP 语言简介
LISP——List Processing Language
AutoLISP:嵌套于AutoCAD内部,将LISP与AutoCAD有机结合,是AutoCAD开发的重要工具。
AutoLISP的功能:
?可直接调用AutoCAD的几乎全部命令
?具备一般高级语言的结构和功能:顺序、条件分支、循环等结构;I/O、数值计算、逻辑判断、数据类型转换等功能
?具备一般高级语言所没有的强大的图形处理功能
AutoLISP的特点
?仅能以解释方式运行于AutoCAD内部(解释性程序设计语言)
?程序的全部内容均以函数形式给出,没有语句的概念,也没有其他语法结构,执行程序就是执行一系列的函数调用,也称“函数语言”
?把数据和程序统一表达为表结构,程序即数据,数据即程序,故也称为“表语言”
?运行程序就是对函数求值的过程,在此过程中实现函数的功能
例如,下面的内容就是一个完整的AutoLISP程序:
(defun math()
(setq x 10)
(setq y 20)
(+ x y)
(* x y)
)
该程序运行的结果是:200
AutoLISP的数据类型
?整型数
?实型数
?符号 (SYM)
?字符串 (STR)
?表 (LIST)
?文件描述符 (FILE)
?AutoLISP的内部函数(SUBR)
?AutoCAD的选择集 (PICKSET)
?AutoCAD的实体名 (ENAME)
?函数分页表 (PAGETB)
基本应用:涉及用蓝色显示的6种,前4种称为“原子”。
1. 原子(原子就是“表”中的元素,常作函数的参数)
(1)整数
(2)实型数
(3)符号(常用来作变量名)
(4)字符串:在一对双引号“”内的一组字符
2. 表
表有如下几项特征:
放在一对圆括号内
其中的元素可以是:数字、符号、字符串、表
元素之间有空格
可任意嵌套,如 (15 (a b) c d)
元素在表中按先后顺序取得序号,依次为0,1,2,……
表的大小即表的长度,没有元素的称为空表,用()或nil表示
有两种类型:标准表、引用表
标准表——实现函数调用的表,第一个元素是函数,后面的元素是函数的参数;
引用表——被当作数据引用的表,如表示点的坐标(x,y)的表
AutoLISP的程序结构
有一个或一系列按顺序排列的标准表组成,如:
(setq x 25.0) (setq函数,见辅导材料P34)
(setq y 12.2)
(+ (* x y) x)
AutoLISP程序书写格式的特点:
AutoLISP程序全部由函数组成,函数的形式是表,表的括号需左右匹配;
AutoLISP程序阅读函数时按从左到右的规则;
函数必须是第一个元素,函数与参数、参数与参数之间均至少要一个空格分开;
两个表之间和表内的多余空格和回车是不产生作用的,因此一个表可占多行,一行也可以写多个表。如前述程序可写为:
(setq x 25.0) (setq y 12.2) (+ (* x y) x)
用“;”开始的内容作为对程序的注释;
文件类型为“.LSP”,是ASCⅡ码的文本文件。
AutoLISP程序就是对AutoLISP函数的调用,AutoLISP函数分为系统内部函数和用户定义的外部函数,AutoLISP对函数的调用是通过标准表来实现的,程序的执行就是对标准表依次进行求值的过程,在求值的过程中实现相应的功能。
AutoLISP程序的执行过程
加载AutoLISP文件
一个简单的弹出对话框的例子(设文件名为test.lsp):
(defun c:testlisp() (defun函数,见辅导材料P43、p44)
(
文档评论(0)