第4讲二维CAD系统及开发技术简介ppt课件.pptx

上传人:小飞机 文档编号:1354321 上传时间:2022-11-13 格式:PPTX 页数:50 大小:994KB
返回 下载 相关 举报
第4讲二维CAD系统及开发技术简介ppt课件.pptx_第1页
第1页 / 共50页
第4讲二维CAD系统及开发技术简介ppt课件.pptx_第2页
第2页 / 共50页
第4讲二维CAD系统及开发技术简介ppt课件.pptx_第3页
第3页 / 共50页
第4讲二维CAD系统及开发技术简介ppt课件.pptx_第4页
第4页 / 共50页
第4讲二维CAD系统及开发技术简介ppt课件.pptx_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《第4讲二维CAD系统及开发技术简介ppt课件.pptx》由会员分享,可在线阅读,更多相关《第4讲二维CAD系统及开发技术简介ppt课件.pptx(50页珍藏版)》请在三一办公上搜索。

1、4.1、二维CAD系统功能需求分析4.2、二维CAD系统体系结构4.3、二维CAD系统关键技术4.4、CAD系统图形交互技术(选)4.5、二维CAD系统开发简介4.6、 AutoCAD二次开发简介,第4讲 二维CAD系统及开发技术简介,1、了解二维CAD系统组成及体系结构2、简要了解二维CAD系统开发方法及过程,本章目的,4.1、二维CAD系统功能需求分析,对二维机械CAD系统的功能基本要求: 集设计、计算与绘图于一体,实用化程度高; 符合国家有关机械设计的标准; 全汉化界面、多级弹出式菜单、图标菜单及对话框等接口形式; 提示醒目,操作简单,容错能力强,适合从事机械设计的人员使用。,想一想:从

2、机械工程专业学生的角度考虑,二维机械设计CAD软件需要什么功能才能最好的满足工程设计人员的需求。,各种辅助工程绘图 零件计算与分析 汉字标注 装配图自动消隐和明细表自动生成 基于尺寸驱动的参数化设计 交互式参数化零件建库工具 智能尺寸标注与符号标注 参数化标准件、常用件、夹具零件库 简图符号库 多种信息查询 图号编码与管理,二维CAD系统具体功能需求如下:,Windows、TCP/IP协议、DBMS,基本图形定义,基础算法库,交互界面工具,图形库管理,图形编辑管理,图形显示管理,文件输入输出,内存数据管理,二次开发接口,数据库,专业应用开发工具,尺寸标注工具,设计计算工具,标准件库工具,专业符

3、号工具,查询管理工具,协同管理工具,工艺设计工具,4.2、二维CAD系统体系结构,参数化管理,通用层,专用层,数据层,支撑层,专业化应用CAD软件,4.3、二维CAD系统关键技术,1)基本图形生成(图形学)2)基础算法库(数学算法库)3)参数化技术4)内存管理技术5)二次开发技术6)通用图形库技术7)数据交换接口技术,1)基本图形生成(图形学)直线、圆弧、曲线、字符及其它组合图形的建模、生成与显示算法等图形基本算法:如填充算法、裁剪算法、曲线离散、求交计算等关键在于:效率和稳定性2)基础算法库基本数学运算:如矢量计算、矩阵运算、方程求解、插值计算、优化方法等度量、物性计算:如长度、角度、距离、

4、面积、质量等几何验证算法:如是否平行、垂直、相交、干涉及包容性等判断检验等 关键在于:效率和稳定性,3)参数化技术 参数化(Parametric)设计也叫尺寸驱动( Dimension-Driven),为用户提供方便的尺寸定义及图形的参数驱动技术,用户可高效绘制、修改图形。它不仅可使CAD系统具有交互式绘图功能,还具有自动绘图的功能。,目前参数化求解技术大致可分为如下三种方法: (1)基于几何约束的数学方法,又分为初等方法(Primary Approach)和 代数方法(Algebraic Approach) ; (2)基于几何原理的人工智能方法; (3)基于特征模型的造型方法。,参数化管理工

