机械零件快速成型中STL模型优化方法研究*

2014-07-18 11:56韩婧茹王玉增李广亚刘双源
组合机床与自动化加工技术 2014年4期
关键词:面片成型加密

韩婧茹,王玉增,李广亚,刘双源

(济南大学 机械工程学院,济南 250022)

机械零件快速成型中STL模型优化方法研究*

韩婧茹,王玉增,李广亚,刘双源

(济南大学 机械工程学院,济南 250022)

针对同一机械零件的不同局部表面精度要求的不同,提出一种STL模型的局部优化方法。利用该方法一方面可以去除冗余的STL网格,另一方面可以对机械零件要求的关键部位进行STL模型的局部加密。实验证明通过该方法,保证了机械零件的精度并在此前提下提高了机械零件快速成型制造的效率。

STL文件;局部加密;快速成型

0 引言

随着计算机技术的迅速普及和CAD/CAM技术的广泛的应用,近年来快速成型技术得以迅速的发展。由于STL文件具有易转换性、传输性和文件格式简单等优点,并且STL文件可以作为CAD软件和快速成型系统之间的数据转换接口,在快速成型系统中得到了普遍的应用[1-2]。但是通过CAD软件转换而来的STL模型存在一些误差,在快速成型过程中,STL模型的精度会直接影响到快速成型机械零件的精度,所以为了保证成型后机械零件的精度,在快速成型软件系统中对STL模型进行优化是非常必要的[3]。目前,STL模型精度与STL文件尺寸之间的矛盾始终没有得到很好解决[4]。STL模型是由一系列有连续性关系的的三角形面片组成[5],提高STL模型的精度会加密三角形网格,这样会使得STL文件尺寸增大,从而导致快速成型效率明显下降,若不加密STL模型三角面片,STL模型精度得不到很好的解决[6]。

基于上述问题,提出一种针对机械零件快速成型中STL模型的优化方法。利用该方法一方面可以去除冗余的STL三角网格,减小STL文件的大小,提高机械零件快速成型的效率;另一方面可以对机械零件要求的关键部位或机械零件表面具有凹凸轮廓的部位进行STL模型的局部加密,提高机械零件的成型精度。

1 STL模型优化分析

1.1 STL模型优化重要性分析

初始的STL文件一般是由CAD系统转换而来[7],在快速成型分层切片的过程中,是对STL模型直接切片,STL模型的精度直接影响到最终打印的机械零件的精度。如图1框图所示,可见在快速成型软件系统中对STL模型的优化对于模型精度的提高和打印效率起到至关重要的作用。

图1 快速成型软件系统框图

1.2 STL模型精度误差分析

首先,STL模型精度受到CAD系统的束缚,表现在两方面。①CAD系统对最高转换精度有限制,如果有些CAD实体模型存在曲率半径较小的局部,CAD系统就不允许以较高的精度STL格式化,可能导致局部精度要求高的地方无法满足设计要求,从而造成STL模型误差。②将CAD模型转换成STL模型时,控制参数一旦设定,各表面精度就被统一确定,这时,为了照顾重要表面的精度要求就必须增加整个STL模型表面的三角形密度,从而导致STL文件尺寸过大,快速成型效率降低[8]。

其次,CAD模型转换成STL模型时,STL模型的某些区域存在冗余的三角形,例如一些狭长的钝角三角形,如图2a所示, △ABE、△BEC与△ABC共平面,△AED、△ECD与△ACD共平面,显然△ABE、△BEC、△AED、△ECD四个三角形是冗余三角形。虽然冗余三角形在有效三角形面内,但是无论其面积大小、形状如何,它所占用的空间大小是一样的。从而冗余三角形的存在也增加了STL文件尺寸。

图2 冗余三角形优化示意图

因此,根据对STL模型精度误差分析,STL模型的优化可分为两部分,一部分是去除STL模型中冗余三角形;另一部分是对三维实体要求的关键部位和具有凹凸轮廓的部位进行局部加密。

2 STL模型冗余三角形优化实现

2.1 模型数据的预处理

