维CAD系统技术及小型CAD系统开发简介.ppt

上传人:牧羊曲112 文档编号:6599533 上传时间:2023-11-16 格式:PPT 页数:36 大小:299.50KB
返回 下载 相关 举报
维CAD系统技术及小型CAD系统开发简介.ppt_第1页
第1页 / 共36页
维CAD系统技术及小型CAD系统开发简介.ppt_第2页
第2页 / 共36页
维CAD系统技术及小型CAD系统开发简介.ppt_第3页
第3页 / 共36页
维CAD系统技术及小型CAD系统开发简介.ppt_第4页
第4页 / 共36页
维CAD系统技术及小型CAD系统开发简介.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

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

1、计算机辅助设计及图形学第7讲 二维CAD系统技术及小型CAD系统开发简介,华中科技大学机械学院CAD中心,主要内容,功能分析体系结构关键技术交互技术VCAD介绍OpenGL的交互功能,7.1 功能需求,集设计、计算与绘图于一体,实用化程度高;符合国家有关机械设计的标准;全汉化界面、多级弹出式菜单、图标菜单及对话框等接口形式;提示醒目,操作简单,容错能力强,适合从事机械设计的人员使用。,辅助工程绘图 零件计算与分析 汉字标注 装配图自动消隐和明细表自动生成 基于尺寸驱动的参数化设计 交互式参数化零件建库工具 智能尺寸标注与符号标注 参数化标准件、常用件、夹具零件库 简图符号库 多种信息查询 图号

2、编码与管理,Windows、TCP/IP协议、DBMS,基本图形定义,基础算法库,交互界面工具,图形库管理,图形编辑管理,图形显示管理,文件输入输出,内存数据管理,二次开发接口,数据库,专业应用开发工具,尺寸标注工具,设计计算工具,标准件库工具,专业符号工具,查询管理工具,协同管理工具,工艺设计工具,7.2 体系结构,参数化管理,通用层,专用层,数据层,7.3 部分关键技术,1)基本图形生成(图形学)2)图形的基础算法(图形学)3)参数化技术4)内存管理技术5)二次开发技术6)通用图形库技术,1)基本图形生成(图形学)直线、圆弧、曲线、字符及其它组合图形的生成与显示算法等关键在于:效率和稳定性

3、2)图形的基础算法(图形学)1)基本数学运算:如矢量计算、矩阵运算、方程求解、插值计算等2)图形基本算法:如填充算法、相交计算、裁剪算法、曲线离散等3)度量、物性计算:如长度、角度、距离、面积、质量等4)几何验证算法:如是否平行、垂直、相交、干涉及包容性等判断检验等关键在于:效率和稳定性,3)参数化技术 提供方便的尺寸定义及图形的参数驱动技术,用户可高效绘制、修改图形。参数化(Parametric)设计也叫尺寸驱动(Dimension-Driven),是CAD技术在实际应用中提出的课题,它不仅可使CAD系统具有交互式绘图功能,还具有自动绘图的功能。,目前参数化技术大致可分为如下三种方法:(1)

4、基于几何约束的数学方法;(2)基于几何原理的人工智能方法;(3)基于特征模型的造型方法。其中数学方法又分为初等方法(Primary Approach)和代数方法(Algebraic Approach)。,参数化管理工具1)约束定义工具:如共点、共线(同轴)、共面、平行、垂直、距离、角度等2)约束求解算法:约束分解、求解序列规划、数值迭代求解、推理求解等3)变量驱动管理(变量表),能够检查出约束条件不一致,即是否有过约束和欠约束情况出现。算法可靠,即当给定一组约束和物体的拓扑描述后能够解出存在的解。交互操作的求解速度要快,每一步设计操作都能得到及时的响应。在构造形体的过程中允许修改约束。应能容许

5、广泛的尺寸约束类型并且容易为某些特殊应用加入新的约束类型。能适用于二维和三维几何造型的需要。能处理常规CAD数据库中的图样,必要时允许人工干预。,参数化设计的基本要求:,4)内存管理技术内存的分配、访问、碎片收集整理关键在于访问效率,大内存的管理,避免内存泄露开发工具的选择内存管理对系统影响巨大,直接运行影响效率 例如:部分软件运行多次后,速度明显变慢,必须重新启动计算机 目前,unix操作系统仍然比windows稳定,其内存管理和系统资源管理更稳定(当然windows历史更短一些)。,5)二次开发接口技术提供通用的调用接口函数,便于模块化,节省代码量,便于维护和扩充关键在于平台的无关性、兼容

