CAD二次开发技术课件(一、二).ppt
《CAD二次开发技术课件(一、二).ppt》由会员分享,可在线阅读,更多相关《CAD二次开发技术课件(一、二).ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、河南工业大学机电工程学院CAD二次开发技术授课:韩莉莉本课程要学习的内容第第1 1章章 AutoCAD AutoCAD及其二次开发工具简介及其二次开发工具简介第第2 2章章 AutoLISPAutoLISP基本函数和绘图功能基本函数和绘图功能第第3 3章章 AutoLISP分支函数与循环结构第第4 4章章 AutoLISP输入输出函数和图形数据库 第第5 5章章 AutoLISP对话框设计技术1.1 AutoCAD1.1 AutoCAD简介简介1.2 AutoCAD1.2 AutoCAD二次开发二次开发1.3 AutoCAD1.3 AutoCAD二次开发工具简介二次开发工具简介1.4 Auto
2、LISP1.4 AutoLISP语言概述语言概述第1章 AutoCAD及其 二次开发工具简介 1.11.1 AutoCAD简介l l AutoCADAutoCAD是是美美国国AutodeskAutodesk公公司司开开发发的的通通用用CADCAD软软件件,19821982年年首首次次推推出出了了AutoCAD AutoCAD R1.0R1.0版版本本,经经过过不不断断的的版版本更新,现最新的是本更新,现最新的是AutoCAD2011AutoCAD2011AutoCAD2011AutoCAD2011版本版本。l l AutoCADAutoCAD是是目目前前微微机机上上应应用用最最为为广广泛泛的的
3、通通用用交交互互式式计计算算机机辅辅助助绘绘图图与与设设计计软软件件包包。AutoCADAutoCAD的的强强大大生生命命力力在在于它的通用性、多种工业标准和开放的体系结构。于它的通用性、多种工业标准和开放的体系结构。l l 用用AutoCADAutoCAD绘绘图图速速度度更更快快、精精度度更更高高、而而且且便便于于个个性性,它它已已经经在在航航空空航航天天、造造船船、建建筑筑、机机械械、电电子子、化化工工、美美工工、轻轻纺纺等等很很多多领领域域得得到到了了广广泛泛应应用用,并并取取得得了了丰丰硕的成果和巨大的经济效益。硕的成果和巨大的经济效益。l AutoCAD软件具有如下特点:(1)具有完
4、善的图形绘制功能。(2)有强大的图形编辑功能。(3)可以采用多种方式进行二次开发或用户定制。(4)可以进行多种图形格式的转换,具有较强的数据 交换能力。(5)支持多种硬件设备。(6)支持多种操作平台。(7)具有通用性、易用性,适用于各类用户。1.11.1 AutoCAD简介l 为了适用于各种产品的设计需求,多数CAD软件的功能都具有很高的通用性。但由于针对性不强,用户需求与CAD系统规模之间的矛盾日益增加,存在设计效率不高的问题。l 在CAD软件平台上,结合具体的应用需求,总结行业的设计知识和经验,开发面向行业和设计流程的CAD系统,这就是所谓CAD二次开发。l AutoCAD的开放体系结构。
5、允许用户采用高级编程语言对其进行扩充和修改。Autodesk公司自AutoCAD v2.18版至AutoCAD 2000的短短十几年间,就相继推出了三代二次开发工具。1.21.2 AutoCAD二次开发l AutoLISP AutoLISP是1986年随AutoCADv2.18提供的二次开发工具。它是嵌入AutoCAD内部的一种人工智能语言。使用AutoLISP可调用几乎所有的AutoCAD命令。AutoLISP语言最典型的应用之一是实现参数化绘图程序设计,包括尺寸驱动程序和鼠标拖动程序等。另一个典型应用就是驱动AutoCAD提供PDB模块构成DCL文件,创建自己的对话框。AutoLISP适合
6、于有能力的终端用户完成一些自己的开发任务。1.31.3 AutoCAD二次开发工具简介l Visual LISP(VLISP)VLISP是AutoLISP的换代产品。与AutoLISP完全兼容,并提供它所有的功能,是新一代的AutoCAD LISP语言。VLISP对语言进行了扩展,可以通过Microsoft ActiveX Automation接口与对象交互。作为开发工具,VLISP提供了一个完整的集成开发环境(IDE),包括编译器、调试器和其他工具,可以提高二次开发的效率。1.31.3 AutoCAD二次开发工具简介l VBA VBA是2000版本后具备的功能。它通过AutoCAD Acti
7、veX Automation接口对AutoCAD进行编程控制,是一个引入了对象的设计环境,为用户提供类似Visual Basic语言所拥有的功能,可以执行并存取 AutoCAD环境的所有资源,适合编写中型的数据库类的CAD软件。1.31.3 AutoCAD二次开发工具简介 ActiveX ActiveX AutomationAutomation是是微微软软公公司司推推出出 的的 一一 个个 技技 术术 标标 准准,其其 作作 用用 是是 在在WindowsWindows系系统统的的统统一一管管理理下下协协调调不不同同的的应应用用程程序序,允允许许应应用用程程序序之之间间相相互互控控制制、相互调
8、用。相互调用。AutoCAD AutoCAD ActiveXActiveX技技术术提提供供了了一一种种机机制制,可可使使编编程程者者通通过过编编程程手手段段从从AutoCADAutoCAD的的内内部部或或外外部部来来操操纵纵AutoCADAutoCAD。ActiveXActiveX是是由由一一系系列列的的对对象象组组成成,每每一一个个对对象象代代表表了了AutoCADAutoCAD中中一一个个明明确确的的功功能能,如如绘绘制制图图形形对对象象、定定义义块块和和属属性性等等等等。ActiveXActiveX所所具具备备的的绝绝大大多多数数AutoCADAutoCAD功功能能,均均以以方方法法和和
9、属属性性的的方方式式被被封封装装在在ActiveXActiveX对对象象中中,只只要要使使用用某某种种方方式式,使使ActiveXActiveX对对象象得得以以“暴暴露露”,那那么么就就可可以以使使用用各各种种面面向向对对象象编编程程的的语语言言对对其其中中的的方方法法、属属性性进进行行引引用用,从从而而达达到到对对AutoCADAutoCAD实现编程的目的。实现编程的目的。l ARX ObjectARX是AutoDesk公司针对AutoCAD平台上的二次开发而推出的一个开发软件包,它提供了以C+为基础的面向对象的开发环境及应用程序接口,能真正快速的访问AutoCAD图形数据库。ObjectA
10、RX应用程序是一个DLL(动态链接库),共享AutoCAD的地址空间,对AutoCAD进行直接函数调用。所以,使用ARX编程的函数的执行速度得以大大提高。ARX 类库采用了标准的C+类库的封装形式,这也大大提高了程序员编程的可靠度和效率。由于是在Windows及VC+编程环境里运行,所以,对开发者的编程能力要求较高。1.31.3 AutoCAD二次开发工具简介l l LISPLISP(List List Processing Processing Language)Language)是是一一种种计计算算机机的的表表处处理理语语言言,是是在在人人工工智智能能学学科科领领域域广广泛泛应应用用的的一
11、一种种程程序设计语言。序设计语言。l l AutoLISPAutoLISP语语言言是是嵌嵌套套于于AutoCADAutoCAD内内部部,将将LISP LISP 语语言言与与AutoCADAutoCAD有有机机结结合合的的产产物物。使使用用AutoLISPAutoLISP可可直直接接调调用用几几乎乎所所有有的的AutoCADAutoCAD命命令令。AutoLISPAutoLISP语语言言既既具具备备一一般般高高级级语语言言的的基基本本功功能能,又又具具有有一一般般高高级级语语言言所所没没有有的的强强大大的的图图形形处处理理功功能能。是是当当今今世世界界上上CADCAD软软件件中中被被广广泛泛应应
12、用用的的语语言之一。言之一。l l AutoLISPAutoLISPAutoLISPAutoLISP程程序序设设计计较较简简单单易易懂懂,易易于于掌掌握握。适适合合于于有能力的终端用户完成一些自己的开发任务。有能力的终端用户完成一些自己的开发任务。l l Visual Visual LISPLISP是是AutoLISPAutoLISP的的换换代代产产品品。与与AutoLISPAutoLISP完完全全兼兼容容,并并提提供供它它所所有有的的功功能能,是是新新一一代代的的AutoCAD AutoCAD LISPLISP语语 言言。VLISPVLISP对对 语语 言言 进进 行行 了了 扩扩 展展,可
13、可 以以 通通 过过Microsoft ActiveX AutomationMicrosoft ActiveX Automation接口与对象交互。接口与对象交互。1.41.4 AutoLISP语言概述一、AutoLISP的数据类型l l整数:整数:(-2147483648-2147483648到到21474836482147483648)l l实数:实数:(-1.797693-1.797693 1010308308到到1.7976931.797693 1010308308 )l l符号:符号:包括除包括除“(”(”、“)”)”、“.”.”、“”“”、“;”;”以外的任何打印字符。长度没有限制
14、,大小写以外的任何打印字符。长度没有限制,大小写等价。等价。l l字符串:字符串:包含在一对双引号内的一组字符包含在一对双引号内的一组字符 包括任何可以打印的字符。区别大小写。最大包括任何可以打印的字符。区别大小写。最大长度为长度为100100个字符,个字符,100100以后的字符无效。没有任何以后的字符无效。没有任何字符的字符串为空串:字符的字符串为空串:”1.41.4 AutoLISP语言概述 常常常常用用用用术术术术语语语语“符符符符号号号号”来来来来指指指指储储储储存存存存静静静静态态态态数数数数据据据据的的的的一一一一个个个个符符符符号号号号名名名名,如如如如内内内内建建建建式式式式
15、函数和自定义函数。函数和自定义函数。函数和自定义函数。函数和自定义函数。常常常常用用用用术术术术语语语语“变变变变量量量量”来来来来指指指指存存存存储储储储程程程程序序序序数数数数据据据据的的的的符符符符号号号号名名名名(只只只只有有有有当当当当前前前前类类类类型型型型没没没没有有有有固固固固定定定定类类类类型型型型,字字字字母母母母开开开开头头头头,不不不不用用用用内内内内部部部部函函函函数数数数名名名名和和和和保保保保留留留留字字字字符符符符,如如如如:、.、;、(、)、pipipipi、pausepausepausepause、T T T T、nilnilnilnil等等)。等等)。等等
16、)。等等)。AutoLISP AutoLISP AutoLISP AutoLISP的变量不需要事先定义。的变量不需要事先定义。的变量不需要事先定义。的变量不需要事先定义。每每每每一一一一个个个个变变变变量量量量都都都都要要要要消消消消耗耗耗耗少少少少量量量量内内内内存存存存,故故故故当当当当变变变变量量量量值值值值不不不不再再再再有有有有用用用用时时时时重重重重复复复复使使使使用变量名或将变量设置成用变量名或将变量设置成用变量名或将变量设置成用变量名或将变量设置成nilnilnilnil是良好的程序设计习惯。是良好的程序设计习惯。是良好的程序设计习惯。是良好的程序设计习惯。其值保持不变的变量称
17、为常量,如:其值保持不变的变量称为常量,如:其值保持不变的变量称为常量,如:其值保持不变的变量称为常量,如:PiPiPiPi 整整整整数数数数、实实实实数数数数、符符符符号号号号、字字字字符符符符串串串串在在在在AutoLISPAutoLISPAutoLISPAutoLISP语语语语言言言言中中中中称称称称为为为为原子。原子包括:数字原子、符号原子和串原子。原子。原子包括:数字原子、符号原子和串原子。原子。原子包括:数字原子、符号原子和串原子。原子。原子包括:数字原子、符号原子和串原子。l l表表:放放在在一一对对相相匹匹配配的的左左右右括括号号内内的的一一个个或或多多个个元元素素的的集集合合
18、。元元素素间间用用空空格格分分开开。有有标标准准表表和和引引用用表表两种类型。两种类型。一、AutoLISP的数据类型1.41.4 AutoLISP语言概述 表表表表有标准表和引用表两种类型;有标准表和引用表两种类型;有标准表和引用表两种类型;有标准表和引用表两种类型;AutoLISPAutoLISPAutoLISPAutoLISP程序就是用标准表来表示的;程序就是用标准表来表示的;程序就是用标准表来表示的;程序就是用标准表来表示的;引用引用引用引用表用作数据处理,相当于其它高级语言的数组,表用作数据处理,相当于其它高级语言的数组,表用作数据处理,相当于其它高级语言的数组,表用作数据处理,相当
19、于其它高级语言的数组,提供了提供了提供了提供了保存各种数据的有效方法。保存各种数据的有效方法。保存各种数据的有效方法。保存各种数据的有效方法。引用表中的每一个元素可以是数字、符号、字符串,也可以引用表中的每一个元素可以是数字、符号、字符串,也可以引用表中的每一个元素可以是数字、符号、字符串,也可以引用表中的每一个元素可以是数字、符号、字符串,也可以是表。表可以嵌套。是表。表可以嵌套。是表。表可以嵌套。是表。表可以嵌套。如:如:如:如:(23 1.5 A dfg”23 1.5 A dfg”23 1.5 A dfg”23 1.5 A dfg”程序程序程序程序”(20.0 30.0 0.020.0
20、30.0 0.020.0 30.0 0.020.0 30.0 0.0)仅有两个元素,并用仅有两个元素,并用仅有两个元素,并用仅有两个元素,并用“.”“.”“.”“.”分开分开分开分开表称为点对。点对常用于构表称为点对。点对常用于构表称为点对。点对常用于构表称为点对。点对常用于构造连接表。造连接表。造连接表。造连接表。原原原原子子子子和和和和表表表表是是是是AutoLISPAutoLISPAutoLISPAutoLISP最最最最基基基基本本本本的的的的数数数数据据据据,总总总总称称称称为为为为符号符号符号符号表达式表达式表达式表达式(S-S-S-S-表达式)。表达式)。表达式)。表达式)。表表表
21、表有标准表和引用表两种类型;有标准表和引用表两种类型;有标准表和引用表两种类型;有标准表和引用表两种类型;AutoLISPAutoLISPAutoLISPAutoLISP程序就是用标准表来表示的;程序就是用标准表来表示的;程序就是用标准表来表示的;程序就是用标准表来表示的;引用引用引用引用表用作数据处理,相当于其它高级语言的数组,表用作数据处理,相当于其它高级语言的数组,表用作数据处理,相当于其它高级语言的数组,表用作数据处理,相当于其它高级语言的数组,提供了提供了提供了提供了保存各种数据的有效方法。保存各种数据的有效方法。保存各种数据的有效方法。保存各种数据的有效方法。引用表中的每一个元素可
22、以是数字、符号、字符串,也可以引用表中的每一个元素可以是数字、符号、字符串,也可以引用表中的每一个元素可以是数字、符号、字符串,也可以引用表中的每一个元素可以是数字、符号、字符串,也可以是表。表可以嵌套。是表。表可以嵌套。是表。表可以嵌套。是表。表可以嵌套。如:如:如:如:(23 1.5 A dfg”23 1.5 A dfg”23 1.5 A dfg”23 1.5 A dfg”程序程序程序程序”(20.0 30.0 0.020.0 30.0 0.020.0 30.0 0.020.0 30.0 0.0)仅有两个元素,并用仅有两个元素,并用仅有两个元素,并用仅有两个元素,并用“.”“.”“.”“.
23、”分开分开分开分开表称为点对。点对常用于构表称为点对。点对常用于构表称为点对。点对常用于构表称为点对。点对常用于构造连接表。造连接表。造连接表。造连接表。l l文件描述符文件描述符:打打开开文文件件时时的的返返回回值值,相相当当于于其其它它语语言言的的文文件件号号,用于数据的存取。用于数据的存取。l l选择集:选择集:选择集是一个或多个对象的集合。选择集是一个或多个对象的集合。l l实体名(图元名):实体名(图元名):是是AutoCADAutoCAD系系统统在在绘绘图图过过程程中中赋赋予予所所绘绘对对象象的的一一个个数数字字标标号号。确确切切地地说说,它它是是指指向向一一个个AutoCADAu
24、toCAD系系统统内内部部数数据据文文件件的的指指针针。利利用用图图元元名名,AutoLISPAutoLISP可可以以查查找找到到图图形形对对象象的的数数据据库库记记录录,并并对对其其进进行行各各种种方方式式的的处理。处理。一、AutoLISP的数据类型1.41.4 AutoLISP语言概述l l AutoLISPAutoLISP语语言言中中的的一一切切设设计计成成份份都都是是以以函函数数的的形形式式给给出出的的。它它没没有有语语句句的的概概念念或或其其它它语语法法结结构构,执执行行程程序序就就是是执执行函数,再调用函数。行函数,再调用函数。l l 学习掌握学习掌握AutoLISPAutoLI
25、SP语言,语言,核心就是要掌握它的函数核心就是要掌握它的函数;l l 学习学习AutoLISPAutoLISP函数要掌握的基本内容:函数要掌握的基本内容:(1 1)调用格式:即函数名、函数要求的参数个数和类型。)调用格式:即函数名、函数要求的参数个数和类型。(2 2)功能:即该函数的作用,它对其参数如何进行处理。)功能:即该函数的作用,它对其参数如何进行处理。(3 3)求值情况:即哪些参数被求值,哪些不被求值。)求值情况:即哪些参数被求值,哪些不被求值。(4 4)求值结果的返回值类型)求值结果的返回值类型二、AutoLISP的函数1.41.4 AutoLISP语言概述 这这这这一一一一点点点点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAD 二次开发 技术 课件
限制150内