STL模型是有一系列无序的三角面片组成,所以在对STL模型进行优化之前,需要对STL模型上的三角面片排序。STL文件有两种存储格式:ASCII格式和二进制格式[9]。STL模型的每个面片均由其顶点和由里指向外的单位法矢定义构成,且顶点的存储顺序与单位法矢符合右手规则[10]。

因此,优化前首先应对文件进行格式检测,并计算出模型的三角形面片总数。若格式正确,根据STL文件数据的存储格式,定义ReadData类,用于保存读取的三角形面片信息。完成数据读取后,调用Directx11的相关函数进行显示。

2.2 去除冗余三角形

首先应判定三角面片是否为冗余三角形。当一个三角形的最长边和最短边确定后,该三角形的最大内角值θ也就确定。随着θ值的变大,钝角三角形会逐渐逼近为直线,相对于锐角三角形而言,钝角三角形面片对STL模型的影响不大,可视为冗余三角形,并可以根据模型需要定义最大角θ值,来限定判定条件。然后对符合约束条件的面片进行优化。

如图2所示,图2a为优化前的STL模型,图2b为优化后的STL模型。显然,优化后的模型减少了STL模型三角面片量。

在△ECD中,短边EC中E的坐标点为(xe,ye,ze)C的坐标点为(xc,yc,zc),在优化的过程中,将C点的坐标值赋值给E点,这样原E点与C点重合,即去除冗余的三角形。去除后,若形成空洞,扩展空洞周围的三角形使其空洞充满即可。

如图3所示为去除冗余三角形的算法的流程图。

图3 去除冗余三角形流程图

3 STL模型局部加密算法实现

根据三维实体精度的要求,一般对于包含自由曲面的模型而言,曲面部分应比平面部分的转换精度要求高;曲率较小的曲面应比曲率较大的曲面转换精度要求高;法向矢量与成型方向夹角较大的曲面部分应比夹角较小的曲面部分的转换精度要求高。在这样的情形下,有必要根据STL模型的不同位置的精度问题进行局部的三角面片加密。

若拟合的是平面,则STL模型相对精确,只需要去除冗余三角形即可,若拟合的表面是非平面,STL模型就会产生逼近误差。

首先,判断模型哪一部分需要加密。用D表示某一三角形面片法向矢量ξ与规定三角面排序方向矢量Z之积,如果D=0,Z轴上的截面交点刚好落在理想轮廓线上;如果D≠0则会产生误差。该局部表面需要加密。

下面以半径为R的圆形面,分析影响STL模型精度的主要参数。

图4 STL模型加密

如图4a所示,若该半圆用N个三角形逼近,则:

(1)

所以,

(2)

由上式可得,

(3)

根据式(3)可得,当圆的半径已知时,N越大,三角形与拟合圆之间的弦高越小,逼近误差越小。因此,可在非平面的局部轮廓,加密STL三角面片。

如图4b所示,对STL模型进行局部加密,边AB为优化前三角形一边,然后由每条边衍生出一个新的三角形,衍生出的三角形顶点位于曲面轮廓,为便于生成新的STL模型,除位于原三角形一边上的两个顶点外的生成的新的三角形的另一个顶点重合,这样即为一个四面体,用新生形成的三角形来逼近三维实体。如图4b所示,e表示优化后的弦高。

由几何关系可知:

ζ=η/2

(4)

(5)

根据前面推倒的有关原弦高的关系,和上述关系式可得出下式:

e=R/4

(6)

由上式可得理论上优化后的STL模型精度比优化前会提高4倍。

图5是STL模型局部优化流程图。

图5 STL模型算法流程图

4 实验结果

为验证上述方法,首先选定一实验零件,约定其圆弧处的精度为0.02mm。

将此机械零件的CAD模型转换成STL模型,然后对STL模型做除去冗余三角形处理,接着对模型具有凹凸轮廓的部位进行局部加密,最后生成的STL模型参数如表1。

表1 STL模型优化前后参数对比

根据上述参数,经试验可得图6所示,模型,将STL模型实体填充,可得到如图6a示为优化前三维STL模型,图6b为优化后三维STL模型。

从表1可得到优化后的精度与实验前约定的精度近似,优化后的STL模型虽然文件大小有所增加,但与优化前相比,增加的倍数降低。并且经过试验,优化后的精度约为优化前的1/4。