5、具 ( 1)约束定义工具:如共点、共线、共面、平行、垂直、距离、角度等 ( 2)约束求解算法:约束分解、求解序列规划、数值求解、推理求解等 ( 3)变量驱动管理(变量表),4)内存管理技术内存的分配、访问、碎片收集整理关键在于访问效率,大内存的管理,避免内存泄露开发工具的选择内存管理对系统影响巨大,直接运行影响效率 例如:部分软件运行多次后,速度明显变慢,必须重新启动计算机 目前,unix操作系统仍然比windows稳定,其内存管理和系统资源管理更稳定(当然windows历史更短一些)。,5)二次开发接口技术提供通用的调用接口函数,便于模块化,节省代码量,便于维护和扩充关键在于平台的无关性、兼

6、容性、可移植性外部接口的稳定性更难以控制6)通用图形库技术提供通用的图形库定义机制(多用模板机制),便于构建标准件库、常用零件库、用户自定义库等工具关键在于:图形库定义、添加、修改、删除等维护机制,通常采用数据库管理技术。,标准件库管理工具:1)各种标准件库(常用国标库:螺栓联接、轴承、 齿轮等,汽车标准件库,飞机标准件库等);2)标准件库管理(添加、修改、删除、查询等);3)用户专用零件库管理(添加、修改、查询等)。,图形显示管理:图形显示状态,如显示、隐藏;图形显示模式,如图层、线型、颜色;字符显示,如字体、颜色;图形显示流程,从模型定义到设备无关的接口,再到显示设备。,文件输入输出管理:

7、文件的输入与输出,其它文件格式转换,打印、绘图等硬件设备的输出,文件的加密与解密(包括软件狗)等。,尺寸标注工具:尺寸字体、引线、箭头,直线标注,圆弧标注,形位公差标注,国标符号标注。,专业符号工具:常用机械设计符号、焊接符号、液压符号、电器符号、设备符号、飞机设计专业符号、汽车设计专业符号等。,协同管理工具:网络连接通信服务,设计提交、发布、交流讨论、图形浏览、远程访问PDM数据库。,7)CAD系统的其它功能,图形编辑管理:各种图形的参数修改,曲线编辑,图形的切角、过渡、拼合连接、复制、阵列,图形的回退(Undo)、重作(Redo)等。,4.4、CAD系统图形交互技术(选),在现代设计过程中

8、,工程师们经常使用CAD/CG系统,把自己的设计构思通过交互设备输入到计算机中,计算机经计算、处理、显示等过程把工程师输入的设计方案反馈给工程师,如此反复输入、反馈、修改,直到满意为止。在这个过程中,工程师和计算机之间不断交换信息,完成交互任务,称为人机交互。交互技术也是CG&CAD的一个重要组成部分。,人机交互使用的设备主要有键盘、显示器、鼠标、各种模式识别设备等。早期的人机交互通过键盘输入命令,操作系统接到命令后立即执行并将结果通过显示器显示。随着计算机技术的发展,操作命令越来越多,功能越来越强。随着图形软件及硬件技术、模式识别技术(如语音识别、汉字识别)等输入设备的发展,采用类似于自然语

9、言进行交互成为可能。这些人机交互可称为智能化的人机交互。,CAD系统图形交互技术必要性:,人机交互技术的发展,1)图形交互设备,1)物理输入设备(硬件设备),键盘(Keyboard)鼠标(Mouse)跟踪球(Trackball)操纵杆(Joystick)数字化仪(Digitizer)触摸板(Touch Panel)光笔(Light Pen)数据手套(Data Glove)扫描仪(Image Scanner)数码相机(Digital Camera),2)逻辑输入设备,定位设备(Locator Device)笔划设备(Stroke Device)字符串设备(String Device)定值设备(V

10、aluator Device)选择设备(Choice Device)拾取设备(Pick Device),图形系统使用逻辑输入设备的概念来减少系统对物理设备的依赖性,提高系统的独立性和灵活性。虽然每种逻辑输入设备的功能都可以用多种图形输入设备来实现,但是有些输入设备却比其它设备更加方便地完成特定的逻辑输入功能。比如说,鼠标和数字化仪擅长于定位,键盘可以方便地输入字符串,光笔适合在屏幕上拾取图形。,定位设备用来输入位置坐标,如鼠标等,输入一系列坐标,是定位设备的连续调用,用来输入一串字符。键盘、手写体识别等,用于输入数值。如标尺、刻度盘等,从选择集中挑选出一个元素,如功能键,用来拾取屏幕上的一些对

