CAD二次开发技术课件(一、二)课案.ppt

上传人:豆**** 文档编号:24166146 上传时间:2022-07-03 格式:PPT 页数:38 大小:196.50KB
返回 下载 相关 举报
CAD二次开发技术课件(一、二)课案.ppt_第1页
第1页 / 共38页
CAD二次开发技术课件(一、二)课案.ppt_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《CAD二次开发技术课件(一、二)课案.ppt》由会员分享,可在线阅读,更多相关《CAD二次开发技术课件(一、二)课案.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、本课程要学习的内容第第1 1章章 AutoCADAutoCAD及其二次开发工具简介及其二次开发工具简介第第2 2章章 AutoLISPAutoLISP基本函数和绘图功能基本函数和绘图功能第第3 3章章 AutoLISP分支函数与循环结构第第4 4章章 AutoLISP输入输出函数和图形数据库 第第5 5章章 AutoLISP对话框设计技术第1章 AutoCAD及其 二次开发工具简介 1.11.1 AutoCAD简介l AutoCAD软件具有如下特点 : (1)具有完善的图形绘制功能。 (2)有强大的图形编辑功能。 (3)可以采用多种方式进行二次开发或用户定制。 (4)可以进行多种图形格式的转换

2、,具有较强的数据 交换能力。 (5)支持多种硬件设备。 (6)支持多种操作平台。 (7)具有通用性、易用性,适用于各类用户。 1.11.1 AutoCAD简介l 为了适用于各种产品的设计需求,多数CAD软件的功能都具有很高的通用性。但由于针对性不强,用户需求与CAD系统规模之间的矛盾日益增加,存在设计效率不高的问题。l 在CAD软件平台上,结合具体的应用需求,总结行业的设计知识和经验,开发面向行业和设计流程的CAD系统,这就是所谓CAD二次开发。l AutoCAD的开放体系结构。允许用户采用高级编程语言对其进行扩充和修改。 Autodesk公司自AutoCAD v2.18版至AutoCAD 2

3、000的短短十几年间,就相继推出了三代二次开发工具 。1.21.2 AutoCAD二次开发l AutoLISP AutoLISP是1986年随AutoCADv2.18提供的二次开发工具。它是嵌入AutoCAD内部的一种人工智能语言。使用AutoLISP可调用几乎所有的AutoCAD命令。AutoLISP语言最典型的应用之一是实现参数化绘图程序设计,包括尺寸驱动程序和鼠标拖动程序等。另一个典型应用就是驱动AutoCAD提供PDB模块构成DCL文件,创建自己的对话框。 AutoLISP适合于有能力的终端用户完成一些自己的开发任务。1.31.3 AutoCAD二次开发工具简介l Visual LIS

4、P(VLISP) VLISP是AutoLISP的换代产品。与AutoLISP完全兼容,并提供它所有的功能,是新一代的AutoCAD LISP语言。VLISP对语言进行了扩展,可以通过Microsoft ActiveX Automation接口与对象交互。作为开发工具,VLISP提供了一个完整的集成开发环境(IDE),包括编译器、调试器和其他工具,可以提高二次开发的效率 。1.31.3 AutoCAD二次开发工具简介l VBA VBA是2000版本后具备的功能。它通过AutoCAD ActiveX Automation接口对AutoCAD进行编程控制,是一个引入了对象的设计环境,为用户提供类似V

5、isual Basic语言所拥有的功能,可以执行并存取 AutoCAD环境的所有资源,适合编写中型的数据库类的CAD软件。1.31.3 AutoCAD二次开发工具简介 ActiveX AutomationActiveX Automation是微软公司是微软公司推出的一个技术标准,其作用是在推出的一个技术标准,其作用是在WindowsWindows系统的统一管理下协调不同的系统的统一管理下协调不同的应用程序,允许应用程序之间相互控制、应用程序,允许应用程序之间相互控制、相互调用。相互调用。 AutoCAD ActiveXAutoCAD ActiveX技术提供了一种技术提供了一种机制,可使编程者通

6、过编程手段从机制,可使编程者通过编程手段从AutoCADAutoCAD的内部或外部来操纵的内部或外部来操纵AutoCADAutoCAD。ActiveXActiveX是由一系列的对象组成,每一是由一系列的对象组成,每一个对象代表了个对象代表了AutoCADAutoCAD中一个明确的功中一个明确的功能,如绘制图形对象、定义块和属性等能,如绘制图形对象、定义块和属性等等。等。ActiveXActiveX所具备的绝大多数所具备的绝大多数AutoCADAutoCAD功能,均以方法和属性的方式被封装在功能,均以方法和属性的方式被封装在ActiveXActiveX对象中,只要使用某种方式,对象中,只要使用某

7、种方式,使使ActiveXActiveX对象得以对象得以“暴露暴露”,那么就,那么就可以使用各种面向对象编程的语言对其可以使用各种面向对象编程的语言对其中的方法、属性进行引用,从而达到对中的方法、属性进行引用,从而达到对AutoCADAutoCAD实现编程的目的。实现编程的目的。 l ARX ObjectARX是AutoDesk公司针对AutoCAD平台上的二次开发而推出的一个开发软件包,它提供了以C+为基础的面向对象的开发环境及应用程序接口,能真正快速的访问AutoCAD图形数据库。 ObjectARX应用程序是一个DLL(动态链接库),共享AutoCAD的地址空间,对AutoCAD进行直接

