




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CAD,教师:李敬敏,邮箱:hjljm,梦后楼台高锁酒醒帘慕低垂去年春恨却来时,落花人独立微雨燕双飞,记得小苹初见两重心字萝衣琵琶弦上说相思,当时明月在曾照彩云归,晏几道临江仙,目的与应用,计算机的作用是将我们已知如何做的事情加以自动化。分析技术人员进行设计的过程技术人员需要计算机进行辅助设计,本课程的要求,4次上机实验,6次课堂讲授,课堂抽点5次考试形式:开卷,成绩=卷面80%+平时20%(实验报告+点名),主要内容,CAD程序设计方法相关的知识,VisualLISP集成开发环境(IDE),AutoLISP语言的基本要素,国内比较常见的二维CAD软件,基于AutoCAD的二次开发方法,AutoLISP程序的结构及特性,国内比较常见的二维CAD软件,自主版权的CAD软件或在AutoCAD授权的二次开发CAD软件,特点:版本类型较多,兼容性不是很好,国外的商品化的CAD软件,特点:功能齐全,性能优良,并完成了商品化和工程化的需求,一般都是通用化软件,基于AutoCAD的二次开发方法,AutoLisp与VisualLisp,LISP是广为应用的人工智能语言之一。,AutoLisp语言是嵌入在AutoCAD内部的LISP编程语言,目的是使用户充分利用AutoCAD进行二次开发,VisualLISP在AutoLISP基础上增加了对话框和窗口界面的库,为开发者提供了一个完整的集成开发环境(IDE),具有代码的编辑、程序调试、独立应用程序的发布等功能。,基于AutoCAD的二次开发方法,VBA(VisualbasicforApplication),VBA除了具有VB的基本语方特征,VBA和AutoCAD运行于同一处理空间,是内嵌在AutoCAD内部的,可以直接利用AutoCAD的图形处理资源,VisualBasic语言的代码阅读起来非常容易,但由于VBA不能向AutoCAD注册命令,调试较困难,但速度快,功能更强大,适合熟悉VB而不了解LISP开发者选择,基于AutoCAD的二次开发方法,ADS(AutoCADDevelopmentSystem),ADS是利用C语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行,这种可以在AutoCAD环境中直接运行的可执行文件叫做ADS应用程序。,优点:(1)具备错综复杂的大规模处理能力;(2)编译成机器代码后执行速度快;(3)编译时可以检查出程序设计语言的逻辑错误;(4)程序源代码的可读性好于AutoLISP,不足:(1)C语言比LISP难于掌握和熟练应用(2)源代码复杂,隐藏错误会导致AUTOCAD的崩溃,基于AutoCAD的二次开发方法,objectARX(AutoCADRuntimeextension),以C+为基础的面向对象开发环境和应用程序接口。用其开发的AUTOCAD软件具有模块性好,独立性强,连接简单,使用方便,代码可重性强等特点,可实现复杂功能,特点:,能够访问很多的AutoCAD底层工具;,唯一一种能够确保代码安全(不被别人阅读或非法复制)的开发工具,ARX可以向AutoCAD注册自己的命令,用户运行该程序时无需了解关于AutoCAD更多的知识;,基于AutoCAD的二次开发方法,.net,目前支持.net开发方法的软件版本AutoCAD2006及其以后的版本。不管开发人员熟悉的语言是VisualB还是VisualC#.net,进行AutoCAD二次开发的基本方法和步骤是一样的。,基于AutoCAD的二次开发方法,AutoCAD五种开发工具性能特点比较,学习VisualLISP的条件,要有足够的本专业知识的设计者(专业水平)。应熟练应用AutoCAD,每天有一定时间不受干扰的上机(足够的功夫)。有一定的英语水平,能看有关的深层技术资料(英语水平)。有几个有经验的人可以请教,有几本有用的应用参考书(导师)。有明确的近期目标和长远应用计划,最好带着任务干与学(应用目标与努力方向)。,应用VisualLISP水平,初级-简单计算和参数绘图,命令自动执行,选择集的使用。中级-自建图形库,设计工具,自定义数据结构,图形数据库的访问。高级-能进行多层次、多模块的复杂应用系统的设计,能设计过程模拟。,二、AutoLISP程序结构及特性,1、程序实例,1画圆,二、AutoLISP程序结构及特性,1、程序实例,2求圆周长和面积的函数,二、AutoLISP程序结构及特性,1、程序实例,3求两数中最大值程序,二、AutoLISP程序结构及特性,1、程序实例,二、AutoLISP程序结构及特性,2、AutoLISP语言的结构特点,1)AutoLISP程序由许多子表组成的一个大表。,表的结构:以圆括号组成表达式,左右括号一定要配对。,表的元素:可以是字母,数字,符号,也可以是表,甚至可以是空,表的元素是有序的:(ABC)和(BCA)不同,表中的元素用空格分隔,除字符串外,字母可随意大小写,二、AutoLISP程序结构及特性,2、AutoLISP语言的结构,2)“前缀表示法”-把运算符放在参数表的第一个元素的位置,后面为其参数,例如:表达式X=(A+B)C,在AutoLISP程序中表示为:,(setqX(*(+AB)C),3)注释以分号“;”开始到行末的所有内容,既不执行也不解释。,编写AutoLISP程序时,应添加必要的注释,以说明程序的功能、编写时间、作者、某些程序代码的具体含义等信息,这些信息将有助于程序的编写与修改。,二、AutoLISP程序结构及特性,2、AutoLISP语言的结构,此外,AutoLISP调用AutoCAD命令,编程顺序和键入绘图过程对应,(command“pline”P1“w”0.4“”p2p3“”),二、AutoLISP程序结构及特性,A.语法简单,易学易用B.功能函数强大C.撰写的环境不挑剃D.直译式程序,即写即测、即测即用E.横跨AutoCAD各作业平台,悠然自得,3、AutoLISP程序特性,3.1启动VisualLISP,1)在AutoCAD的命令行输入:VLISP或VLIDE,2)AutoCAD中的菜单/Tools/AutoLISP/VisualLISPEditor,三、VisualLISP编程环境,3.2VisualLISP编程界面,三、VisualLISP编程环境,3.3在VisualLISP编程环境下编辑并运行程序,1)进入AutoCAD,进入VLISP编程环境,2)下拉菜单-File-Newfile创建一个新文件,3)在文本编辑区键入以下程序,三、VisualLISP编程环境,3.3在VisualLISP编程环境下编辑并运行程序,4)保存文件,并命名,5)加载当前编辑窗口中的文件入内存,6)运行应用程序,在VLISP控制台窗口输入(box300240(100100)1.0)并回车Window-ActiveAutoCAD,切换到AutoCAD图形,在AutoCAD图形窗口命令行输入并回车,查看图形结果,三、VisualLISP编程环境,6)运行应用程序,三、VisualLISP编程环境,3.3在VisualLISP编程环境下编辑并运行程序,3.4VisualLISP环境的退出,可以点文件/退出,或直接关闭按钮。,声明:关闭并不是在程序中卸载了VisualLISP,而只是关闭了VisualLISP窗口。,三、VisualLISP编程环境,3.5应用VisualLISP调试程序,3.5.1检查括号匹配,1)左右括号不配对:malformedlist(残缺的表),或extrarightparen(多余的右括号),2)括号匹配功能:将光标移到要检查的起始括号位置上,按下相关的快捷键:Ctrl+:向程序前方匹配括号Ctrl+:向程序后方匹配括号,三、VisualLISP编程环境,3.5应用VisualLISP调试程序,3.5.2用语法分色检查拼写错误,三、VisualLISP编程环境,3.5应用VisualLISP调试程序,3.5.3使用检查命令检查其他语法错误,1)检查全部的程序行:菜单ToolsCheckTextinEditor(检查编辑器中的文字),2)检查选定的若干行程序片断:菜单ToolsCheckSelection(检查编辑器中选定的程序),三、VisualLISP编程环境,3.5、应用VisualLISP调试程序,3.5.4通过断点来检查,与变量有关的错误如果希望在程序运行到某处时检查变量的当前值,可在程序中的该处加入“断点”,中断后可用监视器观察变量,也可一个表达式一个表达式的求值,发现出错的地方。,(setqa(angle(2040)(60100)(princa)(setqbp(getstring)(setqa(angle(40100)(60100)(princa),三、VisualLISP编程环境,3.5应用VisualLISP调试程序,3.5.5编程中要注意的要点,1)不要和计算机较劲,2)计算机是非常公正的,3)相同的输入会得到相同的结果,4)变量作用域的定义,5)注意不要混淆度和弧度,6)对相关的系统变量进行检查,7)调试通则,三、VisualLISP编程环境,AutoLISP数据类型,A.整型数B.实型数C.字符串D.符号(或变量)E.表F.文件描述符G.AutoCAD选择集H.AutoCAD图元名I.VLA对象,四、AutoLISP基本要素,1.整型数整型数是由0,1,2,9,+或-这12个字符组成的数字,不含小数点。例如:+230、450、-180等均为有效的整数。,四、AutoLISP基本要素,2.实型数实型数是带有小数点的数,它以双精度浮点数格式保存,提供了至少14位的精度。例如:13.2、0.045均为有效的AutoLISP实型数,3.字符串字符串是由一对双引号”括起来的字符序列。,四、AutoLISP基本要素,AutoLISP对字符串有如下约定:,1)字符串中,同一字母的大小写认为是不同的字体,空格也是一个有意义的字符。,2)字符串的长度-指位于双引号之间的字符个数.字符串可以为空,则长度为0,最大长度为100,如果超过上限,后面无效。,“string1”和“nEnterfirstpoint:”都是有效的字符串。,4.符号(变量)作用:用于存储数据;,四、AutoLISP基本要素,命名:由任何可定字符以任意顺序组成如:a12、#b34、cde、f_78都是合法符号,注意:,2)不能包含下面6个字符:(左括号)(右括号)(句号)(单引号)(双引号);(分号),1)不能全为数字:123、456,4.符号(变量),四、AutoLISP基本要素,3)变量名称不能包含空格,变量名称没有大小写字母之分如ABC、aBC、abc等都是相同的,4)变量的数据类型:,变量的类型即为被赋予值的类型,同时程序运行过程中,变量的类型是可变的,5.表,1)所谓表:由圆括号括起来,由空格分隔的若干元素形成的有序集合;,2)表中的元素:可以是A整型,实型、字符串等数据类型;B各种函数(+24);C表(A(BC)D);,四、AutoLISP基本要素,3)表的类型:分为两种:,引用表:用来存储数据的,标准表:用于函数调用,5.表,3)表的类型:,引用表:用来存储数据的,四、AutoLISP基本要素,重要的应用:图中点坐标:二维点可用二维表(XY)表示三维点可用三维表(XYZ)表示,这本书中会讲到工程数据库也是引用表的典型应用,这种表第一个元素不是函数,不能作为函数调用,起数据存储作用,(1.01.00.0)、(“this”“that”“theother”)和(1“ONE”)都是有效的引用表。,3)表的类型:,标准表:相当于一个求值表达式,是AutoLISP程序基本的结构形式,表中的元素:3元素setq是系统内部定义的赋值函数元素m为变量,元素2为整数,均为setq的参数,四、AutoLISP基本要素,第一个元素必须是系统内部函数或用户定义函数,其他元素是该函数参数,5.表,(setqm2),5.表,4)表中元素有序的:(ABC)和(BCA)不同,为便于对表中元素进行存取,每个元素有序号,第一个为0,四、AutoLISP基本要素,5)表的长度:表中元素个数;,如:(ABCD+),(12(1.52.2)4),长度为5;,长度为4;,表中元素指顶层元素,对应表长,顶层元素构成的表长,6.文件描述符,当AutoLISP打开一个文件时,系统将给该文件赋一个数字标号,类似于文件指针,指向由AutoLISPopen函数打开的文件。当AutoLISP需访问一个文件时,应通过该文件的描述符对此文件进行读写操作。,例:_$(setqf(openfile.datr);以只读的方式打开文件“file.dat”,并将该文件的描述符赋予符号(变量)f,文件将保持打开状态。,四、AutoLISP基本要素,_$(closef);close函数可关闭文件。其中f是文件的描述符,代表该文件。,7.AutoCAD选择集,选择集是一个或多个对象的集合。类似于AutoCAD中的对象选择过程。在AutoLISP程序中,用AutoLISP函数可以构造选择集,并把它赋给一个符号,以供其他函数使用。,四、AutoLISP基本要素,如:(setqSS1(ssget),(setqSS1(ssget(1010),8.AutoCAD图元名,图元名是AutoCAD系统在绘图过程中赋予所绘对象的一个数字标号。确切地说,它是指向一个AutoCAD系统内部数据文件的指针。利用图元名,AutoLISP可以查找到图形对象的数据库记录,并对其进行各种方式的处理。,四、AutoLIS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年终止不定期劳动合同的规定与操作流程
- 项目立项案例题目及答案
- 叉车考试科目一的题目及答案
- 物体打击试题及答案
- 2024译林版八年级英语上册Unit 1 课时4 Grammar 分层作业(含答案)
- 营销策划岗位知识培训课件
- 2025年高考化学试题分类汇编:化学实验基础(解析版)
- 物流考试试题及答案2025
- 2025型钢租赁合同
- 物流的试题及答案
- T/CCS 063-2023井工煤矿智能化供排水系统运维管理规范
- DB36-T1694-2022-餐厨垃圾集约化养殖黑水虻技术规程-江西省
- 超市卫生管理规范培训
- 国际压力性损伤溃疡预防和治疗临床指南(2025年版)解读
- 中学生心理辅导活动课教案(合集)
- 《心律失常的诊断和治疗》课件
- 委托运营合作合同协议
- 违章作业培训课件
- 软件行业薪酬管理制度
- 门急诊管理制度
- 2025年中级消防设施操作员(维保)模拟试题题库(附答案)
评论
0/150
提交评论