天圆液压产品中心
[文章]浅谈二维C缸筒AD系统绘图装配消隐的实现
摘要:深入研究了二维消隐的原理,设计了零件视图内、外边界表示的数据结构,通过以零件视图的内外边界对图形实体的显示进行裁剪的方法实现了二维消隐。在实现中零件视图的设计信息保存在该视图的扩展数据域中,用户以交互方式定义零件视图及零件视图相互间的遮挡关系。 产品装配图是产品设计与制造中不可缺少的技术文档。为了提高装配图的绘图效率,充分利用已绘制好的零件图,仿照产品装配过程把许多零件视图“装配”到一起,并加以少量的编辑修改来绘制装配图,是二维CAD系统不可缺少的手段。因此,能否实现二维工程绘图的装配消隐是衡量二维CAD系统的重要指标。装配图的每个视图可以看作由几个零件的部分或全部视图进行遮挡消隐和装配而成。 消隐是二维CAD系统向用户提供具有正确遮挡关系的零件装配图显示的功能。图形设计用户在使用绘制好的零件图构造装配图时,零件间的遮挡关系使得图纸中出现部分多余的线条,这种情况给用户带来很大不便,因此对零散的图形单元进行集成和在图中加入设计信息,从而使得计算机能够对这样的结构化图形进行处理,消隐的概念由此产生。消隐功能可以这样简单地描述:把零散的图形实体定义成零件视图块,并指定不同零件视图块的遮挡关系,用户通过命令的方式调用消隐功能,根据这些信息进行计算并构造具有正确遮挡关系的图形显示。 1 零件视图块 消隐是由于不同零件图之间的遮挡而产生的概念,零件视图块是消隐的基本单位,用户选择零散图形实体以块的方式生成零件视图块。零件视图块具有遮挡能力,不同的零件视图块可以具有不同的遮挡能力,这由用户指定零件视图块之间的遮挡关系并赋予消隐高度值的方法进行实现。消隐高度值的不同确定了零件视图块之间的遮挡关系,零件视图块之间的遮挡关系可以表示为1棵树,从树根到树叶逐级被遮挡,普通实体可以被任意零件视图块遮挡,它具有最低的消隐高度,这样零件视图之间的相互遮挡关系由它们的消隐高度值唯一确定。 2 消隐的原理 装配消隐的过程如图1所示,用户从图形实体数据中选择图形实体并定义为零件视图块,利用边界搜索算法得到该零件视图块的内外轮廓信息,这些信息作为用于消隐的零件图设计信息而被记录于零件视图块的扩展数据域中。然后用户指定零件视图块之间的遮挡关系,对零件视图块赋予消隐高度值,同样记录在零件视图块的扩展数据域中。最后系统利用零件视图块的轮廓信息、零件视图的消隐高度等数据,通过裁剪等基本算法进行消隐的计算处理,最后得到具有消隐效果的图形显示和打印结果。 图1 消隐过程示意图 2.1 由图形定义零件视图块消隐操作首先要把若干个没有逻辑联系的图形实体组合成零件视图块,并将用于消隐的设计信息存储在零件视图块的扩展数据域中,步骤如下: (1)检查图形实体集的外边界和内孔边界情况 零件视图块必须具有封闭的外边界,为了找出图形实体集合形成的外边界,在利用边界搜索算法进行搜索时,应该选取在位于这一边界之外的参考点,最简单的选取方式是计算被选择实体集合共同的包围盒,任取包围盒之外的1点即满足要求。 另外要检查选择的图形实体集形成的零件视图块的内孔情况。用户以交互方式选择决定内孔位置的标记点,同样利用基于参考点的边界搜索算法找出该点指示的内孔边界。如果用户选取的标记点是错误的,例如该标记点指示的是外边界或者已经定义的内孔边界,或者标记点不在希望搜索的内孔边界之内,那么内孔边界的检查将会指示出错或得不到需要的结果。 (2)以选择的图形实体生成块 利用块的生成函数把选择的图形实体集合组合成1个赋名的块,并插入该块的Insert实体,同时删除被选择的图形实体集合。 (3)存储零件视图块的遮挡信息 零件视图块的遮挡信息就是用于构造零件视图块的内外轮廓边界的基本数据为了重构零件视图块的内外边界,除了需要构成零件视图块的实体集外,还需要指示内孔的标记点序列,因此这里需要保存的数据主要就是各标记点数据,它们被存储在零件视图块实体的Xdata扩展数据域中。 2.2 建立零件视图块间的遮挡关系 用户对零件视图块间的遮挡关系的指定通过Above命令来进行,该命令可以指定若干个零件视图块的遮挡能力大于另一个零件视图块。在实现中采用消隐高度值表示零件视图块的遮挡能力大小,通过消隐高度值的不同来建立零件视图块间的遮挡关系。消隐高度的数值作为零件视图块的遮挡信息,也保存在被插入的零件视图块的Insert实体的Xdata域中。 2.3 消隐 消隐按如下的规则进行:外轮廓之内和内轮廓之外的区域对背景具有遮挡作用,具有较高消隐高度的图形实体遮挡具有较低消隐高度的图形实体。 利用保存于零件视图实体中的遮挡信息,零件视图块的内外轮廓边界以及它的消隐高度在消隐步骤中被重构出来。 消隐的基本操作是扫描显示链表,计算和修改当前视图中每一实体的显示数据。为了减少计算工作量,首先要根据包围盒数据对正在扫描的实体可能产生遮挡的零件视图块范围,然后逐一进行计算和修改。 由于显示链表中的显示结构是离散的线段和填充多变形,消隐的最终计算就是利用所有可能对实体产生遮挡的零件视图块的内外轮廓边界,对该实体的显示链表项中的离散线段集合或填充多边形集合进行裁剪操作,得到位于零件视图块的外轮廓之内和内孔之外的部分作为裁剪结果,并用这一结果修改显示链表项,这样就得到了该实体消隐后的正确显示。 由于显示链表项中的基本图形结构是线段和填充多边形,所以问题就转化为遮挡图形的各边界对线段、多边形的裁剪算法。由于零件视图块的边界是由线段、圆弧或椭圆弧构成的没有自相交的任意形状的封闭边界,这种边界对填充多边形的裁剪较复杂,可采用对多边形各边进行裁剪的替代处理方法,可以得到正确的轮廓线,但缺点是裁剪结果丢失了填充信息,真正的多边形裁剪在下一阶段的开发中进行实现。 3 零件视图块的边界表示[3~5] 零件视图由零件的整个或部分视图构成,具有一个封闭的外边界即外多边形环,可以没有内边界或有若干个内边界。零件视图的外边界之内和内边界之外的区域是零件视图块的遮挡区域,可以遮挡消隐高度在该零件视图块之下的各图形实体或零件视图块。 零件视图块的轮廓边界是零件视图块的重要几何特征和遮挡信息,外边界和内孔边界唯一决定零件视图块的遮挡区域。二维CAD系统的若干图形实体必须具有封闭的外边界才能构成零件视图块,边界必须由轮廓线构成,基本曲线单位是线段、圆弧和椭圆弧见图2。 图2 零件视图块的内、外边界 (责任编辑: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 ]液压动力单元液不锈钢缸筒压齿轮泵的