6、性、可移植性外部接口的稳定性更难以控制6)通用图形库技术提供通用的图形库定义机制(多用模板机制),便于构建标准件库、常用零件库、用户自定义库等工具关键在于:图形库定义、添加、修改、删除等维护机制,通常采用数据库管理技术。,标准件库管理工具:1)各种标准件库(常用国标库:螺栓联接、轴承、齿轮等,汽车标准件库,飞机标准件库等);2)标准件库管理工具(添加、修改、删除、查询等);3)用户常用零件库管理工具(添加、修改、删除、查询等)。,7.4 图形交互技术,在现代设计过程中,工程师们经常使用CAD/CG系统,把自己的设计构思通过交互设备输入到计算机中,计算机经计算、处理、显示等过程把工程师输入的设计

7、方案反馈给工程师,工程师对反馈进行分析、判断、修正,把新的设计方案再输入到计算机中,如此反复输入、反馈、修改、再输入,直到满意为止。在这个过程中,工程师和计算机之间不断交换信息,完成这种人机交互任务的方法,就称为人机交互技术。随着计算机图形学越来越广泛的应用,人机交互技术也变得越来越重要,成为CG&CAD的一个重要组成部分。,人机交互主要靠输入输出的外部设备和相应软件来完成。人机交互使用的设备主要有键盘、显示器、鼠标、各种模式识别设备等。人机交互的主要作用是控制有关设备理解并执行各种命令和要求。早期的人机交互设施是键盘、显示器,通过键盘输入命令,操作系统接到命令后立即执行并将结果通过显示器显示