11、象,如鼠标等,2)图形交互技术,交互技术的出现使得图形系统能提供各种不同的交互功能,使用户能方便、高效地完成传统方法做起来较为困难的工作。,常用的交互技术有:对话框、橡皮筋技术、约束技术、网格技术、引力场技术、拖动技术、操作柄技术、菜单技术等。,对话框技术 Dialogue Box,用户常常需要从一个选择集中选择多个元素。菜单技术不适合多选,如弹出式菜单在选择后就消失。对话框可以解决上述问题。对话框在确认关闭前一直可见。此外,对话框允许用户从多个选择集中作选择,可以提供输入文本和数值的区域,在用户确认之前都可以修改,并经用户确认后才消失。,对话框图示,橡皮筋技术 Rubber Band,橡皮筋

12、技术画直线就是在起点确定后,光标移动定终点时,在屏幕上始终显示一条连接起点和光标的直线,该直线随光标位置移动而变动,就像在起点和光标间紧紧地拉着一根橡皮筋。该方法也可画圆弧、矩形等。,橡皮筋技术画直线实际上是不断地进行“画擦(与或模式重画)画”简易动画过程。即: (1)从起点到光标中心点(x,y)处画图; (2)擦除起点到光标中心点(x,y)处图形; (3)光标移动到新的位置:x = x+x,y = y+y (4)转第(1)步,重复这个过程,直到按下确认键为止。,想一想:橡皮条技术如何通过画线方式实现的。,网格技术 Grid,网格是另一类约束技术,它强迫输入点落在屏幕的坐标网格交点上。坐标网通

13、常以线网或点阵网显示在屏幕上,该技术既可用于画线,也可用于定位。网格可取同等间隔并且覆盖整个屏幕,也可以使用部分网格以及在不同屏幕区域有不同大小的网格。,约束技术是指交互输入过程中施加特定约束限制条件进行图形交互,如绘制水平线、垂直线、平行线、相切线,给定长度、距离等。CAD中的参数化技术是最常见的约束交互技术。,约束技术 Constraint,拖动就是将形体在空间移动。选择拖动功能后,先在作图区用定位设备拾取某个要拖动的物体,再按住键移动光标,则这个被拾取的物体将随着光标的移动而移动。拖动过程是不断地进行画、擦、画的过程。,拖动技术Drag,操作柄技术Handle,操作柄技术可以用来对图形对

14、象进行缩放、旋转等几何变换。先选择要处理的图形对象,该对象的周围会出现多个操作柄,移动或旋转操作柄就可以实现相应的变换。,Undo/Redo技术,在大型CAD应用软件中均提供了一些无限级的UNDO和REDO功能,使用户编辑修改图形更加方便。,图形拾取是交互技术的重要内容之一。在交互式图形系统中,图形的增、删、改等操作都是以拾取图形或拾取图形的某一位置点为基础。拾取图形的速度和精度又极大地影响着交互系统的质量。,点拾取:点的显示域是以该点为圆心,r为半径的圆形域,r 是系统捕捉精度。鼠标位置落在此区域即拾取成功。,直线拾取:判断鼠标位置是否落在直线段的包容盒之内,且到直线段的距离是否小于等于系统

15、设定精度。,曲线拾取:曲线在显示输出时,己离散成小直线段集,故曲线拾取的算法与某一直线段拾取的算法类似。,封闭区域拾取:依次判别多边形边界上每条线段的显示域是否包含拾取点,如果该图案的某一条边界线段满足拾取条件,则对该区域的拾取成功。,图形拾取操作,3)菜单技术 Menu,菜单是程序提供用户进行命令和操作选择的可选操作表,其技术的特点是: (1) 可清楚地在屏幕上显示出可供用户选择的全部选项,就像餐厅点菜的菜单一样,一目了然。 (2) 可以防止用户选择在范围以外的项目,解决了错误命令问题。 (3) 菜单很灵活,可以改变内容。大多数图形系统都采用了菜单结构,菜单可是字符串,也可是图标(如工具条)

