消隐在计算机参数化自动绘图中的应用
点击数:7181 次 录入时间:03-04 11:49:30 整理:http://www.55dianzi.com 机床
参数化绘图是指用产品的几何关系和拓扑关系信息建立几何参数模型,用户通过改变参数,就可以驱动原几何图形达到新的目标几何图形。参数化绘图多用于结构定型的产品设计。往往是结构相同,尺寸不同的零部件,即它们的几何信息不同而拓扑信息相同。几何信息的修改需要根据用户输入的约束参数来确定。一组参数约束该图形的一组结构尺寸,参数和设计对象的控制尺寸有明确的对应关系。实现参数化设计绘图,一般必须具有以下几个条件:一是设计的产品参数化模型包含拓扑关系和约束关系:二是几何图形应能由尺寸驱动:三是参数化序列与几何图形尺寸序列的数据结构具有对应关系。实际上参数化设计绘图的过程就是改变参数值后,对约束求解画出新的几何图形的过程。1 问题提出
郑州市黑马阀门有限公司开发的双偏心式半球阀的CAD设计,采用计算机参数化自动绘制零件图,其中球阀阀座设计图样。外轮廓线a、b、c 的相交情况与所含螺纹孔的相对位置随着参数D3、M、h、D1、N44和R的取值变化而变化( 对称的另一侧情况相同) 。螺纹孔与垂直方向轮廓线的相交情况有几种可能:与直线b相交 ,与圆弧R相交,与直线c相交,同时与a、b、R、c相交,或与a、b、R、c 都不相交。水平方向轮廓线与螺纹孔的相对位置:可能与螺纹孔相交或与光孔相交,也可能都相交或都不交。再把螺纹孔顶端的锥孔考虑进去,其组合会更加复杂,这就是自动化参数绘图的图形不确定性。这里约定只考虑并绘制螺纹孔的平面几何图形和轮廓线a、b、c之间的线线相交的情况,而不是考虑三维的相交形状再投影进行绘制。图形的不确定性就是指不同的几何元素之间的相交情况随着参数取值不同而变化,要求计算机在图形绘制中能对各种情况进行处理,以扩大参数的取值范围从而提高CAD系统的适应度。2 解决方法
2.1 传统解决问题的方法
解决复杂图形的不确定性,最直接最传统的方法是列出在参数取值范围内可能出现的所有情况,在计算机参数化绘图的程序设计中加入判断归类功能,以便计算机对输入的参数所对应的图形进行判断,针对不同的图形情况分别进行处理。2.2 运用消隐概念解决图形不确定性
立体图形中那些被不透明的面或物体遮挡的线段称为隐藏线。消隐是指消除这些不可见的线段、平面,使图形所表达的物体形状和观察位置唯一确定。消隐是三维图形显示中的一个重要问题。从上面传统的方法中我们可以看出,由于要对每种相交情况分别进行处理,这使CAD的程序设计变得非常复杂。如果能对各种相交情况进行统一处理,则能使程序设计由繁变简。我们运用消隐概念,引进消隐平面统一处理各种相交情况,简化了程序设计。具体方法如下:在图形的外轮廓线b、R、c、d之外绘制一个不透明的平面,该平面设置成不可见即用打印不出来的白色填充。这样一来程序设计只考虑螺纹孔的完整形式,对输入的某些参数所对应的螺纹孔与外轮廓线相交,必然有一部分螺纹图形位于外轮廓线以外的不透明平面上"。该不透明平面起到了消隐作用,覆盖并隐去了多余的螺纹孔图形。输入的参数所对应的图形、螺纹孔与外轮廓线无论属于哪种相交情况,不需要进行判断都能绘制出完整的平面几何图形,统一用消隐法处理后的几种情况的图形。消隐平面的引入,对任何参数所对应图形的处理方式都相同,对程序设计来说实现了单一化,避免了复杂的多情况处理程序设计。3 应用实例
3.1 实现途径
郑州市黑马阀门有限公司开发的双偏心式半球阀座的CAD设计,采用VB开发环境,通过AutoCAD 提供的ActiveX Automation技术,来实现计算机参数化自动绘制阀座零件图。ActiveX Automation技术允许一个应用程序操纵另一个应用程序进行工作,利用该技术能通过AutoCAD提供的一系列对象使VB操纵AutoCAD,从而调用AutoCAD的对象、方法、属性,实现在AutoCAD环境中的自动绘图。3.2 消隐平面的设计
利用消隐概念解决图形不确定性问题时,最重要的就是消隐平面的设计。消隐平面要满足两个基本条件:不透明性和不可见性。我们用“SOLID”式样的剖面线解决不透明性:用设定白色使消隐平面在输出的图上不可见。消隐平面的轮廓不能用AutoCAD提供的平面对象绘制,因为在AutoCAD中能直接绘制的平面,其轮廓被定义为由多边形直线段组成,而消隐平面有一段是圆弧。实际上,在图形不确定性问题上经常都会涉及到圆弧。由于AutoCAD提供的多义线指令“PLINE”可以形成直线与圆弧的组合,因此我们采用多义线、剖面线和不可见的白色来实现消隐平面。3.3 具体实现
下面给出具体的VB程序代码,其中省略了对象和变量的定义以及取得AutoCAD控制权的代码:SetMyPLOne=DrawPL(MyPLOneArray,5,trte)//将多义线绘制函数DrawPL已在程序中定义)返回的消隐平面轮廓线(多义线对象)赋予MyPLOne对象,MyPLOneArray 为存放轮廓线各顶点坐标的数组:Call MyPLOne.SetBulge(2,Sqr(2)-1)// 调用多义线对象的SetBulge方法使消隐平面轮廓线的R段由bc直线变为圆弧:SetMyPLTwo=MyPLOne(MyMirrorPointl,MyMirrorPoint2)//使用MMirror指令以轴线Point1、Point2为对称轴,生成MyPLOne对称侧的多义线My-PLTwo:Set MyHatch=DrawHatch(O,"SOLID",True)// 选用“SOLID”式样的剖面线类型:MyHatch. AppendOuterLoop(MyPLOne)MyHatch. AppendOuterLoop(MyPLTwo)MyHatch.Evaluate//向两个消隐平面轮廓线中添加“SOLID”式样的剖面线:MyHatch.Color=255MyPLOne.Color=255MyPLTwo.Color=255//设定消隐平面的颜色使其在打印时不可见:Set MyObj=DrawPL(MyPLOutArray,3,true)CallMyObj.SetBulge(2,Sqr(2)-1)Set MyObj=MyObj.Mirror(MyMirrorPointl,MyMirrorPoint2)//再添加一次阀座的外轮廓线a、b、c、d,填补消隐平面消隐的轮廓线部分。添加“SOLLD”式样的剖面线相当于用单色填充轮廓线所包围的区域,剖面线和其轮廓线共同组成了不透明消隐平面,这个消隐平面将画在轮廓线之外的图形隐去 。将消隐平面的颜色值设为255的白色,使其在图形输出时不可见。图形是运用消隐平面,计算机自动绘制打印的几种参数情况的阀座图形。
本文关键字:计算机 机床,应用领域 - 机床