(机械设计及理论专业论文)基于gdi的二维参数化草图技术的研究.pdf_第1页
(机械设计及理论专业论文)基于gdi的二维参数化草图技术的研究.pdf_第2页
(机械设计及理论专业论文)基于gdi的二维参数化草图技术的研究.pdf_第3页
(机械设计及理论专业论文)基于gdi的二维参数化草图技术的研究.pdf_第4页
(机械设计及理论专业论文)基于gdi的二维参数化草图技术的研究.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(机械设计及理论专业论文)基于gdi的二维参数化草图技术的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西华大学硕士学位论文 基于g d i + 的二维参数化草图技术研究 机械设计及理论专业 研究生宋利伟指导教师罗中先教授,戴跃洪教授 摘要 三维参数化特征建模是当今三维c a d 的主流技术,它可以大大提高 设计效率,降低设计成本。而三维参数化设计的基本流程是:先绘制一个 二维草图,通过添加约束和尺寸,再借助于尺寸驱动来实现图形的参数化, 获得所需二维轮廓设计,然后通过拉伸或回转等生成三维实体模型。可见 二维参数化草图技术是三维参数化特征建模的重要基础。 本文对二维参数化草图技术进行了系统的研究,在n e t 平台上,使用 g d i + 图形库进行了参数化草图器的开发,主要取得了以下四个方面的进 展: ( 1 ) 对草图的基本图元进行了相应图元类的设计,用g d i + 图形库 实现了各基本图元的生成。 ( 2 ) 对各类图元的尺寸标注构造算法进行了研究,在程序中实现了 各类图元的尺寸标注。 ( 3 ) 结合快速尺寸驱动方法和简单几何推理算法,提出基于简单推 理的约束求解算法。 ( 4 ) 针对这种基于简单推理的约束求解方法,建立一个由四层链表 组成的存储结构,能很好地支持草图在基于简单推理的约束求解算法下的 尺寸驱动。 关键词:尺寸驱动;参数化设计t 约束;标注; 西华大学硕士学位论文 r e s e a r c ho n2 dp a r a m e t r i cs k e t c ht e c h n o l o g y b a s e do ng d i + m e c h a n i c a ld e s i g n t h e o r y m d c a n d i d a t es o n gl i w e i s u p e r v i s o r sp r o f l u oz h o n g - x i a n ,p r o f d a iy u e - h o n g a b s t r a c t t h r e e - d i m e n s i o n a lp a r a m e t r i cf e a m r em o d e l i n gi st h em a i nt e c h n o l o g y o ft o d a y st h r e e - d i m e n s i o n a lc a d i tg r e a t l yi m p r o v e st h ed e s i g ne f f i c i e n c y a n dr e d u c e st h e d e s i g n c o s t t h eb a s i cf l o wo ft h et h r e e - d i m e n s i o n a l p a r a m e t r i cd e s i g ni sa sf o l l o w s :a tf i r s t , at w o - d i m e n s i e n a ls k e t c hi sd r a w n , a n d an e e d e do u t l i n ec a nb eg o t t h r o u g ha d d i n g c o n s t r a i n t sa n d m o d i f i n g p a r a m e t e r so ft h es k e t c h t h e na t h r e e - d i m e n s i o n a ls o l i dm o d e lc a nb ec r e a t e d t h r o u g he x t r u d i n go rm v o l v m g t h e r e f o r et h et w o - d i m e n s i o n a lp a r a m e t r i c s k e t c ht e c h n o l o g yi sa l li m p o r t a n tf o u n d a t i o no ft h r e e - d i m e n s i o n a lp a r a m e t r i c f e a t u r em o d e l i n g : t h i sa r t i c l e m a i n l y f o c u s e s o l lt h e s y s t e m r e s e a r c ha b o u tt h e t w o - d i m e n s i o n a lp a r a m e t r i cs c h e t c ht e c h n o l o g y w ed e v e l o p e dt h es k e t c h s o f t w a r eb yu s i n gt h eg d i + g r a p h i cw a r e h o u s e ,a n dm a i n l yl a u n c ht h ea r t i c l e o nt h ef o u rq u e s t i o n s ,a sf o l l o w : ( 1 ) h a sd e s i g n e dt h ec o r r e s p o n d i n gg r a p k ce l e m e n t s a b s t r a c tc l a s s ,a n d r e a l i z e dt h eg r a p h i cd r a w i n gb yu s i n gt h eg d i + ( 2 ) h a sc o n d u c t e dt h er e s e a r c ht oe a c hk i n do ft h eg r a p l l i cd i m e n s i o n a l g o r i t h m , h a sr e a l i z e de a c hk i n do f t h eg r a p h i cd i m e n s i o ni nt h ep r o c e d u r e i l 西华大学硕士学位论文 ( 3 ) u n i f y i n gt h ef a s td i m e n s i o nd r i v i n gm e t h o da n dt h es i m p l eg e o m e t r i c r e a s o n i n ga l g o r i t h mw ep r o p o s ean e wa l g o r i t h m n a m e d b a s e do nt h es i m p l e i n f e r 黜r e s t r a i n t s o l u t i o na l g o r i t h m ( 4 ) i nv i e wo ft h i sn e wa l g o r i t h , w ee s t a b l i s h e dt h es t o r i n g s t r u c t u r e w h i c hi sc o m p o s e db yf o u rs t o r i n gc h a i n s ,c a ns u p p o r tt h e t h ed i m e n s i o n d r i v e nb a s e do nt h en e wa l g o r i t h e m k e y w o r d s :d i m e n s i o nd r i v e n ;p a r a m e t r i cd e s i g n ;c o n s t r a i n t ;d i m e n s i o n ; i i i 西华大学硕士学位论文 申明 本人申明所呈交的学位论文是本人在导师指导下进行的研究工作及取得 的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包 含其他人己经发表或撰写过的研究成果,也不包含为获得西华大学或其他教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均己在论文中作了明确的说明并表示谢意。 本学位论文成果是本人在攻读硕士学位期间在导师指导下取得的,论文成 果归西华大学所有,特此声明。 作者签字:镓剥中 导师签字。罗幸先 ) 唧年 月彩日 7 年广月叩日 西华大学硕士学位论文 1 绪论 当今世界,市场曰趋全球一体化,产品快速地更新换代、产品性能价格比 不断提高,使得企业闯的竞争尽益激烈。采用先进制造技术缩短设计周期、降 低设计成本已经成为当前制造业发展的重要技术保障。作为先进制造技术的核。 心基础,c a d c a m 技术的发展与应用已成为衡量一个国家工业现代化水平的重 要标志。 c a d 技术是一项综合性的,集计算机图形学、数据库、网络通讯等计算机 及其他领域知识于体的高新技术,是先进制造技术的重要组成部分,也是提 高设计水平、缩短产品开发周期、增强行业竞争能力的一项关键技术。c a d 技 术的特点是涉及面广而复杂、技术变化快、竞争激烈,而且投资大、风险高、 产出高。 1 1c a d 技术概述阿纠埘f : 计算机辅助设计主要是研究用计算机、外围设备、图形输入输出设备和相 应的软件帮助人们进行工程和产品设计的技术,它是随着计算机、外围设备、 图形设备及其软件的发展而发展的。 ( 1 ) 准备和酝酿时期( 2 0 世纪5 0 6 0 年代初) 1 9 5 0 年美国麻省理工学院( m i t ) 研制出类似于示波器的图形设备“旋风 i 号”( w h i r l w i n di ) ,可以显示简单的图形设备。整个五千年代,人们大多采 用电子管计算机、,用机器语言编程,c a d 技术处于被动式的图形处理阶段。 ( 2 ) 蓬勃发展和进入应用时期( 2 0 世纪6 0 年代) 1 9 6 2 年麻省理工林肯实验室的i ,e s u t h e r l a n d 发表了“s k e t c h p a d ,一个 人机通信的图形系统”的博士论文,首次提出了计算机图形学、交互技术、分 层存储符号的数据结构的新思想,从而为c a d 技术的发展和应用大侠了理论基 础。六十年代中期出现了许多商品化的c a d 软件,如i b m 公司在1 9 6 4 年推出 了商品化的绘图设备等。 西华大学硕士学位论文 ( 3 ) 广泛使用的时期( 2 0 世纪7 0 年代) 1 9 7 0 年美国h p p l i c o n 公司第一个推出完整的c a d 系统。在此时期出现了 很多面向中小企业的c a d c a m 商品化系统。 ( 4 ) 突飞猛进的时期( 2 0 世纪8 0 年代) 。 c a d c a i 技术从大中企业向小企业扩展,从发达国家向发展中国家扩展, 从用于产品设计发展到用于工程设计和工艺设计。 、 ( j ) 开发式、标准化、集成化和智能化的发展时期( 2 0 世纪9 0 年代) 在c a d 系统中综合应用正文、图形、图像、语音等多媒体技术和人工智能、 专家系统等技术大大提高了自动化设计的程度,出现了智能c a d 的新学科。 1 2 参数化设计 在c a d 技术发展的初期,c a d 仅限于计算机辅助绘图,随着计算机软、硬 件技术的飞速发展,c a d 技术才从二维平面绘图发展到三维产品建模,随之也 就产生了三维线框造型、曲面造型以及实体造型技术。而如今参数化及变量化 设计思想和特征造型则代表了当今c a d 技术的发展方向。 基于约束的c a d 系统并不是传统c a d 系统的简单扩展,而是以一种全新的 思想和方式来进行产品的创新和修改设计。 它用约束来表达产品模型的形状特征,定义一组参数以控制设计结果,从 而能够通过调整参数来修改设计模型,并能方便地创建一系列在形状或功能上 相似的设计方案。在设计过程中,参数化草图输入大大提高了图形输入和几何 造型的效率。产品模型的修改通过尺寸驱动或参数驱动实现。 其主要技术特点是:基于几何特征、全尺寸约束、尺寸驱动设计修改、全 数据相关。 全尺寸约束:将形状和尺寸联合起来考虑,通过尺寸约束来实现对几何形 状的控制。造型必须以完整的尺寸参数为出发点( 全约束) ,不能漏欠约束和过 约束。 尺寸驱动设计修改:通过编辑尺寸数值来驱动几何形状的改变。 全数据相关:尺寸参数的修改导致其它相关模块中的相关尺寸得以全部更 2 西华大学硕士学位论文 新。采用这种技术的优点在于:它彻底克服了自由建模的无约束状态,几何形 体均以尺寸的形式而牢牢地控制住。如打算修改零件形状时,只需编辑下尺 寸的数值即可实现形状上的改变。尺寸驱动已经成为当今造型系统的基本功 能,无此功能的造型系统己无法生存。【6 】 1 2 1 参数化设计与变量化设计【l j 基于约束的设计方法最主要的特点就是能够修改用户对几何体施加的一 系列约束,而用户无需关心这些约束是如何被满足的。参数化设计( p a r a m e t r i c d e s i g n ) 和变量化设计( v a r i a t i o nd e s i g n ) 是基于约束的设计方法中的两羊中主要 形式。他4 1 3 - - 者表面上看起来很相似,主要差别体现在约束方程的定义和求解 方式上。 参数化设计系统所有的约束方程的建立和求解依赖于创建它们的顺序,每 个几何元素根据先前已知的几何元素定位。其求解采用顺序求解策略,求解过 程不能逆向进行。 变量化设计系统针对设计对象的操作具有更好的灵活性和自由度,约束的 指定是陈述式的,即约束的指定没有先后顺序之分,约束关系可以根据设计者 意图随意更改。其求解采用并行的求解策略。 当前基于约束的设计方法研究趋向于将二者有机的结合起来,互相借鉴, 优势互补,以求发挥更大的效益。一般地,我们把基于约束的杀机方法简称为 参数化设计。 1 3 参数化设计的求解策略2 】1 6 1 7 1 f 9 】f l o l 基于约束的c a d 系统并不是传统c a d 系统的简单扩展,而是以一种全新 的思维和方式来进行产品的创新和修改设计。参数化设计的研究工作可追溯到 s u t h e r l a n d 早期的s k e t c h p a d 系统,其中己经提出并利用了基于几何约束进行设 计与修改的思想。到目前为止,参数化设计已有多种方法,其中主要的三种方 法是数值约束求解方法,基于规刚的几何推理方法、基于构造过程的方法。 西华大学硕士学位论文 1 3 1 数值约束求解的方法 这是一种面向非线性方程组整体求解的代数方法,最早是由英国剑桥大学 的h i l l y a r d 提出,美国麻省理工学院的g o s s a r d 研究小组发展并完善了这一理 论。变量几何把几何形状定义成一系列的特征点,约束则表示成以特征点坐标 为变元的非线性方程组,通过n e w t o n r a p h s o n 迭代求解非线性方程组,从而 确定出几何细节。事实上,任何约束只要能表示成关于特征点坐标的方程,就 可以加入系统,投入运算。因而该方法比较通用,对2 d 或3 d 问题同样有效。 数值约束求解法的主要优点在于能适应很大范围的约束类型。而且循环约 束可以通过约束方程组的联立求解得到处理。但它难以避免数值方法求解稳定 性差的问题,方程组整体求解的规模和速度较难得到有效的控制。迭代初值与 步长的选取也会影响算法的成败。 1 3 2 基于规则的几何推理方法 面向人工智能的知识表达方法是将几何形体的约束关系用一阶逻辑谓词 描述,存入知识库中。系统从知识库中提出有关信息,通过推理机逐步推导出 几何细节。 关于几何推理法的详细介绍,我们将在5 2 小节中结合系统应用详细给出。 1 3 3 基于构造过程的方法 这种方法记录了用户在交互造型过程中的每一步操作,基本思想是造型操 作与几何约束有着相对应的关系。按照系统记录用户操作的方式,可以分为两 类:( 1 ) 交互过程产生造型操作的程序化描述;( 2 ) 设计步骤用来管理反映几 何元素约束关系的数据结构。 基于构造过程的方法,对于结构相同尺寸不同的零件设计是十分有效的。 但是由于岿须严格遵循构造过程,灵活性和柔性不足,对于那些设计要求不断 变化的设计环境则不太适用,而且难以利用传统c a d 系统生成的图形。另外, 无法处理约束耦合程度高的循环约束倩形。 从以上的介绍和分析可以看出,单纯的构造过程方法或数值解法都不可能 4 西华大学硕士学位论文 满足用户的所有要求,真正实用化商品化的系统并不只是采用某一种算法,而 是综合了各种算法的长处。只有走算法融合的道路,才可能真正达到要求。现 有的参数化设计技术也正朝此方向发展。 1 4 论文重点解决的三个问题 ( 一) 线性图元的标注及其分类 系统对基本图元类进行了较完整的设计,对其线性图元迸行了详缅的描 述,使其更适于参数化驱动的要求和约束定义的表达。 尺寸标注的分类问题:参数化的一大特点就是全尺寸约束,以往的参数化设 计软件在约束处理上将尺寸约束与结构约束分开考虑,由图形实体提供结构约 束,由尺寸标注提供尺寸约束。因此,设计者在设计初期及设计过程中,必须 将形状和尺寸联合起来考虑,并且通过约束来控制形状,通过尺寸标注值的改 变来驱动形状的改变,一切以尺寸为出发点,如果欠约束或过约束,则约束检 查机制会阻止进一步的操作。一旦所设计的零件形状过于复杂,如何改变这些 尺寸以达到所需要的形状就很不直观:再者,如在设计中关键形体的拓扑结构 发生改变,失去了某些约束特征也会造成系统数据混乱。 系统在原来一维驱动的线性图元的基础上,添加斜线的定义,完成了线性 图元的分类。以前由于对基本图元编码逻辑混乱,导致在进行复杂图形的设计 过程中,基本图元信息的定义不清,逻辑约束影响力减弱或者失效等。对线性 图元统一归类,使斜线、水平线和竖直线有了独立编码,在图元拾取的周时, 结合图元信息链表实现图元信息的快速、准确、稳定的反映。 ( - - ) 数据信息存储结构建构 优化双向链表的存储,在系统中建立基本图形元素链表、尺寸标注信息表、 定义点链表和结构约束关系表4 种链表,其中定义点链表与尺寸约束链表为相 互映射的对应关系。 采用这种存储结构,可以较好地对线性图元的完整性信息描述进行支持。 并在此基础上,结合简单几何推理,实施快速尺寸驱动方法。 5 西华大学硕士学位论文 使用尺寸标注信息表对线性标注的尺寸信息进行存储,同时就基本图形元 素链表中该标注对象进行标注标记( 同时也是可编辑标注) ,对该标注对象施 加尺寸约束;在结构约束关系表中对图元对象的约束信息进行记录,约束可以 是在调用一些绘图指令后获得的( 如水平线命令、竖直线命令等) ,也可以在 完成绘图之后指定约束添加。 图元数据信息的存储优化为参数化算法的实现,提供了较好的基础支撑。 ( 三) 基于几何推理的约束求解方法的提出及功能实现 在前系统仅能对图元实施一维的水平和竖直方向参数驱动的基础上,结台 快速尺寸驱动方法和简单的几何推理方法提出了一种基于几何推理的约束求 解方法。 快速尺寸驱动算法主要针对尺寸约束,在对x 方向和y 方向分别进行尺 寸驱动时,是根据节点间的父子关系或主从关系依次驱动的。当一个定义点的 父约束点被修改时,它就会发生相应的改变,而它改变的同时也驱动了自己的 子约束点。 快速尺寸驱动法将常规的二维驱动方式改为x 方向和y 方向上的一维驱 动,不用求解非线性方程组,使整个变量化设计过程更加快捷、有效。 系统的驱动过程采用快速尺寸驱动结合简单推理机制的方法。该方法对尺 寸的驱动使整个驱动过程更加合理、可靠、稳定。在前系统标注系统的基础上 进一步完善,基本完成图元线性标注功能。 此外,我们还就c a d 系统的其他技术进行了研究,如双缓存技术和无抖 动绘图技术、g d i + 中坐标系统的实现技术、二维图元的几何变换算法和实现、 简单3 d 线框模型及表面模型实现技术等。 1 5 论文研究的意义及课题来源 目前,国内的三维c a d 市场上国外的软件占有绝对优势,但是昂贵的费 用让很多中小型企业难以承担,从我国企业c a d 技术应用的总体水平来看, 应用还主要停留在二维绘图水平上,为此,指导教师向四川省科技厅申报了三 维c a d 方向的课题面向c 1 m s 应用工程的三维参数化特征建模技术与原 6 西华大学硕士学位论文 型系统研究,并获得批准。 现有的三维c a d 系统大致是这样实现的:利用动态导航技术或其他草图 技术迅速生成用于构造三维特征的二维轮廓( 该轮廓的准确尺寸和位置都不必 在草图输入时给出) ,然后通过添加约束,利用参数化技术对草图进行修改, 进而获得需要的二维轮廓设计结果。然后通过拉伸或回转等操作生成三维特 征。因此作为三维参数化特征建模的基础技术,二维参数化草图技术是本论文 首先要研究的内容。 7 西华大学硕士学位论文 2 总体方案设计 传统的c a d 绘图系统一般只支持细节设计,输入的每一个几何元素都有 固定的尺寸值和确切的位置,很难进行修改。丙新产品的设计往往是从个概 、念开始,我们首先生成一个反映概念设计的二维草图,然后通过对设计参数的 修改,便可实现对相应图形的修改,极大地提高相似图形的设计效率。本系统 需要完成的工作是草图的生成及图形参数化修改。下面从系统的功能和结构两 方面进行总体方案的设计。 2 1 系统功能要求【6 】 针对二维工程图的设计和绘制,绘图者对图形系统的要求,我们从以下方 面在功能上提供支持。 2 1 1 交互的图形设计功能 二维草图设计软件作为一种交互设计手段,首先要保证界面的友好,使设 计人员能够在一个方便、友好的环境下进行设计工作。 作为c a d 系统的基本功能,即基本图形元素的绘制功能,除了保障图形 元素的完整性外,系统的图形功能还要为用户提供较大的灵活性。对于点、直 线、圆、圆弧等基本图形元素的定义方法和交互方式,采用与国外优秀绘图软 件相似豹处理方式,以便于用户快速的掌握。 对于各类约束问题,系统也应给出交互式并且方便的解决办法。系统应具 备一般的约束限制,如共点、水平、竖直等,同时对图形中约束的编辑也应给 出良好的解决办法,约束既可以在绘图过程中直接给定,也可以在基本图元绘 制完成后通过添加约束的方法实现。 2 1 2 完善的标注功能 本系统面向工程绘图人员的使用和参数化的思想,所以在系统中必须配合 完善的图形标注功能。图形的工程语义正是通过标注得以体现和表达的。图形 西华大学硕士学位论文 的参数化设计为标注提供了很好的数据支持,可以方便的通过一些算法来实 现。由于参数驱动的要求,图形作为完整的参数体对标注提出更高的要求即 标注是图元相关参数的体现和实时的动态反应。 2 1 3 参数化设计 作为c a d 软件的发展趋势,越来越多的工程人员选择参数支持良好的图 形系统来进行开发工作。系统除具备标注的参数实时反应功能外,还应对参数 的驱动功能给出良好的解决方案,这也是本论文核心讨论的内容。 2 2 系统的设计流程 参数化草图系统从草图轮廓的绘制、约束的添加到图形参数修改是个有 机的整体。例如在绘制图形的时候就应该同时记录下图形相应的一些特征参数 和一些隐含的约束条件( 如共点、水平、竖直) ,以便于后面参数化设计工作 的顺利进行。因此,必须从整体的角度出发,设计出一个合理的结构,才能有 效地指导我们完成后继的编程工作。 对于基本图元来说,每一类图元都有其不同的结构,但是它们也具有一些 共同属性:如线条颜色、线宽等等,因此我们可以将这些共性抽象出来建立一 个基本结构,在此基础上再分别定义图元的具体结构。为了完成后继操作,还 必须定义图元存储的数据结构,这里我们采用了链式结构,将绘制的每一个图 元对象都看出一个结点,添加到一个图形链表中。具体操作参见“系统核心实 现技术分析乙 对于添加结构约束来说,就是根据几何原理建立一些数学方程,求解出图 元各相应点的坐标,然后刷新图形。但是草图中的每一个图元并不是孤立的, 在绘制时就添加了些隐含的约束条件,如共点、水平、竖直,当某个被约束 的图元对象坐标参数改变后,其他图元与其共点连接的关系应当保持不变,并 且,其他图元的自身约束条件应保持不变,例如某一条线段是水平线,与它共 点的另一条线段因为约束的添加导致共点坐标发生变化,那么该线段就应该做 出相应变化保证其水平约束条件不变。 9 西华大学硕士学位论文 f i g 2 1t h ep r o c e s so f t h et w o d n n e n s i o n a ls k e t c h 图2 1 二维参数化草图设计流程 1 0 西华大学硕士学位论文 对于参数化设计,本系统采用的是基于g c g 图的参数关联尺寸驱动法, 它是采用周密的拓扑链和尺寸链两类数据结构来实现尺寸驱动。拓扑链详细记 录下草图中的每个图元首尾两端连接的图元对象及其连接方式。尺寸链将所有 尺寸标注的基准元素和另一界线元素、尺寸参数、受尺寸参数约束的图形元素 等链接形成一有向图。当其中某一尺寸参数修改时,可以从有向图中由链接关 系迅速检索出所有关联元素及其对应尺寸,局部更新草图,实现尺寸驱动。 2 3 系统开发环境 由于微型计算机性价比的显著提高,使得三维几何建模系统在微机平台上 运转成为可能。因此基于微机平台的所谓中档三维c a d 系统发展非常迅速。 二维参数化草图系统本身不是独立的,它是三维特征建模原型系统的一部分, 其开发目标是建立一个三维c a d 系统,因此本系统选择了微型计算机作为硬 件平台,选择w i n d o w sx p 操作系统作为软件平台。 2 3 1 软件开发平台 我们选用在n e tf r a m e w o r k 中的饼语言进行程序开发。m i c r o s o f tv i s u a l c 群n e t ( 以下简称c # ) 提供了强大的类库支持,o b j e c t 类是其的主要基类, 它不仅充当n e t 类库的根类,而且还是应用程序编写的类的根类。同时v i s u a l s t u d i o n e t 提供了强大的g d i + 图形库支持绘图操作。【_ n e t 的双缓存技术用于通过减少抖动来提供更快、更平滑的绘图。它的基 本原理就是:先在内存中开辟一块虚拟画布,然后将所有需要画的图形先画在 这块“虚拟画布”上,最后再一次性将整块画布画到真正的窗体上。因为所有的 单个图形的绘制都不是真正的调用显示系统来“画”,所以不会占用显示系统的 开销,极大的提高的绘图效率。 使用浮点坐标可以消除圆整错误。由于可以采用浮点值表示坐标,当出现 点的坐标值为浮点数时也就不会导致圆整。g d i + 中提供了浮点数表示的数据 类型,如p o i n t f ,s i z e f 和r e c t a n g l e f 等。i i 习 西华大学硕士学位论文 2 3 2 图形库 本系统中采用m i c r o s o f = cg d i + 图形库,在n e t 平台下进行开发工作。本节 中,我们将对在g d i + 图形库进行简要的介绍。 g d i + 是g d i ( w i n d o w s 早期版本提供的图形设备接口) 的升级版,是 w i n d o w s 平台下新一代设备无关的二维图形编程接口库。微软在它新一代软件 开发n e tf r a m e w o r k 框架中,提供了一套相应的功能强大的g d i + 图形类库, 为图形程序的开发提供了极大的便利。 g d i + 图形库支持下矢量图形的程序可以很容易地绘制由坐标系中的一组 点确定的形状。这样的形状称为图元,例如直线、曲线、矩形和路径等。在受 控g d i + 中,一个类对象或结构体表示一个图元,每个类或结构体都提供了可 用于获取和设置图元属性的成员。例如p o i n t 结构体提供了x 属性和y 属性, 分别表示一个点的x 坐标和y 坐标的值。p o i n t 结构体还提供了一些方法,其 中包括c e i l i n g 、r o u n d 等 1 “。 在n e tf r a m e w o r k 库中,二维矢量的程序设计分为两类:常规设计和高 级设计。常规的二维矢量图形设计功能是在s y s t e m d r a w i n g 名称空间中定义 的,而高级的设计功能是在s y s t e m d r a w i n g d r a w i n 9 2 d 名称空伺中定义的。 所有的图形用户界面( g u i ) 应用程序都与硬件设备( 监视器、打印机或 扫描仪) 进行交互。这可以表示为可读的数据。不过程序和设备之间并不直接 进行通信,否则,就必须为程序交互的每台设备分别编写用户接口代码。为了 避免执行这种繁重的任务,可以在程序和设备之间使用第三个组件。此组件将 转换和传送由程序发送到设备的数据,以及由设备发送到程序的数据。这个组 件就是g d i + 库。图2 2 说明了这个过程i 1 2 j : f i g 2 。2t h ep r o c e s s i o no f t h eg d i + 图2 2g d i + 的作用 西华大学硕士学位论文 3 系统核心实现技术分析 本章对基于g d i + 的参数化草图系统的主要实现技术进行简要的介绍,内 容涉及系统已实现的功能、对象的定义与特点、抽象类的声明与继承、数据结 构的理论抽象和对象存储的实现。 3 1 系统主要实现功能 系统用户界面如图3 1 所示: f i g 3 1g u i o f t h es y s t e m 图3 1 系统用户界面 西华大学硕士学位论文 3 1 】绘制功能 系统己具备了线、圆、圆弧、矩形等基本图元的绘制功能。 ( 1 ) 直线类 系统具备绘制两点直线和多段线的功能。同时通过正交功能,系统可自动 对线性图元的正交性,进行定义。如在正交功能启动下,系统将根据两给定鼠 标点生成水平或竖直线,若正交功能不启动,则用户给定两鼠标点直接成为直 线的定义点,故可以进行斜线的绘制。并且直线段的水平或竖直,作为对象的 约束条件,进行存储。 ( 2 ) 圆形、圆弧类 系统可以绘制接受用户交互操作的圆心一半径定义的圆形绘制。其圆心作 为图元的定义点,半径信息存入图元信息链表,以备后续的编辑处理。 系统可进行三点( 圆心、圆弧的起始点和终止点) 圆弧的绘制,其三点直 接作为图元的定义点。 ( 3 ) 矩形类 系统具备绘制两点矩形的功能,两定义点为矩形对角线端点。 3 1 2 图元参数编辑功能及尺寸链驱动功能 一个参数化图形支撑系统的优势是通过编辑功能来体现的。 1 0 】我们通过对 图元对象的参数进行编辑以达到参数化驱动的目的。 传统的c a d 系统中对于图元的修改只能删除后重画。而本系统则可用鼠 标选取欲编辑的图元素,然后改变其可编辑的参数,完成对图元的修改,而与 其相关的图元也可以得到自动修改并保持原有的约束关系不变,完成驱动。 由于本系统所采用的数据结构如实地存储了整个模型的全部设计过程,在 编辑时可动态显示图元创建时的定义参数。 设计时确定的约束关系可以在编辑时修改,即修改图形的拓扑结构。如原 来画的为过两点的直线,而实际上我们需要该图元与一指定圆形图元具有相切 的结构约束,则只要在图标菜单中选中相应的功能按钮即可方便的实现,完成 对图元约束的添加。这种拓扑结构具有较好的可编辑性,摆脱了传统c a d 系 1 4 西华大学硕士学位论文 统只能绘制固定图形而拓扑结构固化,更适于参数化的驱动的要求。 3 1 3 其它辅助功能 文档管理功能:可以保存和读出本系统特有格式( a m w ) 的文件。 3 2 对象的定义与特点 为了系统的可持续发展,本系统采用面向对象技术来完成开发。面向对象 的程序设计是按照人类认识世界的方法和思维模式来分析和解决问题,它不是 把程序看作是工作在数据上的一系列过程和函数的集合,而是看作包含了数据 以及一系列数据处理方法的对象的集合。它引入了类的概念,具有继承性、封 装性、多态性、数据抽象等特点,这些都是适应人们一般思维方式的描述范式。 而且继承性使得我们可以充分利用已有的对象进行新的系统设计,减少开发周 期,它不仅支持系统的可重用性,而且还促进系统的可扩充性,能够大幅度的 提高软件项目的成功率,减少日后的维护费用。采用面向对象的程序设计对于 程序的拓展和后继开发非常容易实现,因此本系统选择的是面向对象的程序设 计语言来进行程序实现。 系统分为绘制模块、编辑修改模块、尺寸标注模块、用户界面模块、文档 管理模块等因此,可按其功能模块和现实事务对应起来,我们需要绘图,首先 要有绘图工具,需要的工具与我们要绘制的图形有关:如要画线要有笔和直尺, 要画圆要有圆规。画不同的图元要产生不同的图元对象。要有图标菜单界面对 象来完成功能的选择和显示,要有编辑修改对象进行修改编辑。各对象之间相 互独立完成各自的功能。下面就这些对象的定义及特点加以说明。 首先要建立图元对象,图元对象是对基本图元如线和圆等图形元素的具体 描述。它应包括描述具体图元所需的数据如图形元素的几何数据,描述直线图 元需要两个点坐标来定义,圆可用圆心坐标和半径的数据表示其位置、大小等 信息,另外,根据本系统面向对象的特点,图元中应包含各图元之间的关系。 再有,各对象应完成本身应具备的处理功能,即包括自身的数据处理( 数据的 获得及处理和数据的更新) 和自身的显示等。这样可使图元对象既包含其本身 1 5 西华大学硕士学位论文 的基本属性也包含了关系,使之满足满约束要求。我们通过图元定义点信息的 记录可以方便地进行图元相关的编辑操作。 具体定义如下: 线图元对象用来描述一条直线。用两端点来描述一条直线,因此要在对象 中定义两个点( x l 。y 1 ) ,( x 2 ,y 2 ) 来描述直线,线也有颜色和线性等属 性。 两定义点确定的线段除了具有上述线的基本属性外,还要加入记录两定义 点的数据成员,线段的长度属性及其倾斜角度等。对于已经进行标注了对象, 要在存储时加入标注标志,标注标志同时也是图元可修改性的标志。本系统中 不允许对没有进行标注的图元进行编辑。 圆图元对象可由圆心和半径来定义。因此在圆对象中要给定圆心和半径。 圆弧图元对象可由圆心、圆弧的起始点和终止点来进行定义。图元的圆心、 半径和起止角度作为图元信息需要存储到图元信息链表中。 可见,每一个对象都带有大量的数据信息,这些数据信息有的作为约束条 件需要即时地进行处理。通过约束关系来求得真实数据并存入图元信息链表 中,对象更新时对象发送消息给相关的对象,相关的对象接收到后按其记录的 关系重新计算,并更新图元信息链表中的数据,来实现参数化功能。 要构造图形对象,需建立绘图工具对象,每种工具完成一种功能,本系统 的绘图工具对象可分为画线工具、画圆工具、画矩形工具等。 由基于关系的特性,进一步可把画线工具分为单段线条绘制工具和多段线 条绘制工具。绘图工具对象包含图元关系的表达和操作,通过消息使绘图工具 和基本图元建立联系来反映人机交互所需要的参数类型和约束关系。 编辑工具对象,进行图元对象的查找,修改图形对象的数据、图元之间的 关系,并可发布消息,使图形数据或关系更新,从而使系统显示更新后的图形。 对象之间虽相互独立分别完成相应的功能,但它们之间又是互相联系的。 从编程的角度来说,他们都继承自一个s h a p e 类,各个对象有相同的属性和方 法,同时又互不相同,各自具有各自对象本身的特性:从系统运作的角度,各 个基本图元类之间通过信息的交互,来达到图元驱动的目的。 如绘图工具界面对象接收到鼠标消息后得知要进行绘图工具的选择,从而 1 6 西华大学硕士学位论文 发送消息给绘图工具对象,绘图工具对象接收到这一消息进行处理,删除原来 的绘图工具并产生新的所要求的绘图工具。绘图工具接收到鼠标或键盘消息后 发送消息给文档对象,来寻找参考元素和产生新的图元对象并加入文档,并由 文档发送消息来进行图形显示的更新。 3 3 抽象类的声明与继承 前节提到的图元类型有两点线、圆心半径圆、圆心起终点圆弧、对角线矩 形等。对于每一种图元类型,可以定义一个类数据类型。在这些类中,线娄、 圆类等既有共同的属性也有各自的属性。将各自的属性抽象出来,分别定义为 线的基类( l i n e s h a p o ) ,圃的基类( c i r c l e ) 、圆弧的基类( a r c ) 和矩形的基类 ( c r e c t a n g l e ) 等等。1 9 由于图元类都具有如绘图、拾取、修改、更新等相同的功能,因此将其所 具有的公共属性提取出来,定义为一个共同的基类( s h a p e 类) ,其中包括图元 的线形、图层等公共数据等。图元具体的实现由其派生类实现,通过进行相应 的功能调用以实现复杂的过程,从而节省了大量代码,并提高程序的结构和易 读性。 f i g 3 2b a s i cg e o m e t r i cd e m e n t sc l a s s e s 图3 2 基本图元类图 1 7 西华大学硕士学位论文 由于系统引入了面向对象的程序设计方法,使得系统各部分相对独立,为 后续的系统扩展提供了方便,可以直接加入新的图元类型,且不受图形数量的 限制。 3 4 数据结构的理论抽象 机械设计人员在进行带有概念设计的草图设计时,每构造一个图元,至少 要基于一个已存在的图元,其相关图元的多少取决于被构造图元的满约束条 件。这些相关图元可以是隐式图元( 不输出到输出设备,类似于手工绘图时的 辅助线) ,也可以是显式图元,或两者并存。如果以坐标原点作为第一个已存 在的图元,则根据上节给出的基本图元类型来任意构造一个图形实体集合来分 析和确定数据结构。 约束 图元 f i g 3 3t h er e l a t i o nb e t w e e nt h ec o n s n a i n t sc h a i 船a n dg e o m 酬cc l e m e n ti n f o r m a t i o n c h a i n s 图3 3 约束链表与图元链表的关系 在绘图过程中,我们对所画图元的几何信息进行存储,同时对图元的定义 西华大学硕士学位论文 点进行映射存储。图元间的约束可以在绘制时附加,如绘制水平线附加水平约 束等,也可以在基本图元绘制工作完成以后逐一添加,所有约束信息存储于约 束信息链表。约束链表与图元链表的对应关系如图3 3 所示。 下面我们结合一个绘图实例,来对绘图过程中的有关信息处理作简要的介 绍。 f i g 3 4t h ed r a w i n ge x a m p l e 图3 4 绘图实例 暨直 上图中,图形主要由四条直线( l 1 、l 2 、l 3 、l 4 ) 组成,图元的约束包 括竖直约束( l i 、l 3 ) 、水平约束( l 2 ) 和尺寸约束( l i 、l 2 、l 4 ) ,相连接 图元有共点约束条件( l 1 与l 2 、l 2 与l 3 、l 3 与l 4 、l 4 与l 1 ) 。我们将这 些信息使用相应链表存储。 下面我们就这些信息的存储进行简要的介绍: 首先是图元基本信息的存储,我们建立图元基本信息链表。图元绘制初期这些 图元依据绘制的先后顺序依次将其信息存入链表,这些信息包括图元类型、单 图元约束标记( 系统中图元自身的约束条件,如水平和竖直约束等) 和标注标 记( 同时也是可编辑标志,系统不允许对没有进行标注的图元进行编辑) 。将 各图元的定义点映射形成定义点序列,定义点序列对图元的定义点信息进行描 1 9 西华大学硕士学位论文 述。如图3 5 所示: 图元信息链表: f i g 3 5t h er e l a t i o nb c 钾m t h eg e o m e t r i ce l e m e n t si n f o r m a t i o nc h a i l ea n dt h e i rd e f m i t i n g p o i n t s 图3 5 图元信息链表与定义点映射关系 定义点处对图元间约束与约束信息链表形成映射关系。利用定义点可以方 便的对连接图元之间的约束关系进行处理,这里的定义点是指具有连接端性质 的定义点。如圆弧与直线段的连接,在不对圆弧圆心与直线建立尺寸约束的 条件下,圆心点不具备连接属性。 定义点结合与图元信息链表的映射对应关系,较好的提供了图元的约束关 系表达。如下图3 6 所示: 注:s p 为共 点约束 f i g 3 6t h er e l a t i o nb e t w e e n t h ed e f i n i t i n gp o i n t sc h a i n sa n dt h ec o n s t r a i n t s i n f o r m a t i o nc h a i n s 图3 6 定义点信息链表与约束信息链表的对应关系 西华大学硕士学位论文 尺寸标注作为尺寸约束的主要表现形式,也是系统参数驱动的主要形式。 系统中对尺寸约束采用的存储方式较为特别。我们在图元信息链表中对图元的 基本信息进行了存储,这其中包括线型图元的长度、倾斜角度等,同时我们给 定了图元的尺寸标注标记。当对图元进行标注时,设定该标志,同时对标注的 外在形式进行绘制。当我们迸行尺寸驱动时,首先检查图元的标注设置,若为 o f f 则返回,若为0 n 则以该图元为首节点重建图元信息链表,同时遍历该图 元,返回自由尺寸链项,修改参数进行驱动。 f i g 3 7t h es t r u c t u r eo f t h 。g e o m e t r i ce l e m e n t si n f o r m a t i o nc h a i n s 图3 7 图元信息链表中标注项的处理方法 2 l 西华大学硕士学位论文 4 尺寸标注的构造及约束的系统表达 在绪论中己经提到,传统参数化图形支撑系统是通过标注尺寸使尺寸标注 与图形建立关联关系。对于复杂图形的标注中,由于人为的关系,常出现欠约 束和过约束,求解稳定性差。在本章中,我们将对尺寸标注的问题进行进一步 的研究,包括约束的检查,以及在标注下的尺寸驱动。 4 1 标注类的分类与程序化结构 在草图中,图形的真实大小以图样上所标注的尺寸数值为依据,与图形的 大小及绘图精确度无关。尺寸标注应符合g b 4 4 5 8 4 机械制图尺寸标注法中的 有关规定。从其功能上分析,可归纳为七部

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论