16、,由用户通过选择设备进行选择利用鼠标、光笔、触摸屏等输入设备可以实现菜单选择功能。,菜单设计原则,菜单主要分为三种方式:主菜单、下拉式菜单、弹出式菜单。主菜单始终固定显示在屏幕某区域上;下拉式菜单是当选择某些项才呈现到屏幕上;弹出式菜单用鼠标右键单击某个热区后才呈现到屏幕上,二者都在需要时出现,不需要时立即消失,不会遮挡原显示图形。,一般来说,选择项较少的菜单效率较高。通常菜单位于屏幕一侧,使其不影响图形显示,如果菜单内容太多,可把菜单分层,由主菜单引出第二级菜单,由第二级引出下一级菜单,菜单层数不宜超过三层。除了固定菜单外,另一种布局方式是“可移式”菜单,如“弹出式”菜单,它可以在任意屏幕光

17、标处出现。,A)界面整体设计,4)图形界面设计,人机操作界面是计算机与人交互的窗口。良好的用户界面是软件产品实用化、商品化的重要因素之一。界面设计涉及到生理学(人们对环境的感觉),心理学(人们对知识获取的方式),以及人的其它因素(人们如何与机器交互作用)等。,界面的屏幕设计涉及屏幕布局、显示内容、颜色选择等,有一些经验可参考。 (1) 屏幕划分:对称型和非对称型。设计中注意空间优化,突出重点。,(2) 字符选择:字体、字型、大小、中西文及大小写、对齐方式、间隔、页边空白等。好的设计可给屏幕带来生气,增加可读性。 (3) 颜色、亮度选择:避免同时使用光谱边缘色;字符、细线、小物体应避免用蓝色;避

18、免红、绿色同时使用。利用颜色把用户注意力吸引到重要信息上,并对信息进行分类,增强人的兴趣,减少视觉疲劳。,B)界面设计原则,(1)保持一致性。界面设计时,应遵从统一的、简单的规则;(2)提供反馈。反馈用户计算机正在进行的操作、结果、出错处理以及下一步应怎样进行等。如果响应时间长,反馈信息就更显重要;(3)尽量减少失误的可能。减少用户的操作失误,引导用户只在有效的范围内工作,不让用户做不允许做的工作。例如没有选择任何东西,就屏蔽“拷贝”操作;(4)提供出错恢复。四种恢复方法:复原(UNDO)、中止(ABORT)、取消(CANCEL)、校正(CORRECT);(5)面向多层次用户。使新手及熟练用户

19、都能找到合适的交互手段。如提供加速键,增加提示信息,可扩充功能及隐藏功能;(6)简洁易懂。尽量减少要记忆的内容;(7)提供联机帮助(Online Help)。能在操作过程中随时提供帮助。,界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分。,C)界面设计流程,结构设计:也称概念设计。通过对用户研究和任务分析,制定出产品的整体架构、界面整体风格。在结构设计中,目录体系的逻辑分类和语词定义是用户易于理解和操作的重要前提。交互设计:其目的是使产品让用户能简单使用,人的因素应作为设计的核心被体现出来。交互设计的原则如下:(1) 有清楚的、针对性的错误提示;(2)让用户控制界面,面对不同层次用

20、户提供多种选择;(3)允许兼用鼠标和键盘;(4)允许工作中断;(5)使用用户的语言,而非技术的语言;(6)提供快速反馈;(7)方便退出;(8) 快速导航;(9) 让用户知道自己当前位置,便于决定下一步。视觉设计:包括色彩、字体、页面等,达到用户愉悦之目的。原则如下:(1) 界面清晰明了,允许定制;(2) 减少短期记忆负担;(3) 依赖认知而非记忆,如图标、菜单;(4) 提供视觉引导;如Where,Next等按钮提示;(5) 提供undo、redo功能;(6) 提供快捷方式;(7) 界面协调一致;(8) 同样功能用同样的图示、颜色;(9) 整体不用过多色系,尽量少用红色、绿色。,D)界面设计技巧