图6 优化前后的模型对比

从图6可以明显看出优化后的模型比优化前的模型更精确。

5 结论

通过对经CAD系统转换来的STL文件进行局部优化处理,经过试验验证,可以得到以下结论:

(1)通过去除STL模型中的冗余三角形,可以减小STL文件的尺寸,对提高3D打印的打印效率起到了明显的作用。

(2)通过对机械零件有精度要求的部位或三维实体表面有凹凸轮廓的部位进行STL模型局部加密。可以细化该局部的STL三角面片,提高了STL模型的精度,从而使得快速成型机械零件精度得到改善。

[1] Mohammad T,Hayasi · Bahram Asiabanpour. A new adaptive slicing approach for the fully dense freeform fabrication (FDFF) process[J]. J Intell Manuf,2013(24):683-694.

[2] 王春香,李振华.STL 模型分层算法的优化及应用[J].机械设计与制造,2013(3):87-90.

[3] 李成,杨继全,李超,等.基于NURBS曲线拟合的STL文件局部精度提高方法的研究[J].南京师范大学学报,2013,13(1):15-19.

[4] Hwa-Jen YAP, Zahari TAHA, Siti Zawiah Md DAWAL.A generic approach of integrating 3D models into virtual manufacturing[J].Comput & Electron,2012 13(1):20-28.

[5] 庄云良,赵东标,刘凯,等. 基于VC和OpenGL的STL文件的分层和显示[J]. 机械与电子,2012(1):27-29.

[6] 黄祥.快速成型技术中精度控制的实现[J].热加工工艺,2012,41(23):193-195.

[7]Chung-Shing Wang,Teng-Ruey Chang. Retriangulation in STL meshes for rapid prototyping and manufacture[J].Int J Adv Manuf Technol, 2008(37):770-781.

[8] 江本赤,陈祥敏,郭利.RP 技术中数据模型转换误差的补偿策略研究[J]. 机械设计与制造,2011(11):227-228.

[9] Dr. Ian Gibson,Dr. David W. Rosen,Dr. Brent Stucker. Additive Manufacturing Technologies [M]. US: Springer US, 2010:341-361.

[10]Ian Anthony Stroud,Hildegarde Nagy.Solid Modelling and CAD Systems [M]. London:Springer London, 2011(37):383-421.

(编辑 赵蓉)

Study on The Optimization Method of STL Model in Rapid Prototyping Machine Parts

HAN Jing-ru,WANG Yu-zeng,LI Guang-ya,LIU Shuang-yuan

(School of Mechanical Engineering,University of Jinan,Jinan 250022,China)

For the same mechanical parts of the different requirements of different local surface accuracy, propose a local optimization method for STL model. Using this method, On the one hand can remove the redundant STL grid, On the other hand, STL model has a key position requirement of mechanical parts can be partial encryption. Experiments show that by this method, to ensure the accuracy of the mechanical parts and in this context to improve the mechanical efficiency of rapid prototyping parts.

STL file;local encryption;rapid prototyping

1001-2265(2014)04-0006-03

10.13462/j.cnki.mmtamt.2014.04.002

2013-09-06

国家自然科学基金(51275208);山东省自然科学基金(Y2008F53)

韩婧茹(1989—),女,山东章丘人,济南大学硕士研究生,研究方向为机械装备现代设计与分析,(E-mail)jrhan723@163.com;通讯作者:王玉增(1963—),男,山东聊城人,济南大学教授,硕士生导师,研究方向为计算机图形图像处理、图像识别、虚拟现实技术,(E-mail)me_wangyz@ujn.edu.cn。

TH166;TG65

A

猜你喜欢
面片成型加密
热成型零件点焊对碰撞的影响
一种新型离散忆阻混沌系统及其图像加密应用
三维模型有向三角面片链码压缩方法
初次来压期间不同顶板对工作面片帮影响研究
一种基于熵的混沌加密小波变换水印算法
三向接头注射成型模具设计
加密与解密
甜面片里的人生
快速成型技术在口腔修复中的应用
微注射成型PP/ABS共混物相形态