王 楠 侯志敏 陈慧珍
基于SolidWorks软件实现三维模型的自动化装配
王 楠 侯志敏 陈慧珍
沈阳科技学院,辽宁 沈阳 110167
把虚拟装配系统中的模型转换为零件模型和装配约束模型这两个重要部分是实现SolidWorks装配模型转换的最佳方式。在使用虚拟仿真格式后,可以让OpenFlight的数据库表达方式更具有层级化,在面对对象层次虚拟装配以后能实现装配模型的重塑。
SolidWorks软件;三维模型;自动化装配
模拟装配是整个产品在实物模拟以及装配时两者进行的模拟映射,对它进行改进能转变传统实物模型的验证装配性,最终用户就能在虚拟的环境中对验证产品的装配性进行深入了解。装配建模的主要任务之一是在虚拟的环境中建立对应的产品零件模型,通过对装配的约束建立对应的通用虚拟方式,然后再将CAD转换为虚拟装配模型。
虚拟装配系统的模型转换方式有如下两类方式:第一,图形交换中使用中性的文件定义法,可以在使用IGS格式、STEP格式等时自定义格式,但是由于中性文件格式异常复杂,所以在信息组织烦琐的同时,会缺少装配信息,这就致使整个装配的效果欠佳。第二,在与共享底层数据库进行CAD系统装配的时候,可以让CAD系统与虚拟装配系统两者相互统一,最终达成底层数据库。但是由于这种方法的难度偏大,所以无论是通用性亦或是扩展性均会受到限制。
通过对CAD软件的二次开发,可以在提取部分产品信息的同时,对拓扑信息、面片信息和装配信息等数据有深刻的认识,从而在整个装配约束存储中进行文本格式的存储,特别是在以OpenGL PERformer的虚拟装配环境中加入了新的文件,以实现装配模型的虚拟重构[1]。其实这种方法很难对整个产品的装配信息进行系统性表达,尤其在很多细节方面还是不够完善的,所以可以先把拓扑信息和面片信息等特征参数填入标准化层次数据库结点中,然后通过输入不同结点的信息,建立系统映射。其实这种虚拟映射不是在各类信息加载中运用程序映射的方式,而是现实面片信息和参数信息的集成与转换。
图1 虚拟装配模型转换流程图
OpenFlight作为一种场景数据库模拟规范系统,可以在仿真虚拟界实现工业化标准[2]。现在较为常见的虚拟软件包括MultiGen Creator、图形系统OpenGVS,World Tool Kit等均是以OpenFlight场景为主要的数据库规范场景。
OpenFlight数据库结构可以如图2所示,通过分层技术场景的规划,让结点构成树状结构,然后不同的结点与子结点进行连接,这样就能让每个节点的数据属性得以精准的定义,然后在该节点中使用这项功能。由于这种层次化的结构既能表达出零件的拓扑信息和面片信息,又可以在结点中添加部分附加信息,譬如特征参数等对应信息,使用OpenGL Performr加载OpenFlight数据库模型以后,通过对OpenGL Performer API等函数进行数据模型访问的方式,让不同的模型层次结构点之间形成紧密联系。正是使用这一特性,才能实现OpenGL Performr和OpenFlight集成的特点能满足零件信息重构[3]。
图2
对SolidWorks系统的二次开发,能对装配模型的底层数据进行系统化提取,这样就能深入了解装配约束信息和装配零件信息,使用具有装配特征的装配信息,先要让函数get-IActiveDoc获得对应的装配模型,然后使用IFirstFeature函数装配系统,通过对应MateGroup的特征,既使用装配特征,又让装配定义零件约束信息系统的装配效果更佳。
首先,要从CAD模型中针对性地模型转换所需要的信息,之后再将这些提取出来的信息以固定的模型存储。最后,将数据模型提取到虚拟装配系统中。数据信息本身应具有完整性和简单性,能够非常清晰地将零件模型的层次表达出来;不同信息之间应尽可能地减少匹配,尤其是在加载数据模型的过程中,更应减少不同信息的映射。要将所提取的信息以固定规则导入OpenFlight数据库中,并在装配约束条件下,将所需进行匹配的零件装配面进行映射,从而减少映射时的不同信息之间的关系。
将信息以虚拟现实格式进行保存就需要使用OpenFlight接口。设计者可以将零部件的模型在建模软件中进行显示,同时也可以将提取出来的信息进行一系列的编辑工作,使得数据信息能够更好地满足建模要求。为了使得零件模型能够具有更好的层次,就需要对零件进行逻辑建模,同时还需要提取OpenFlight数据库和SolidWorks信息映射关系,再将信息分别写入各个不同层面的结点中。映射关系如图2所示,将零件进行分层处理,从而将不同层与OpenFlight结点形成映射。用Group结点进行拓扑信息的存储工作,并对特征参数和面片进行编号处理。
拓扑信息是不同结点之间所存在的拓扑关系。譬如以圆柱面做为父节点的面片,那么这个父节点的特征便是拉伸[4]。写入信息时,需要对面片层和特征面层进行分别写入,并以固定的规则进行命名。
模型的特征以及参数是规则面的参数。譬如当前只有一个装配面的情况下我们便可以得到相关的参数和装配面的类型,以及装配面的特征等等。装配类型包括圆柱面以及平面等等。装配参数则包括例如圆心的坐标以及圆的边界和圆的半径等等。
面片的信息主要指的是三角面片所代表的编号、坐标以及相关的颜色等等[5]。面片信息的功能主要是用于显示装配条件以及虚拟环境下需要做的碰撞检测等。
拓扑信息可以使结点信息在查询功能上实现双向信息流通,从而使相关结点所包含的参数信息能够被快速地查询到。拓扑的结点中存储了特征参数的所有相关信息,所以这两部分信息中所包含的内容都可以根据不同的需求进行扩展。
模型中所提取出来的信息和参数需要写入OpenFlight的数据结点中。为了满足这项功能要求,就必须命名数据结点,只有这样才能使这部分信息得到表达。所有从CAD模型中获得的相关信息在结点中都可以表达出来。
本文提出了由SolidWorks模型直接到虚拟装配模型的系统化表达方式。由于该方式需要从SolidWorks软件中提取部分拓扑信息、面片信息等数据信息。所以使用以OpenFLIght格斯层次化模型的表达方式,能通过对层次模式化表达的产品进行装配约束。两个模型在对其零件名称进行特征变化映射关系建立时,应从虚拟装配模型重构的角度思考问题,这样能让虚拟仿真标准格式的表达更具完整性,减少信息之间的不对称映射操作,通过实例能让该方法的表达更为简明,也能切实感受产品的装配信息,最终提升产品的可拓展性。
[1]陆培华,傅烽.浅谈SolidWorks软件在机械制图教学中的应用[J].陕西教育(高教版),2015(6):14-15.
[2]郭党号.基于SolidWorks的船舶柴油机虚拟装配及运动仿真[J].船海工程,2016(11):12-13.
[3]武文亮.利用GoogleSketchUp快速构建滑坡三维模型[J].现代商业,2014(1):12-13.
[4]毛华扬,刘加利.面向内容的三维模型数据库设计及其检索系统的实现[J].北方经贸,2016(16):12-13.
[5]徐纯.一种基于空间对称变换的三维模型形状描述方法[J].大庆社会科学,2015(9):2-3.
Automated Assembly of 3D Models Based on SolidWorks Software
Wang Nan Hou Zhimin Chen Huizhen
Shenyang Institute of Science and Technology, Liaoning Shenyang 110167
It is the best way to convert the models in virtual assembly system into parts model and assembly constraint model. After using the virtual simulation format, you can make the king of OpenFlight database expression more hierarchical, in the face of object-level virtual assembly to achieve assembly model remodeling.
SolidWorks software; three-dimensional model; automated assembly
TP391.9
A
1009-6434(2017)9-0068-03