21、,良好的界面无需用户阅读手册就知道如何使用。通常界面设计应注意:一致性 。要有统一的操作方式、统一的字体、统一的色调、统一的提示、统一的窗口位置、统一的按钮位置。遵循标准。参照一些工业标准,如IBM的界面规范或MS的设计规则。设置向导。最好的方式是在桌面上设置一个流程向导。提示规范 。容易理解、称呼统一、口径统一、位置一致。纳人所长。了解同行,分析差别,既要模仿,也要创新。 操作一致。同一软件中如添加、修改、删除等类似功能应操作相同。变灰功能。有些功能有时需抑制不可用,应使他们变灰为不可用状态。默认按钮。定义默认按钮简化操作,即使误操作也不破坏系统。,想一想:从CAD角度,展望交互技术的进一步

22、发展需求。,E)界面质量评价,对界面设计的质量评价通常可用四项基本要求衡量: (1)界面设计是否有利于用户目标的完成? (2)界面学习和使用是否容易? (3)界面使用效率如何? (4)设计的潜在问题有哪些?,界面品质评测原则参考: (1)实用性。从用户调查表中获取数据; (2)有效性。度量指标错误率、完成时间、系统使用率等; (3)易学习性。系统使用后错误率下降、完成时间减少、正确执行命 令、用户知识增加等统计衡量; (4)功能使用率。若有功能从未用过,可能设计有误; ( 5)用户满意程度。以用户满意程度,问题多少及使用兴趣来衡量。,界面评测方法:测试实验、使用监测、用户调查等方法。,1)什么

23、是二次开发?,二次开发是指在通用的平台软件上,利用其开发接口进行特定的功能定制开发。典型的例子:基于AutoCAD平台的机械设计系统InteCAD;基于UG,Pro/E等平台的三维标准件库系统和典型零部件设计系统等。,4.5、二维CAD系统开发简介,2)为什么要进行二次开发?,通过二次开发可实现CAD系统的某些特定功能,方便使用,如:一组命令的集合。将通用平台需要多次操作才能实现的功能整合成一个命令,方便用户使用。例如,标注粗糙度符号;提供一些专业的计算。通过二次开发实现通用平台不提供专业计算。如InteCAD的尺寸驱动功能。实现对数据库的支持。用二次开发工具通过ODBC或者其他方式访问数据库

24、系统。如标准件库系统。典型的专业化零部件设计,用二次开发工具,实现典型零件的专业化开发,如齿轮,轴,皮带轮等,进行专业化设计计算。,3)怎样进行二次开发?,不同的通用平台提供不同的二次开发接口,一般的都提供C/C+语言编译型开发接口。(有的还提供Basic语言、LISP语言等解释型开发接口),C/C+语言二次开发的步骤:编辑C/C+源程序,使用该平台提供的二次开发接口API函数或类;编译、链接,生成可在该通用平台下运行的可执行程序.EXE或.DLL;在通用平台下载入可执行程序,执行得到相关的结果。,二次开发时注意事项:,集成编辑环境编译、链接环境自编程序的装载、自动装载综合调试应用程序装载与卸

25、载,4.6、 AutoCAD二次开发简介,AutoLISP(R2.5) Visual LISP ADS(R10) ObjectARX(R13) ActiveX Automation(VBA)内模式与外模式OpenDWG,1)AutoCAD的二次开发模式,A)基于Auto LISP 的开发(AutoCAD LISt Processing),AutoLISP是AutoCAD内部的LISP编程语言,既具有一般高级语言的基本结构和功能,又具AutoCAD所特有的图形处理功能。利用AutoLISP可以直接修改和调用AutoCAD命令,并能结合各类标准建立大量的参数图形库,还能够对当前图形数据库直接访问和

