天圆液压产品中心
浅谈二维CAD体缸筒系画图装配消隐的实现
| 产品装配图是产品设计与制造中不可缺少的技术文档。为了提高装配图的绘图效率,充分利用已绘制好的零件图,仿照产品装配过程把许多零件视图“装配”到一起,并加以少量的编辑修改来绘制装配图,是二维CAD系统不可缺少的手段。因此,能否实现二维工程绘图的装配消隐是衡量二维CAD系统的重要指标。装配图的每个视图可以看作由几个零件的部分或全部视图进行遮挡消隐和装配而成。 消隐是二维CAD系统向用户提供具有正确遮挡关系的零件装配图显示的功能。图形设计用户在使用绘制好的零件图构造装配图时,零件间的遮挡关系使得图纸中出现部分多余的线条,这种情况给用户带来很大不便,因此对零散的图形单元进行集成和在图中加入设计信息,从而使得计算机能够对这样的结构化图形进行处理,消隐的概念由此产生。消隐功能可以这样简单地描述:把零散的图形实体定义成零件视图块,并指定不同零件视图块的遮挡关系,用户通过命令的方式调用消隐功能,根据这些信息进行计算并构造具有正确遮挡关系的图形显示。 1 零件视图块 消隐是由于不同零件图之间的遮挡而产生的概念,零件视图块是消隐的基本单位,用户选择零散图形实体以块的方式生成零件视图块。零件视图块具有遮挡能力,不同的零件视图块可以具有不同的遮挡能力,这由用户指定零件视图块之间的遮挡关系并赋予消隐高度值的方法进行实现。消隐高度值的不同确定了零件视图块之间的遮挡关系,零件视图块之间的遮挡关系可以表示为1棵树,从树根到树叶逐级被遮挡,普通实体可以被任意零件视图块遮挡,它具有最低的消隐高度,这样零件视图之间的相互遮挡关系由它们的消隐高度值唯一确定。 2 消隐的原理 装配消隐的过程如图1所示,用户从图形实体数据中选择图形实体并定义为零件视图块,利用边界搜索算法得到该零件视图块的内外轮廓信息,这些信息作为用于消隐的零件图设计信息而被记录于零件视图块的扩展数据域中。然后用户指定零件视图块之间的遮挡关系,对零件视图块赋予消隐高度值,同样记录在零件视图块的扩展数据域中。最后系统利用零件视图块的轮廓信息、零件视图的消隐高度等数据,通过裁剪等基本算法进行消隐的计算处理,最后得到具有消隐效果的图形显示和打印结果。
图1 消隐过程示意图 2.1 由图形定义零件视图块消隐操作首先要把若干个没有逻辑联系的图形实体组合成零件视图块,并将用于消隐的设计信息存储在零件视图块的扩展数据域中,步骤如下: (1)检查图形实体集的外边界和内孔边界情况 零件视图块必须具有封闭的外边界,为了找出图形实体集合形成的外边界,在利用边界搜索算法进行搜索时,应该选取在位于这一边界之外的参考点,最简单的选取方式是计算被选择实体集合共同的包围盒,任取包围盒之外的1点即满足要求。 另外要检查选择的图形实体集形成的零件视图块的内孔情况。用户以交互方式选择决定内孔位置的标记点,同样利用基于参考点的边界搜索算法找出该点指示的内孔边界。如果用户选取的标记点是错误的,例如该标记点指示的是外边界或者已经定义的内孔边界,或者标记点不在希望搜索的内孔边界之内,那么内孔边界的检查将会指示出错或得不到需要的结果。 (2)以选择的图形实体生成块 利用块的生成函数把选择的图形实体集合组合成1个赋名的块,并插入该块的Insert实体,同时删除被选择的图形实体集合。 (3)存储零件视图块的遮挡信息 零件视图块的遮挡信息就是用于构造零件视图块的内外轮廓边界的基本数据为了重构零件视图块的内外边界,除了需要构成零件视图块的实体集外,还需要指示内孔的标记点序列,因此这里需要保存的数据主要就是各标记点数据,它们被存储在零件视图块实体的Xdata扩展数据域中。 3 零件视图块的边界表示[3~5] 零件视图由零件的整个或部分视图构成,具有一个封闭的外边界即外多边形环,可以没有内边界或有若干个内边界。零件视图的外边界之内和内边界之外的区域是零件视图块的遮挡区域,可以遮挡消隐高度在该零件视图块之下的各图形实体或零件视图块。 零件视图块的轮廓边界是零件视图块的重要几何特征和遮挡信息,外边界和内孔边界唯一决定零件视图块的遮挡区域。二维CAD系统的若干图形实体必须具有封闭的外边界才能构成零件视图块,边界必须由轮廓线构成,基本曲线单位是线段、圆弧和椭圆弧见图2。 零件视图块的外边界由基于回溯的参考点边界搜索算法对于选择的图形实体集合进行搜索,需要的参考点通过计算这些实体集的共同包围盒之后,选择该包围盒之外任一点而得到。内边界的搜索需要由用户交互定义内孔的标记点。在边界搜索算法中,当参考点在边界外时,搜索结果是最大和最靠外的边界,其路径方向为顺时针,而当参考点在边界内部时,搜索结果是围绕参考点的最小边界,其路径方向为逆时针。
图2 零件视图块的内、外边界 传统的零件视图块都具有一个外边界,可以没有内边界或者有若干个内孔边界。但在系统的新版本中,由于要实现对于CTEXT实体的正确处理,零件视图块的概念被扩展到具有多个外边界和各自的多个内边界的情况。CTEXT是由多个分离的字符或汉字形成的特殊的文字实体,每个字符或汉字都有各自的包围盒形成的边界,因此CTEXT实体的轮廓边界特征是具有多个不相交的外边界,没有内边界。 零件视图块的边界表示应当满足这样一些要求,一是完备表示零件视图块的内、外边界轮廓信息,二是应采用数据冗余度最小的数据结构。系统中采用这样的数据结构表示边界,若干个有序关键点顺次连结成没有自相交的封闭边界,一个零件视图块的各内外边界形成该零件视图块的边界链表。 3.1 边界上关键点的数据结构 typedefstruct { char tag; double x,y,r,r2,angle,twist; } TSLoopEdge; 在这一表示边界关键点的数据结构中,不仅记录了构成边界的各点的坐标,还记录了与该点与下一点构成的曲线边的基本信息,因此这一点的数据结构和下一点的数据结构中的坐标值唯一决定这一段曲线边,下面对该结构各域作具体说明: tag:记录与下一点共同构成的曲线类型; 为线段、圆弧、椭圆弧三种,当曲线为圆弧、椭圆弧时,还需要其中一空闲数据位记录曲线由该点到下一点是逆时针方向还是顺时针方向,以确定曲线几何表示; (x,y):记录这一点的坐标值; r:当曲线为圆弧时记录其半径,当曲线为椭圆弧时记录其半长轴; r2:当曲线为椭圆弧时记录其半短轴; angle:当曲线为椭圆或圆弧情况时,记录点对应的参数角; twist:当曲线为椭圆弧时,记录该椭圆弧的偏转角度。 (责任编辑:admin) |
- [ 18-11-06 ]换向阀中位性液压站能特点及应用留意
- [ 18-10-09 ]公制螺纹、BS液压油缸PP螺纹ED密封油
- [ 18-09-11 ]很是具体的液液压站压阀块计划履历总
- [ 18-09-11 ]液压节液压站制技能的革命
- [ 16-09-14 ]联轴珩磨管器选择方法
- [ 16-07-17 ]怎样避免缸筒液压站冲击危害?
- [ 16-07-17 ]液压动力单元液不锈钢缸筒压齿轮泵的