8、。随着计算机技术的发展,操作命令越来越多,功能越来越强。随着图形技术、模式识别(如语音识别、汉字识别)等输入设备的发展,采用类似于自然语言进行交互成为可能。这些人机交互可称为智能化的人机交互。,人机交互技术必要性,人机交互技术的发展,图形交互设备,物理输入设备,键盘(Keyboard)鼠标(Mouse)跟踪球(Trackball)操纵杆(Joystick)数字化仪(Digitizer)触摸板(Touch Panel)光笔(Light Pen)数据手套(Data Glove)扫描仪(Image Scanner)数码相机(Digital Camera),逻辑输入设备,定位设备(Locator De

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

10、来输入一串字符。键盘、手写体识别、语音识别等,向图形系统输入数值。如标尺、刻度盘等,从一个选择集中挑选出一个元素,如功能键、定位设备,用来拾取屏幕上的一些图形对象,如鼠标、光笔等,图形交互技术,交互技术的出现使得图形系统能提供各种不同的交互功能,使用户能方便、高效地完成传统方法做起来较为困难的工作。,常用的交互技术有:对话框、橡皮筋技术、约束技术、网格技术、引力场技术、拖动技术、操作柄技术、菜单技术等。,对话框技术 Dialogue Box,用户常常需要从一个选择集中选择多个元素。菜单技术在一个集合中选择一个元素有用,不适合多选,如弹出式菜单在选择后就消失。对话框可以解决上述问题。对话框在确认

11、关闭前一直可见。此外,对话框允许用户从多个选择集中作选择,可以提供输入文本和数值的区域,在用户确认之前都可以修改,并经用户确认后才消失。,对话框图示,橡皮筋技术 Rubber Band,橡皮筋技术画直线就是在起点确定后,光标移动定终点时,在屏幕上始终显示一条连接起点和光标的直线,该直线随光标位置移动而变动,就像在起点和光标间紧紧地拉着一根橡皮筋。该方法也可画圆弧、矩形等。,橡皮筋技术画直线实际上是不断地进行“画擦(与或模式重画)画”简易动画过程。即:(1)从起点到光标中心点(x,y)处画图;(2)擦除起点到光标中心点(x,y)处图形;(3)光标移动到新的位置:x=x+x,y=y+y(4)转第(

12、1)步,重复这个过程,直到按下确认键为止。,约束技术是指交互输入过程中施加特定约束限制条件进行图形交互,如绘制水平线、垂直线、平行线、相切线,给定长度、距离等。CAD中的参数化技术是最常见的约束交互技术。,约束技术 Constraint,网格技术 Grid,网格是另一类约束技术,它强迫输入点落在屏幕的坐标网格交点上。坐标网通常以线网或点阵网显示在屏幕上,该技术既可用于画线,也可用于定位。网格可取同等间隔并且覆盖整个屏幕,也可以使用部分网格以及在不同屏幕区域有不同大小的网格。,引力场技术 Gravity Field(也称捕捉技术,Snap),引力场技术模拟引力场的作用,在每一条线段周围假想有一个

13、区域,光标中心落在这个区域内时,就自动地被直线上最近的一个点所代替,好象一个质点进入了直线周围的引力场,被吸引到这条直线上一样。引力场区域大小要适中,太小了不易进入引力区,太大了会增大误接的概率。引力场区域可为正方形,也可为圆形,但前者计算速度快。,拖动就是将形体在空间移动。选择拖动功能后,先在作图区用定位设备拾取某个要拖动的物体,再按住键移动光标,则这个被拾取的物体将随着光标的移动而移动。拖动过程就是不断地进行画、擦、画的动画过程。,拖动技术Drag,操作柄技术Handle,操作柄技术可以用来对图形对象进行缩放、旋转、错切等几何变换。先选择要处理的图形对象,该图形对象的周围会出现八个操作柄,

14、移动或旋转操作柄就可以实现相应的变换。,Undo/Redo技术,在大型CAD应用软件中均提供了一些无限级的UNDO和REDO功能,使用户编辑修改图形更加方便。,菜单技术 Menu,所谓菜单,就是程序给出的可选操作表,用菜单进行命令和操作选择,菜单技术的特点是:(1)可清楚地在屏幕上显示出可供用户选择的全部选项,就像餐厅点菜的菜单一样,一目了然。(2)可以防止用户选择在范围以外的项目,解决了错误命令问题。(3)菜单很灵活,可以改变内容。菜单技术将程序各项功能或选项通过文字或图形符号进行标识,由用户通过选择设备进行选择。菜单方式分为三种:主菜单、下拉式菜单、弹出式菜单。主菜单始终固定显示在屏幕某区

15、域上。下拉式菜单是当选择某些项才呈现到屏幕上,弹出式菜单用鼠标右键单击某个热区后才呈现到屏幕上,二者都在需要时出现,不需要时立即消失,不会遮挡原显示图形。,1)界面屏幕设计,图形界面设计,人机操作界面是计算机与人交互的窗口。用户界面的好坏,关系到软件是否容易学习和操作、是否成熟可靠、是否高效友好以及是否对用户具有吸引力。良好的用户界面是软件产品实用化、商品化的重要因素之一。界面设计涉及到生理学(人们对环境的感觉),心理学(人们对知识获取的方式),以及人的其它因素(人们如何与机器交互作用)等。,界面的屏幕设计涉及屏幕布局、显示内容、字符选用、网格划分、颜色选择等内容,有一些经验和准则可参考。(1

16、)屏幕划分:对称型和非对称型。设计中注意空间优化,突出重点,版面活泼。,(2)字符选择:字体、字型、大小、中西文及大小写、对齐方式、间隔、页边空白等。好的设计可给屏幕带来生气,增加可读性。(3)颜色、亮度的选择:避免同时使用光谱边缘色;字符、细线、小物体应避免用蓝色;颜色的效果与周围环境色彩有关;避免红、绿色同时使用。利用颜色把用户注意力吸引到重要信息上,用颜色对信息进行分类,并增强人的兴趣,减少视觉疲劳。,2)菜单设计原则,大多数图形系统都采用了菜单结构,菜单可是字符串,也可是图标(如工具条)。利用鼠标、光笔、触摸屏等输入设备可以实现菜单选择功能。一般来说,选择项较少的菜单效率较高。通常菜单