26、修改等。基于AutoLISP开发的优点:1)编程简洁,便于调试;2)直接针对AutoCAD,易于交互;3)解释执行,效果明显。 AutoLISP缺点:1)功能单一;2)解释执行慢;3)不适合复杂应用开发。,Visual LISP:,1)在可视化的开发环境下编写、调试;2)经编译后,提高了运行性能和保密性;3)LISP代码通过AutoCAD 的Object ARX接口,提高运行速度;,Visual LISP是一个可视化的LISP语言开发环境, AutoCAD从R14版支持Visual LISP开发工具,是AutoLISP语言的扩展。具有以下特性:,B)基于 ADS 的开发技术,ADS(AutoC

27、AD Development System)是AutoCAD的C语言开发系统,是继AutoLISP后的第二代开发工具,从AutoCAD R14开始引入,它包括了C语言的全部功能,可以用C语言编写AutoCAD应用程序的头文件和目标库,可直接利用各种C语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行。ADS优点:源代码的可读性好于AutoLISP;采用结构化编译体系,编译速度快;具备高强度数据处理,适合各种专业化应用软件的二次开发。ADS缺点:C语言比LISP语言难于掌握和熟练应用;需编译运行,其隐藏错误往往导致AutoCAD乃至操作系统的崩溃。此外,实现同样功能,ADS程序源

28、代码比AutoLISP代码长很多。从AutoLISP R14后, Autodesk公司已不再发展ADS程序设计模式。并从第二代ADS开始,发展多种语言环境下的开发工具,从LISP语言到Basic、C / C+ 等。,C)基于 VBA 的开发技术,VBA(Visual Basic for Application)开发工具,它是一种嵌入AutoCAD内部基于对象的集成编程环境,并被集成到AutoCAD2000以后所有版本中,为开发者提供了一种新的选择。VBA和AutoCAD中的ActiveX自动化对象模型的结合,具有强大的开发能力,代表了一种新型定制AutoCAD的模式架构。,VBA可提供强大的窗

29、体创建功能,为应用程序建立对话框及其他屏幕界面;可建立功能强大的模块级宏指令;提供类模块创建功能,利于组件重用;具备完善的数据访问与管理能力。但是,VBA不能像Visual LISP那样可以随意使用AutoCAD命令,只能像脚本文件的模式,以字符串的方式向AutoCAD命令发送一串响应;源程序始终暴露在用户面前,易造成误操作,导致应用程序出错。,ObjectARX(AutoCAD Run-time eXtension)是AutoCAD R14以上版本的一种通用的开发接口,它提供了以C+为基础的面向对象的开发环境及应用程序接口,能真正快速地访问AutoCAD图形数据库。ObjectARX程序本质

30、上是Windows动态链接库(DLL)程序,直接访问AutoCAD数据库结构、图形系统以及CAD几何造型核心,以便能在运行期间实时扩展AutoCAD的功能。ObjectARX程序与AutoCAD、Windows之间均采用Windows消息传递机制。是以C+为基本开发语言,具有封装性、继承性及多态性的特点,模块性好、独立性强、使用方便、内部功能高效实现,代码可重用性好等,支持MFC基本类库,能简洁高效地实现许多复杂功能。,D)基于 ObjectARX 的开发技术,E)新一代基于. NET的开发技术,.NET是基于Mircosoft.NET架构直接进行AutoCAD二次开发的一种新技术。目前能支持

31、. NET开发的软件版本为AutoCAD2006以上版本。不管开发语言是Visual Basic . NET还是Visual C# . NET,使用. NET进行AutoCAD二次开发的基本方法和步骤基本上是一样的。在新推出的支持. NET开发的AutoCAD版本中,Autodesk公司专门为其开发增加了. NET API。. NET API使开发人员可在.NET框架下,使用任何支持.NET的语言,如VB . NET、C和Managed C+等对AutoCAD进行二次开发。其优点是完全面向对象,是较理想的AutoCAD二次开发工具。. NET API在具有ObjectARX强大功能的同时,也具

32、有VBA使用方便的优点。随着新版本的进一步完善, . NET API必将成为众多开发人员的首选工具。,大数据模型的快速交互与显示技术二维模型中的工程特征表达工程图中的工程特征自动提取工程图纸的全参数化工程扫描图纸的矢量识别三维模型向二维投影的工程图国标化由二维图形重构三维模型工程设计知识的表示与重用,附:二维CAD的技术难点,A)AutoLISP特性,语法简单: 不用特殊的变数宣告,非常富有弹性,比起其他的程式语言,它的语法可说是非常简单而有其独特的风格功能函数强大: 除一般性的功能函数外,又拥有为数不少控制配合AutoCAD的特殊函数,再加上AutoLISP可直接呼叫执行所有AutoCAD的

