- 8
- 0
- 约3.97千字
- 约 8页
- 2021-10-29 发布于四川
- 举报
AutoCAD高级培训 第五讲之一
——AutoCAD二次开发
(AutoLISP 语言编程概述)
AutoLISP 语言简介
LISP——List Processing Language
AutoLISP:嵌套于AutoCAD内部,将LISP与AutoCAD有机结合,是AutoCAD开发的重要工具。
AutoLISP的功能:
?可直接调用AutoCAD的几乎全部命令
?具备一般高级语言的结构和功能
?具备一般高级语言所没有的强大的图形处理功能
AutoLISP的特点
?仅能以解释方式运行于AutoCAD内部(解释性程序设计语言)
?程序的全部内容均以函数形式给出,没有语句的概念,也没有其他语法结构,执行程序就是执行一系列的函数调用,也称“函数语言”
?把数据和程序统一表达为表结构,程序即数据,数据即程序,故也称为“表语言”
?运行程序就是对函数求值的过程,在此过程中实现函数的功能
AutoLISP的数据类型
?符号 (SYM)
?字符串 (STR)
?表 (LIST)
?文件描述符 (FILE)
?AutoLISP的内部函数(SUBR)
?AutoCAD的选择集 (PICKSET)
?AutoCAD的实体名 (ENAME)
?函数分页表 (PAGETB)
基本应用:涉及前五种,前四种称为“原子”。
1. 原子(原子就是“表”中的元素,常作函数的参数)
(1)整数
(2)实型数
(3)符号(常用来作变量名)
(4)字符串:在一对双引号“”内的一组字符
2. 表
表有如下几项特征:
放在一对圆括号内
其中的元素可以是:数字、符号、字符串、表
元素之间有空格
可任意嵌套,如 (15 (a b) c d)
元素在表中按先后顺序取得序号,依次为0,1,2,……
表的大小即表的长度,没有元素的称为空表,用()或nil表示
有两种类型:标准表、引用表
标准表——实现函数调用的表,第一个元素是函数,后面的元素是函数的参数;
引用表——被当作数据引用的表,如表示点的坐标(x,y)的表
3. 点对(dotted pair)
也是一种表,有两个元素,中间用“.”,圆点与元素之间必须用空格分开,可任意嵌套,常用于构造连接表。
AutoLISP的程序结构
有一个或一系列按顺序排列的标准表组成,如:
(setq x 25.0) (见辅导材料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()
(alert “Hello, The World!”)
)
加载AutoLISP文件有以下几种方法:
命令行加载(键盘命令方式)
命令:(load “路径”)
对话框方式
工具——AutoLISP——加载应用程序——选择AutoLISP文件——点击加载
自动加载方式(略)
运行AutoLISP
若为函数,则在“命令:”提示符下输入“(函数名)”并回车。
若为命令,则在“命令:”提示符下输入“命令名”并回车。
两个AutoLISP例程
绘制圆的渐开线
X=r(cos?+?sin?)
Y=r(sin?-?cos?)
r——基圆半径
;程序代码(involute.lsp)
(defun c:inv(/ p0 phi phimax phimin) ;见辅导材料P43-44
(setq p0 (getpoint \n请输入基圆的圆心:))
;见辅导材料P34和P46
(setq r (getdist p0 \n请输入基圆的半径:))
;见辅
您可能关注的文档
- 2015年第十四届“挑战杯”附件等.doc
- 2015年国家公务员考试视频、讲义及各类文本资料合集.doc
- 2015年考研至今最全视频及音频资料.doc
- AutoCAD 2013破解激活(附序列号、注册机).doc
- AutoCAD非专业组_2010-11操作题.doc
- Backlinks优秀的付费链接交易平台买卖链接赚美元操作方法教程.doc
- CAD如何直接输出JPG格式.doc
- Charley课上的歌词诗词.doc
- 广东省广州市白云区竹料第一中学2025-2026学年八年级上学期10月月考道德与法治试题(含答案).docx
- 广东省广州市绿翠现代实验学校2019-2020学年八年级10月月考道德与法治试题(含答案).docx
原创力文档

文档评论(0)