基于Solidedge的三视图三维重建方法研究

2018-09-21 10:04何杨博杨建鸣
计算机技术与发展 2018年9期
关键词:基元草图三视图

何杨博,赵 勇,杨建鸣

(内蒙古科技大学 机械工程学院,内蒙古 包头 014000)

0 引 言

随着CAD等先进技术在装备制造业的迅速普及和应用,国内已有相当数量的企业和科研院所完成了工程图纸的数字化转换,建立了电子图档。CAD应用[1]水平的不断提高为三维建模技术的大规模应用打下了基础。

而对加快图形的二维转三维,使得二、三维模型在设计过程中提高信息的关联性,让产品在设计的后处理中协调一致,自动更新,已经成为CAD应用过程中的重点和难点。

1 零件的表示方法

1.1 二、三维表示方法

三维实体通过投影原理,向水平、铅垂、侧垂平面投影,形成能够清楚地表达内部结构较为简单的零件形体特征和几何尺寸的正三视图。目前,工程图仍然是默认的指导产品设计和制造的唯一法定和通用技术文档,在今后一段时间内,仍然无法取代。但三维设计的趋势已经显而易见,三维实体可视化程度高,共享性好,尤其是在设计的后处理阶段,比如逆向工程、虚拟装配、CNC制造等,具有二维设计无法比拟的优势。

1.2 三维建模与三维重建方法的异同与联系

两者都是基于特征,先进行二维平面视图的识别,再通过计算机模拟工程师读图的方法,将现有的制、识图方法规范编纂成计算机能够识别的逻辑流程和算法,通过其中所包含的几何与拓扑信息来完成三维空间实体的构建。不同之处在于两方面:

(1)前者需要在建模时先进行二维草图的绘制,再进行特征建模,而后者是直接利用现有的二维工程图,在经过一定的视图预处理之后,直接进行三维重建,跳过了草图绘制的过程。

(2)前者在建模时,以单个特征为基元,仅能处理单个特征所对应的二维草图,所以导致在主流的三维建模软件中拥有海量的特征种类个数,给软件的学习与普及应用带来了相当大的困难;而后者以包含多个特征的某类零件为基元,能够处理多个特征所对应的二维草图。通俗的讲,就是后者将原来三维建模中需要多个特征、多个步骤完成的过程一步完成,充分地挖掘了现有工程图中的潜在价值,极大提高了建模效率。

1.3 具有代表性的算法

Idesawa[2]在1973年提出了三维重建的思想,Markowsky与Welsley[3]在1980年提出了基于线框的重建思路,此后各种重建算法蓬勃涌现。1983年,Aldefeld[4]提出以模型引导的方法来完成三维模型重建。1983年,Sakurai[5]在文献[4]的基础上提出面向曲面体的重建算法。1988年,Chen等[6]提出面向体切削的重建算法。

1988年,Nagendra与Gujia[7]对从1973年接下来的十年内产生的具有代表性的算法进行了综述。2002年,耿卫东等[8]综合了基于体与基于线框的重建算法,掺入一定的人工交互操作,提出了一种混合算法。

2003年,Soni S[9]等提出了一种面向轴对齐类旋转体的重建算法。该算法通过对工程图投影边进行结构分析,通过构造匹配序列,利用其中的参数信息,构建出正确的重建实体。2012年,文雅玫[10]面向剖视图提出了一种交互式验证算法,针对性地解决了轴类基本形体的重建,同时也扩展了涉及剖视图三维重建的范围。

2 算法简述

2.1 重建的流程与思路

从一张工程图纸开始到生成三维空间实体的过程分四大部分,文中侧重于后两部分的研究和实现,重建的基本完整流程如图1所示。

2.2 相关术语的定义与简介

以下是算法中涉及到的一些新名词定义和专业术语(部分来自文献[9])。

图1 重建基本流程

(1)面环:由边组成的封闭环,如图2中的面环{1,2,1}。

(2)二重点:与投影方向平行的边在向该投影方向投影时,该边上的点会在该投影面内积聚为一点,该点即为轮廓点,如图2中正视视角中的点7、8。

图2 术语定义例图

(3)端点:面环内处于极限位置的点,即为端点,如图2中的点1、8分别是面环{1,2,3,11,12,6,7,8,9,10,1}的左右极限点。

(4)面环关系:

内、外环:若面环M1的所有边均位于M2外,则称M2为M1的外环,M1为M2的内环。例如,图2中俯视视角中的环{1,2,1}是环{4,5,6,7,8,3,4}的内环。

内交环:若面环M1有的边在M2的内部,有的边在M2上(边界),则称M1为M2的内交环。例如,图2中俯视视角中的环{5,6,9,10,5}是环{4,5,6,7,8,3,4}的内交环。