17、位于屏幕一侧,使其不影响图形显示,如果菜单内容太多,可把菜单分层,由主菜单引出第二级菜单,由第二级引出下一级菜单,菜单层数不宜超过三层。除了固定菜单外,另一种布局方式是“可移式”菜单,如“弹出式”菜单,它可以在任意屏幕光标处出现。,3)界面设计原则,(1)保持一致性。界面设计时,应遵从统一的、简单的规则;(2)提供反馈。反馈告诉用户计算机正在进行的操作、结果、出错处理以及下一步应怎样进行等。如果响应时间长,反馈信息就更显重要。(3)尽量减少失误的可能。减少用户的操作失误,引导用户只在有效的范围内工作,不让用户做不允许做的工作。例如没有选择任何东西,就屏蔽“拷贝”操作。(4)提供出错恢复。四种恢

18、复方法:复原(UNDO)、中止(ABORT)、取消(CANCEL)、校正(CORRECT)(5)面向多层次用户。使新手及熟练用户都能找到合适的交互手段。如提供加速键,增加提示信息,可扩充功能及隐藏功能。(6)尽量减少要记忆的内容。(7)提供联机帮助(Online Help),能在操作过程中随时提供帮助。,界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分。,4)界面设计流程,结构设计,也称概念设计。通过对用户研究和任务分析,制定出产品的整体架构、界面整体风格。在结构设计中,目录体系的逻辑分类和语词定义是用户易于理解和操作的重要前提。交互设计,其目的是使产品让用户能简单使用,人的因素应

19、作为设计的核心被体现出来。交互设计的原则如下:(1)有清楚的、针对性的错误提示;(2)让用户控制界面,面对不同层次用户提供多种选择;(3)允许兼用鼠标和键盘;(4)允许工作中断;(5)使用用户的语言,而非技术的语言;(6)提供快速反馈;(7)方便退出;(8)快速导航;(9)让用户知道自己当前位置,便于决定下一步。视觉设计,参照目标群体的心理模型和任务进行设计,包括色彩、字体、页面等,达到用户愉悦使用之目的。视觉设计原则如下:(1)界面清晰明了,允许用户定制界面;(2)减少短期记忆的负担,让计算机帮助记忆;(3)依赖认知而非记忆,如图标、菜单列表;(4)提供视觉线索及视觉刺激;如Where,Wh

20、at,NextStep按钮提示;(5)提供default、undo、redo功能;(6)提供快捷方式;(7)完善视觉的清晰度;(8)界面的协调一致;(9)同样功能用同样的图形;(10)色彩与内容。整体软件不超过5个色系,尽量少用红色、绿色,相似的颜色表示相近的意义。,5)界面设计技巧,良好的界面无需用户阅读手册就知道如何使用。通常界面设计应注意:一致性。要有统一的操作方式、统一的字体、统一的色调、统一的提示、统一的窗口位置、统一的按钮位置。遵循标准。参照一些工业标准,如IBM的界面规范或MS的设计规则。设置向导。最好的方式是在桌面上设置一个流程向导。提示规范。容易理解、称呼统一、口径统一、位置

21、一致。纳人所长。了解同行,分析差别,既要模仿,也要创新。操作一致。同一软件中如添加、修改、删除等类似功能应操作相同。变灰功能。有些功能有时需抑制不可用,应使他们变灰为不可用状态。默认按钮。定义默认按钮简化操作,即使误操作也不破坏系统。,6)界面质量评价,对界面设计的质量评价通常可用四项基本要求衡量:(1)界面设计是否有利于用户目标的完成?(2)界面学习和使用是否容易?(3)界面使用效率如何?(4)设计的潜在问题有哪些?,界面品质评测原则参考:(1)实用性。从用户调查表中获取数据;(2)有效性。度量指标错误率、完成时间、系统使用率等;(3)易学习性。系统使用后错误率下降、完成时间减少、正确执行命

22、令、用户知识增加等统计衡量;(4)功能使用率。若有功能从未用过,可能设计有误;(5)用户满意程度。以用户满意程度,问题多少及使用兴趣来衡量。,界面评测方法:测试实验、使用监测、用户调查等方法。,图形显示管理:图形变换算法;图形显示状态,如显示、隐藏;图形显示模式,如图层、线型、颜色;字符显示,如字体、颜色;图形显示流程,从模型定义到设备无关的接口,再到显示设备。,文件输入输出管理:系统内部格式文件的输入与输出,其它系统文件格式的转换输入与输出,打印、绘图等硬件设备的输出,文件的加密与解密(包括软件狗)等。,尺寸标注工具:尺寸字体、引线、箭头,直线标注,圆弧标注,形位公差标注,国标符号标注。,专

