- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
重要通知
每人需准备一份身份证复印件和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)“Hello, The World!”)
)
(alert为错误处理函数,其作用是在屏幕上显示一个警告框,警告框中的内容是它后面的字符串)
加载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请输入基圆的半径:))
;参见辅导材料P46
(command circle p0 r) ;参见辅导材料P49
(setq phimin (getreal \n输入渐开线的起始角度(弧度):)) ;参见辅导材料P45
(setq phimax (getreal \n输入渐开线的终止角度(弧度):))
(setq dphi (getreal \n输入角度增量(弧
您可能关注的文档
最近下载
- 孝德与感恩(孝文化讲坛).pptx VIP
- 地下消防水池开挖专项施工方案.docx VIP
- 人工智能在小学数学个性化作业设计中的应用研究教学研究课题报告.docx
- 五上英语每日一练小纸条(含答案11页).pdf VIP
- Unit 3 Yummy food(Wrap up)外研版(三起)(2024)英语三年级下册.pptx VIP
- 近五年黑龙江省中考数学真题及答案2023.docx VIP
- 2022病毒疣基层诊疗指南.pdf VIP
- 大学物理化学第四版课程课件:第6章化学平衡.pptx VIP
- 中国体癣和股癣诊疗指南(基层实践版2022).docx VIP
- 张昕-行政组织学-第八章行政组织变革.pptx VIP
文档评论(0)