找论文网 > 理科论文 > 理科其它 >

二三维一体化CAD系统中工程图纸自动生成技术的研究和实现(2)





其中剖切视图又可分为阶梯剖、展开剖、旋转剖(展开剖的一种特例),结果可为剖面图和剖视图。这种分类方法概念清晰,实现自动生成较为简单,而且也能满足大多数用户的需要。但在实际工程表达中视图是很复杂的,以上分类和生成方法并不能完全满足用户的需要。(如图5中这些视图我们在图纸中经常可以遇到,但目前市面上的该类CAD系统对自动生成它们大都无能为力,对这类视图用户往往不得不采用以前纯二维系统的老方法--徒手绘制。本文提出“分割视图”的概念并将视图按图1所示分类,通过分割视图,用户可以随心所欲的创作出理想的视图表达方式,包括由以上各种视图组合而形成的组合剖切视图和局部剖切视图,半剖视图等等复杂形式(详细说明见后),从而彻底解决了二维视图的自动生成问题。

3.1.2 视图生成算法
二维视图自动生成的基本原理是:三维实体在某一个观察方向上经过消阴计算和投影变换后,转换到二维视图坐标中。观察方向和视平面参数是由所要生成的目标视图确定的。由于视图种类繁多,因此自动生成算法也不尽相同,但基本流程是一样的。如图2所示:图中矩形虚线框内为生成基本视图和向视图的原理图也是其它各种视图生成时必经的过程,右边是产生剖切视图的原理图。以下分别进行说明:

(1) 基本视图:是指那些不需要依赖于任何父视图直接将三维实体在某一观察方向上消阴并投影变换而成的视图。例如:常见的主视图、俯视图、左视图、右视图、上视图、下视图以及轴测图等。这些视图均含有明确的投影方向信息。假设世界坐标系(OXYZ)如右图3所示:如果用户希望沿X轴负向看去得到图中长方体的主视图,只要将矢量Vec1(-1,0,0)作为主视图的投影方向,YOZ平面作为视平面,Z轴作为向上Up矢量就可得到理想的结果。(其中xoy为二维视图坐标系)


当然,实际算法要复杂一些,因为三维消阴后,产生的是离散线段,必须先经过拟合处理(具体方法可参阅参考文献[2])才能投影;在投影构造视图中的几何元素时,必须同时考虑原三维对应几何点、边、面的属性问题。比如:在二维线段中记录对应三维边、面的ID号以便修改模型重建视图几何时能匹配相关的标注信息;记录对应三维边、面的可见属性以确定是否用虚线表示物体的内部结构等。
(2) 剖切视图:是指用一个或几个相交平面(特殊情况下也可能是曲面)切开三维实体,然后在指定方向上投影并进行剖面填充所生成的视图。这些相交平面(又称剖切平面)可以由用户在三维设计环境中创建,然后用来切分三维实体,这样比较直观。但在实际应用中,这种做法对用户反而不太方便,因为用户在进行二维设计时,更希望直接在图纸上描述出剖切方式,由系统自动产生所要的剖切视图。鉴于此,我们为用户提供了直接在二维视图内创建剖切线生成剖视图的方法。剖切视图创建流程见图2。下面通过一个实例(见图4)介绍剖切视图生成的具体算法。假定用户已用前述基本视图创建方法在图纸中生成了视图view1,然后在view1中画一条直线line1(也可以是多段直线和曲线的组合等),欲用line1自动切开实体产生剖切视图A-A,具体算法如下:


1) 得到view1的(视点eye,目标点target,up矢量)等投影参数;
2)计算实体从三维视平面投影变换到二维视图view1所进行的投影变换(cTrans1)和视窗变换(CTrans2),则三维到二维的总变换:
cModelToViewTrans = cTransf1 * cTransf2;
3) 由于二维视图view1中剖切线A-A是由直线段line1构成,只要将line1从view1中变换到三维视平面即可。假设该变换为cViewToModelTrans,显然cViewToModelTrans就是cModelToViewTrans 的逆变换,即有:

共4页: 上一页 [1] 2 [3] [4] 下一页


论“协同教学”的课堂模式与学生心理发展 
粘弹性行为的通用非线性模型研究(lx5)
工商管理 | 工科论文 | 财务管理 | 管理学 | 公共管理 | 财政税收 | 证券金融 | 会计审计 | 计算机 | 法律论文 | 医药学 | 汉语言文学
社会论文 | 工科论文 | 理科论文 | 文化论文 | 艺术论文 | 文学论文 | 哲学论文 | 政治论文 | 英语论文 | 写作指导 | 计算机应用
www.zlunwen.com 找论文网 ® 版权所有 网站地图