23、业符号工具:常用机械设计符号、焊接符号、液压符号、电器符号、设备符号、飞机设计专业符号、汽车设计专业符号等。,协同管理工具:网络连接通信服务,设计提交、发布、交流讨论、图形浏览、远程访问PDM数据库,7.5 CAD系统的其它功能,图形编辑管理各种图形的参数修改,曲线打断、裁剪,图形的切角、圆角过渡、拼合连接、复制、镜像、阵列,图形的回退(Undo)、重作(Redo)等。,大数据模型的快速交互与显示技术二维模型中的工程特征表达工程图中的工程特征自动提取工程图纸的全参数化工程扫描图纸的矢量识别三维模型向二维投影的工程图国标化由二维图形重构三维模型工程设计知识的表示与重用,二维CAD的技术难点,7.

24、6 小型CAD系统VCAD介绍,基本图元创建功能图元选择功能图元编辑功能视窗Zoom功能橡皮筋功能文件功能Undo/Redo功能,创建图元,全局图元链表:保存模型的全部实体图元 CVCadDoc:m_EntityList实体创建过程对象调用 用户输入(CCommand)+创建对象(CEntity)CCommand/CEntity对象及其派生对象,图元选择,图元选择实体集 DOC:m_selectArray记录选中的实体图元指针实体包容盒:鼠标左键单击时,处在实体包容盒内的实体才能被选中图元的各种显示模式:选中、拖动、正常,图元编辑,编辑(Modify)命令也从CCommand派生编辑过程:关键

25、点变换(如旋转),删除原实体(作删除记号),创建新实体,视窗功能,各种常用的Zoom:All/Extent,out/In,Window,pan 座标系:用户坐标系与屏幕座标系 坐标系原点、放缩比例不改变模型的内容,只改变显示,即改变的是坐标系的原点或放缩比例,橡皮筋及拖动,鼠标事件(按下,移动,释放)“异或”模式(R2_NOT)恢复屏幕背景颜色鼠标移动事件:擦除源实体,画新实体,文件保存与打开,文档序列化与反序列化cad文件的DXF转换,Undo/Redo,显示实体的原则:每个实体,显示不超过当前操作数的最大一个未作删除标记的版本。当前操作数实体操作数实体集存储数据结构Undo过程:当前操作数

26、减1Redo过程:当前操作数加1,OpenGL的交互函数,VCAD对象设计适合OpenGL!只是在显示时用OpenGL函数代替GDI函数鼠标操作(x,y为屏幕坐标)void glutMouseFunc(void(*func)(int button,int state,int x,int y);void glutMotionFunc(void(*func)(int x,int y);键盘操作 void glutKeyboardFunc(void(*func)(unsigned char key,int x,int y);注意在绘图系统中需要进行坐标系的转换,即获取的是屏幕坐标,需转换成世界坐标,

27、由世界坐标的值绘制图元实体,OpenGL实体选择,1.Specify the array to be used for the returned hit records with glSelectBuffer().2.Enter selection mode by specifying GL_SELECT with glRenderMode().3.Initialize the name stack using glInitNames()and glPushName().4.void gluPickMatrix(GLdouble x,GLdouble y,GLdouble width,GLdo

28、uble height,GLint viewport4);获得拾取的实体集合,填充pickBuffer5.hits=glRenderMode(GL_RENDER);得到选中的实体个数6.处理选择集,本章思考题:,上机练习:1)以绘制多边形填充(或剖面线)为例,从交互的简捷性、用户的易用性、功能的完善性、功能的易学性等方面考虑如何设计该功能,并在现有的VCAD系统上实现。2)OpenGL实现交互绘图和图元拾取,1、结合你熟悉的软件系统,指出该系统使用了那些交互技术。2、根据你使用CAD软件的经验,你认为CAD系统的那些功能最实用,那些功能最不方便,你希望如何改进。3、结合现有CAD软件,了解CAD软件用户的界面设计原则。,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号