外交环:若面环M1有的边在M2的内部,有的边在M2的外部(不含边界),则称M1为M2的外交环。例如,图2中正视视角中的环{4,5,6,12,11,3}是环{1,10,9,8,7,6,12,11,3,2,1}的外交环。

(5)实环与虚环:全由实线组成的面环称为实环,反之如果环面全由虚线组成则称为虚环。

(6)基点:两投影视图中沿某一方向重合的点称为基点,基点可以一对一,也可以一对多。例如,图2中俯视视角中的点8在正视视角中的匹配点为点7和点8。

(7)基元环:如果M1中的基点在M2中均能找到匹配基点,反之亦然,则称面环M1与M2匹配。

(8)基元体:将所有的基元环沿着环法向进行扫掠,求出初步的基元体,然后通过一系列相关的布尔操作,得到最后的重建实体。

2.3 算法的流程与实施

2.3.1 视图预处理

矢量化文件采用开放性、兼容性好、可读性高的DXF[11]格式输入。由于三视图位于同一幅图中,较难从中获取需要的图形属性信息,所以必须对视图进行分割,将三视图进行坐标转换,然后完成图素的拼接和打断处理[8],得到从DXF文件中提取到的点、线以及点线链表、所属关系等数据,作为三维重建的输入。

2.3.2 视图轮廓的提取与参考体、基元体的构建。

完成视图预处理后,进入重建部分。首先提取三视图的轮廓,以其各个视图的最大外轮廓为参考基准,利用角度判别法[8]进行遍历搜索,构建最大轮廓参考体,提取文件中的点、线,构建对应的匹配点、面环,生成对应的虚、实基元体。然后将基元体依次同参考体做对应的布尔运算,不断更新参考体后,生成初步重建实体。

2.3.3 重建结果的校验

生成初步重建实体后,选取某一投影方向,将重建结果反投影至该投影方向,并创建一个新的草图,验证该草图是否与原草图匹配。如果匹配,则算法结束;如果不匹配,则通过Solidedge中的同步建模模块(后文详细叙述),适当的人机交互步骤辅助重建,直至投影相匹配。

整个算法的运行流程如图3所示。

图3 算法运行流程

3 应用实例分析

3.1 操作平台

西门子公司UGS旗下的Solidedge ST7软件是一款以Windows系统平台开发的中端CAD建模软件[12],能够高效地实现零件的建模、装配钣金以及工程图的设计,同时也是西门子公司推出的极具特色的同步建模软件。在同步建模模块中,有一个2D转3D的功能,能够较为方便地通过人工交互界面完成2D到3D的转换,同时还能完成在重建过程视图预处理步骤中的一部分内容,如图素的拼接与打断可通过Solidedge中的解块功能来实现,三视图的分割与坐标系的转换可由Solidedge中2D转3D工具条中的内置嵌入功能来实现,如图4所示。以上2项软件内嵌自带功能给视图的预处理工作带来了极大的便利,大大地减轻了重建的工作量,因此文中选用Solidedge作为开发平台。

图4 坐标系的转换

3.2 Solidedge的二次开发方法

Solidedge提供了多种数据接口,最常见的是通过ActiveX Automation方法,运用VB、VC等编程语言,实现对ActiveX Automation技术的运用[13-16]。文中选用VB作为开发工具,实现重建过程,首先在VB中需要调用Solidedge中的相关类型库,实现VB编写代码,访问Solidedge软件内部提供的数据服务,如图5所示。然后再通过代码编写的ActiveX Automation(client)生成.exe文件,完成三视图实例的重建。

图5 对Solidedge类型库的引用

3.3 重建算例的演示及相关的文字表述

算法由VB6.0编写,基于Solidedge平台运行,如图6所示。法兰零件的三视图如图4所示,其中图6(d)为三视图经扫掠得到的参考体,将图中生成的基元体分别与参考体做布尔运算,得到最终的重建实体,其三视图与图4完全匹配,故此实体为目标实体。

图6 重建算例的实施

4 结束语

通过对三视图特点以及相关制图规范的分析与理解,提出了针对简单法兰类零件的重建算法,并结合相关的二次开发技术进行了实例验证。该课题最大的难点是如何将经过大量工程师长期工程实践得出的经验化制图规范,转化为逻辑严谨、严格的计算机能够识别的形式化描述,赋予计算机模拟人工理解识图的能力,随着人工智能的发展,相信在之后会有所突破。而对结构更为复杂、制图规则更多的形体还有待深入研究。

猜你喜欢
基元草图三视图
面向异构履带车辆的统一运动规划方法
SolidWorks二维草图的绘制经验与技巧
基于多重示范的智能车辆运动基元表征与序列生成
有级转向履带车辆的驾驶员操控行为模型
不能承受的生命之轻
探究三视图还原几何体的几种常用能力
人体细胞内存在全新DNA结构
画好草图,寻找球心
三视图题型例析
三视图解法探微