快速成型技术二北京隆源.docx
《快速成型技术二北京隆源.docx》由会员分享,可在线阅读,更多相关《快速成型技术二北京隆源.docx(9页珍藏版)》请在冰点文库上搜索。
快速成型技术二北京隆源
快速自动成型技术
(二)
——材料添加法制造零部件
上一讲介绍的是快速自动成型的基本原理,曾经提到成型机的输入数据主要有两种来源:
原始设计和实物。
CAD既可用来设计新零件,又可以用来修改已有的数据。
这一讲讨论CAD文件到成型机输入数据的转换,或者说,是数据转换处理软件及STL格式文件。
下一讲将介绍快速自动成型技术的应用及发展前景.
1.引言
在快速自动成型系统中,软件是“自动”的关键因素。
与成型机相关的软件可以分为两种:
.处理软件将三维实体的描述文件通过切片(Slicing)等过程转换为成型机能接受的输入数据;
.自动控制软件成功的控制软件不但能使各机械部分“自动”起来,还应使其“动”得最有利于零件制造,这种要求是很高的。
这里只讨论前者,与成型机的种类基本无关。
2.三维CAD软件的选择与STL
选购CAD软件,有多种因素需要考虑。
由于成型机输入数据的要求,这里只讨论三维软件。
其因素可能有:
.设计目的比如,用于汽车的设计软件包,其要求就可能与用于油井支架的有所不同;
.易用性三维CAD软件在使用上都很复杂,易用与否很大程度上取决于操作者的熟悉程度;
.是否便于修改一般来说,具有参数化设计方法的软件包,修改设计比较方便;
.输出文件格式和质量这对于成型产品的质量很重要,也是这一讲的重点。
快速自动成型应当对三维表述的解释具有唯一性;CAD模型应当是全封闭的;并指定零件的内和外,材料部分为内,非材料部分为外等,这些,在某种程度上给CAD软件提出了新的要求。
这里先讨论形状的描述(表述)方法:
轮廓层表述(Contouredrepresentation)将三维物体用一系列有次序排列的截面的轮廓线来表示,就象地形图上的一系列等高线,信息储存时,只需存储二维信息加上排列顺序信息。
这种描述方法其实是二维半,即把一系列的二维图连在一起。
表面表述(Surfacerepresentation)用无厚度、无质量的面来描述三维实体。
这种描述方法有些象支起的帐篷,在线架之间有面相连。
固体表述(Solidrepresentation)类似于用模型来表示实际零件。
在三维图上,有材料的部分都被填满,形成真实的三维“固态”模型。
固体表述又分为:
.
构造型固体几何(ConstructiveSolidGeometry,缩写为CSG)利用搭积木的方法,即用许多简单的三维几何形状加、减出复杂三维实体来。
以图1为例,(a)中A和B分别是圆锥和圆柱,用这两种简单的形状加以变化就能得到如图1(b)那样较复杂的实体;
.
分析边界表述(AnalyticB-rep)用精确的数学描述来表达面、曲线和结点。
这种方法精度很高,但表述复杂表面时会有困难。
用得较多的一种分析边界表述法是NURBS法;
.
小平面边界表述(FacetedB-rep)这是一种近似方法。
用一系列的空间小平面来代表物体表面,表述精度与小平面的数量相关(请见图2):
小平面分得越细,精度就越高,但处理开销也会大大增加,因此精度和时间要有一个折中;
.
体元法(Voxelrepresentation)此法可以看作显示屏概念的三维延伸。
将三维物体放到一个分成许多等体积小体元的三维空间中去,有三维物体的体元为1,没有的为0,就定义出一实体。
描述精度取决于体元的大小,体元越小精度就越高。
图1构造型固体几何方法
图2小平面边界表述法
大多三维CAD软件包都给出了几种不同的三维型体表述方法,有些还使用几种方法组合成一种表述方法。
应当指出的是,由于实体的计算机表述方式还不成熟,有时还是很难将某些三维形状描述清楚。
举个例子,图3所示的三维的变半径倒角和倒角交接就不易处理,常会引起数据转换出错。
这类倒角用CSG方法较适宜,而遇到象汽车流线型的实体时,则应该用分析边界表述方法。
图3型体信息难以产生的实体
目前这个行业用得较多的文件格式是STL,下面就重点介绍。
3.STL
迄今为止,快速自动成型领域并没有标准的零件文件格式。
由美国3DSystems公司开发的STL(Sterolithography)文件格式被工业界认为是目前的准标准。
快速自动成型技术问世后,各CAD软件公司纷纷推出带有STL文件输出的软件包。
表1列举了一些公司和它们的产品,其中美国SDRC公司的I-DEAS,PTC公司的Pro/Engineer和AutoDesk公司的AutoCAD受到用户的偏爱。
3.1STL数据格式
自动成型技术的一个环节,是利用切片程序将STL文件作为输入数据,生成用来制造三维实体的一组片层。
STL文件表示的零件,如果用图形表示,其外表面是许多杂乱排列的小三角平面。
STL文件中包含一组三角形小平面的数据,每个小三角形面都用一个法向和3个顶点来描述,法向和顶点都由三维坐标表示。
这样,STL文件是由一系列相连的“三维”三角形面组成的,三角形的顶点以及它们的法向数据汇集在一起,用来描述三维实体。
面取向小三角形面定义了三维物体的表面,因此,每个小三角形面都是三维物体内部与表面的分界面。
小三角形的取向是这样定义的:
其法向向外;3个顶点连成的矢量的方向依照反时针方向的顺序(右手法则),请看图4。
图4面取向图5顶点规则
顶点法则每一个小三角面中必须有两个顶点与每个相邻的小三角面共用。
换句话说,一个三角面中的顶点不能落在另一个三角面的边上。
图5举出了正反两个例子。
STL文件中的数据是无量纲的,各小三角的顶点坐标必须是正数,零和负数是不合法的。
STL有两种格式,即ASCII和二进制文件格式。
STLASCII格式其结构如下:
solid
facetnormalninjnkn
outerloop
vertexv1xv1yv1z
vertexv2xv2yv2z
vertexv3xv3yv3z
endloop
endfacet
endsolid
格式说明:
.黑体字为关键词,必须小写。
.在"facetnormal"和"outerloop"中有空格。
而以end开头的词中却不能有空格。
.每行开始所留的空格必须用空格键,而不能用"tab"键。
.{}n表示{}中的内容要重复n次。
法向值可以是负值和零,而顶点值不能。
这种格式主要用来试验新的CAD界面,由于这种文件很庞大,在实际应用中难以使用。
STL二进制格式它用IEEE整数和浮点数表示,结构如下:
:
:
={Facetstorage}…
:
:
=<80bytesofsolidname,filledbySPACEcharacter>
<4-byte-integeroffacetnumber>
:
:
=
:
:
=<4-byte-floatofx>
<4-byte-floatofy>
<4-byte-floatofz>
:
:
=<4-byte-floatofxcoordinate>
<4-byte-floatofycoordinate>
<4-byte-floatofzcoordinate>
STL文件格式有若干限制,有些在前面已经提到:
.要将其数据还原成实体模型,并检查是否具有描述错误是件不容易的事,处理起来很费机时;
.含有大量多余信息:
每个小三角平面的3个顶点坐标都要列出来,因而一个点要列多次;
.坐标值不能为零或负数;
.所有ASCII格式关键词中的字母都必须是小写的。
3.2CAD与STL
前面讲到,STL文件是由一系列相连的“三维”三角形组成的,尽管严格来讲三角形是二维的。
这里的“三维”是指这些三角形是由x,y和z坐标来定义的。
图6说明如何用三角形来逼近一个圆。
图6圆的三角形逼近
可见三角形(元素)越多,精度就越高,但运算时间也会增加。
CAD产生的三维固体模型在计算机显示屏上可能很完美,而把这个模型用于添加法来快速成型却不一定完美,可能出现的问题有:
重叠表面举个例子,在制做水泵主轴时,发现其中有一个夹粉层,很容易造成断裂。
究其原因,是设计时用了重叠表面,即轴是由一个圆柱与另一个圆柱连接在一起的,这个模型在显示时看不出任何异样,但用于成型时却不行。
如图7所示,如果存在一个内部重叠的表面,切片软件会认为是两部分,扫描时会在重叠位置间断一下,引起工件的质量问题。
图7重叠表面
STL缺陷把STL数据显示出来,可能同样看不出任何问题,但微小的缺陷就会使切片乃至加工成问题。
对于CAD图象显示,小三角形是否连接并不重要,但对于STL文件来说却很重要。
假如有一处出现两个相邻的三角形不相连,此处的三维实体就没有定义,例如图8,反映到切片程序上就是错误信息。
模型越复杂,曲面越多,就越可能带有不相连三角形,切片难度也就会随之增大。
图8三角形之间的间隙
如果切一个圆筒,碰巧有个间隙,切出来就成了图9的形式,即使能造出实物来,也会有缺陷。
图9圆筒的STL文件中有一缺陷
如果相邻三角形的法向取向出现矛盾,象图10所示的例子,也会导致切片或加工零件失败。
上述问题,通常出现在CAD到STL转换过程中,这就需要有一个软件来修改STL文件,比如国内AFS公司和美国3DSystems就有此类软件。
但要想找出STL文件中的问题并加以修改并非轻而易举,也不是所有的毛病都能修理。
图10法向错误
3.3CAD直接法
既然从CAD到STL文件有许多问题,能否将CAD数据直接转换为成型机能接受的数据格式呢?
这个问题很早就提出来过(1991),学术界也做了大量工作,答案是可以的。
快速自动成型机的输入数据,通常可以由CAD模型数据转换成STL数据格式,经片层处理而得到;也可以通过由CAD底层开发出来的成型系统软件而直接产生。
对于从三维数字化仪得到的数据,既可以转成STL文件格式去做切片处理,也可以转到CAD软件中去处理。
利用CAD中的几何表示,直接产生准确的切片和扫描矢量数据,对于特定的CAD软件/成型机组合,如CAD/激光选区烧结(SLS),是很有效的。
这种方法与STL间接法相比,有些类似于汇编语言和C语言的关系,有优点,也有问题:
.切片程序与成型机类型密切相关,通用性不好;
.需要开发者熟悉成型机的底层知识,比如控制机理,时间间隔等,难度较大;
.一旦发生错误,可能就很严重,因为错误保护和恢复能力很差;
.扫描线文件通常很大;
.数据的验证和修改很难,尤其是考虑零件收缩时。
这个情况有点类似于用x-y绘图仪画一个曲线,曲线在CAD中被分成许多短直线段,然后将这些线段依次依时送到绘图仪中去画出来,若要作收缩校正就很困难。
按目前情况来看,CAD直接法和STL法都要发展。
直接法限制较多,但毕竟能解决问题;STL法是通用方法,但还不完善。
4切片处理软件
如前所述,切片处理软件可以有两种。
一种是独立软件包,用于处理以STL格式描述的三维实体;另一种是借助AutoCAD开发平台所开发的模块,用于直接处理CAD中的三维模型,输出成型机所需要的数据格式。
限于篇幅,本文只简单介绍前一种。
4.1STL文件的切片处理
STL文件的切片处理过程如图11所示。
先由CAD设计的固体模型产生STL文件,再经过转换,形成一系列平行于x-y平面的轮廓线,表示所设计的固体模型。
切片的目的是要将模型以片层方式来描述,片层的厚度通常在50μm到250μm之间。
每一片层还将变成许多激光束的开关点。
从图11可以看出,无论零件多么复杂,对每一层来说却是很简单的平面矢量扫描组。
图11STL切片处理过程
切片处理将计算机中的几何模型变成轮廓线(contour)表述。
这些轮廓线代表了片层的边界,是用一个以z轴正方向为法向的数学面与模型(STL描述)相交计算而得的,交点的计算方法与输入的几何形状有关,但输出的数据却是统一的文件格式。
轮廓线文件是有一系列的环路(loop)来组成的,并用关键词来指明环路一轮廓线的开始和结束。
有许多点来组成一个环路,这些点是按右手法则(外环反时针,内环顺时针)如图12所示。
图12切片处理后的轮廓线取向
一个简单的切片程序框图如图13所示。
首先,读入STL数据,并将所有的顶点坐标乘以一个较大的系数,比如5000,使得它们变为整数以利于提高运算速度。
然后,将所有平行于x-y平面的小三角面挑出来作为表层,比如零件的底面或顶部。
所有剩下的小三角面都用来计算是否与Z0+n△Z相交。
其中Z0为模型的最底层的Z面,△Z为切片层厚度,n为层数,如果相交,小三角面与切片平面可得到轮廓线文件。
这种运算可以用Wolstenholme(1971)所述的方程。
这个输出轮廓线文件将作为随后的激光开关点计算的输入文件,其处理方法与成型机有关。
图13切片程序框图
4.2拓扑处理
用上述方法取得的成型机输入数据只是平行扫描矢量。
而一般的激光扫描系统还要做各种其他方式的扫描,比如边界轨迹扫描(boundarytracing)、分半扫描(half-lap)、交叉扫描(multipleorientation)和智能扫描(intelligent),通常要求在切片平面中带有拓扑信息。
上述切片方法很难实现这些高级的扫描方法。
RockandWozny(1991)提出的一个拓扑面切片方法,能解决上述问题。
限于篇幅,就不介绍了。
表1带STL文件输出的三维CAD软件包
公司
产品
公司
产品
AliasResearch
Alias/2
Intergraph
I-EMS,MicroStation
Aries
ConceptStation
MatraDataVision
Euclid
Autodesk
AutoCAD
ParametricTech
Pro/Engineer
CADKey
CADKey
Schlumberger
Bravo3
CISIGraph
STRIM100
SchroffDevelopment
SilverScreen
Computervision
ADDS5,PersonalDesigner
SDRC
I-DEAS
Dassault/IBM
CADAM,CATIA
Varimetrix
Varimetrix
EDS
Unigraphics
WarefrontTech.
Visualiser
Hewlett-Packard
SolidDesigner