8、函数调用。所以,使用ARX编程的函数的执行速度得以大大提高。ARX 类库采用了标准的C+类库的封装形式,这也大大提高了程序员编程的可靠度和效率。 由于是在Windows及VC+编程环境里运行,所以,对开发者的编程能力要求较高。1.31.3 AutoCAD二次开发工具简介1.41.4 AutoLISP语言概述一、AutoLISP的数据类型1.41.4 AutoLISP语言概述一、AutoLISP的数据类型1.41.4 AutoLISP语言概述一、AutoLISP的数据类型1.41.4 AutoLISP语言概述二、AutoLISP的函数1.41.4 AutoLISP语言概述 (setq x 25.

9、0) (setq y 25.0) (+ (* x y ) x)三、AutoLISP的程序 (setq x 25.0) (setq x 25.0)(setq y 25.0)(+ x y)1.41.4 AutoLISP语言概述四、编辑和运行AutoLISPAutoLISP的程序的程序1.41.4 AutoLISP语言概述第2章 AutoLISPAutoLISP基本函数基本函数 和绘图功能和绘图功能2.12.1 AutoLISP基本函数一、数值函数2.12.1 AutoLISP基本函数一、数值函数2.12.1 AutoLISP基本函数一、数值函数2.12.1 AutoLISP基本函数二、符号与函数处

10、理函数2.12.1 AutoLISP基本函数二、符号与函数处理函数2.12.1 AutoLISP基本函数二、符号与函数处理函数2.12.1 AutoLISP基本函数三、表处理函数 AutoLISPAutoLISP接受接受carcar和和cdrcdr的任意组合,的任意组合, 如:如:(cadar (cadar ) )等效于等效于(car (cdr (car (car (cdr (car ) ) 。2.12.1 AutoLISP基本函数三、表处理函数2.12.1 AutoLISP基本函数三、表处理函数2.12.1 AutoLISP基本函数三、表处理函数2.12.1 AutoLISP基本函数四、字符

11、串处理函数2.12.1 AutoLISP基本函数四、字符串处理函数2.12.1 AutoLISP基本函数四、字符串处理函数2.22.2 AutoLISP的绘图功能一、GET类输入函数2.22.2 AutoLISP的绘图功能二、Command函数(1)Command函数的格式 (Command .)l 参数格式取决于所执行的AutoCAD命令及其所需要的数据类型。即command函数中所调用的参数类型、个数、与顺序均要和AutoCAD命令严格对应。l AutoCAD的命令、子命令和选择项要用不含空格的字符串表示,大小写均可。l 数字常量(整数或实型数)可写成数本身也可写成字符串形式l 点常量有两

12、种表示方法,一是用表的形式,如(10.0 25.0);二是用字符串中的数据表示如:” 10.0 ,25.0”。l command函数调用参数中的空串(“”),等效于在键盘上按一次空格键。l command函数调用的参数,如数字、点也可为表达式,但表达式求值结果的数据类型要和AutoCAD命令的要求一致。l command函数可以不带任何参数,相当于在键盘上按一次Ctrl+C。 AutoLISPAutoLISP具有强大的绘图编辑功能,主要是由于它具有强大的绘图编辑功能,主要是由于它提供了一个系统内部函数提供了一个系统内部函数CommandCommand函数,利用函数,利用CommandComma

13、nd函函数可以非常方便地调用几乎全部数可以非常方便地调用几乎全部AutoCADAutoCAD命令,以完成命令,以完成各种工程图形的绘制功能。各种工程图形的绘制功能。2.22.2 AutoLISP的绘图功能二、Command函数(2)Command函数的功能l Command函数的功能是在AutoLISP编程中直接调用AutoCAD命令以编制绘图程序,其求值结果总是返回nil。l 用一个Command函数可以执行一条或多条AutoCAD命令。l 一条AutoCAD 命令可由多个command函数完成。l command的参数不能用get类函数。在一条AutoCAD 命令由多个command函数完

14、成情况下,可在多个command函数调用中插入get类函数。(3)应用Command函数的注意事项 l Command函数调用中的参数类型、个数、顺序要和AutoCAD命令严格对应。为防止出错,可先在AutoCAD的命令行输入要执行的命令,确定其输入命令、子命令及数据都准确无误后,再编入程序的Command函数中。l Command函数调用中的命令、子命令及选项中不能含有空格。2.22.2 AutoLISP的绘图功能三、图形处理函数l(polar ) 用于求相对于点一定角度,一定距离的另外一点。方向角从轴正方向逆时针方向计算,单位为弧度。点可以是二维点或三维点,但polar总是返回二维点。l(

15、distance ) 返回两点间的3D距离。l(angle ) 返回由两点确定的一条直线与x轴正向的夹角,单位为弧度。2.22.2 AutoLISP的绘图功能三、图形处理函数l(inters ) 和确定第一条直线, 和确定第二条直线,本函数用来求两条直线的交点坐标。若任选项存在且其值为nil,则函数可以求两条直线或其延长线上的交点。l 目标捕捉函数osnap 用点拾取屏幕图形目标,再根据目标捕捉方式求出该图形目标的特征点, 目标捕捉方式:nea 最近点、endp端点、 mid中点、 cen圆心、 int交点 2.22.2 AutoLISP的绘图功能四、查询和设置系统状态的函数l(setvar ) 将AutoCAD系统变量置为给定,并返回这个值。其中变量名必须大写并且用引号括起来。l(getvar ) 用于获得AutoCAD系统变量的值。变量名必须大写并且用引号括起来。38 结束语结束语

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