33、指令,以及掌握运用所有的AutoCAD系统变数,功能强大文本编辑环境不挑剔: 只要是一般的文书编辑软件都适用直译式程式; 不用再作编译, 即写即测、即测即用 ,马上可以在AutoCAD中回应效果,马上就有成就感横跨各作业平台: 虽然AutoCAD有DOS 、 Windows版本之分但是AutoLISP却可在不改写的原貌下载入与执行。,2)基于AutoLISP 的AutoCAD二次开发简介,B)AutoLISP基本语法结构,规则 1 :以括弧组成运算式,左右括弧数一定要成双成对、相对称 请依序在指令: 列(或指令:)后面直接键入以下运算式: 指令 : (+ 1 2 3 4 5) 传回加总和 15

34、 指令 : (max 14.5 8.9 35) 传回最大值 35 指令 : (getint “Enter a integer:”) 传回 Enter a Integerl: 要求输入 一个整数 指令 : (setq a (* 12.5 4) 传回相乘值 50, 同时设定给变数 a 指令 : !a 回应 50 ( 注 :! 号可用来查询变数值 ),规则 2 :运算式型态(运算元运算子运算子运算子.)或(函数(式)引数引数引数.) 或(函数(式)元素元素元素.) 运算子数据类型 a. 整数(Integer):如8,-17,500,9999 b. 实数(Real):如8.5,-17.456 c. 字

35、串(String):如“AutoCAD”,“123”,“Enter Real:”,“7.5”, d. 表(List):如(“a” “b” “c”),(x y),(x y z),(“a” 8 3.5),. e. 图元名称代码 : 如 . (setq en (entlast) (entget en) f. 文件代码:如 (setq ffr (open “test.txt” “r”) g. 选择群集代码:如 、 (setq ss (ssget) 选取物件: (可选择物体),规则3:多重的括弧运算式,运算的先后顺序是由内而外、由左而右(setq kk (- (+ 10.25 17) (/ 13.2 7

36、) 规则4:以defun功能函数定义新的指令或新的功能函式(注:引数及区域变数可省略) 程式结构型态: (defun函式名称(引数/区域变数) (defun C:KK(引数/区域变数) )卸载:(setq C:KK nil),AutoLISP程式中,在分号; 后的内容均为注解载入AutoLISP程式的作法:指令:后直接键入(load LISP主档名) 最重要的函数是对AutoCAD的命令调用 (command “命令” 参数)函数, 参数序列与命令行输入一一对应。,注意:,3)AutoLISP开发环境Visual LISP简介,4)AutoLISP开发实例,例1:计算每个封闭区域的面积,并显示

37、前面统计的面积之和。,(defun C:BA()(setq allarea 0) (print Please pick an inner point.)(while (setq pt (getpoint)(command boundary pt )(command area o l)(setq allarea (+ allarea (getvar area)(print Total area is: )(print allarea)(print Please pick an inner point.),上机实习编程步骤:1)在Visual Lisp环境下编辑LISP程序: 如C:Ba.lsp2

38、)在AutoCAD命令行下装载: (load c:Ba.lsp)3)执行定义的命令:BA (调用命令之前,应先绘制几个封闭多边形),例2:粗糙度标注,(defun C:Rough() (print Please pick a point to place:)(setq pt (getpoint)(print Please input the value of roughness:)(setq val (getstring)(setq p1 (polar pt 3.14 5)(setq p2 (polar p1 (/ -3.14 3) 5)(setq p3 (polar p2 (/ 3.14 3

39、) 10)(setq p4 (polar p1 (/ 3.14 2) 1)(command line pt p1 p2 p3 )(command text p4 3 0 val ) ),(setq p1 (polar pt 3.14 5)计算p1点位置,从pt点起180角,长度为5;(command “line” pt p1 p2 p3 “”)为画多折线段命令;(command “text” p4 “3” “0” val “”)为写文本命令。,注意:,5)上机实验操作:活塞连杆,参考例子:缺少线条、标注、剖面线,参考程序(位图,请自己键入,测试,完善),子函数,本章思考题:,了解二维CAD系统功能及体系架构 简单了解CAD系统交互开发技术 简单了解二维CAD二次开发目的及流程上机实验,体验AutoCAD二次开发过程,本章结束,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号