APP下载

FGM零件快速原型制造中支撑自动生成模块设计

2011-03-15胡海欧朱心雄

北京航空航天大学学报 2011年3期
关键词:链表指针交点

王 素 胡海欧 刘 恒 朱心雄

(北京航空航天大学 交通科学与工程学院,北京 100191)

FGM零件快速原型制造中支撑自动生成模块设计

王 素 胡海欧 刘 恒 朱心雄

(北京航空航天大学 交通科学与工程学院,北京 100191)

功能梯度材料是一种新型非均质材料,有着广泛的应用前景.传统的制造设备无法满足加工这种材料零件的要求,快速原型制造技术使得功能梯度材料零件的制造加工得以实现.支撑设计决定快速原型制造产品精度.针对功能梯度材料零件数字化设计制造中的支撑生成问题,采用了基于邻边排序的Stereo Lithography模型切片算法并提出了基于多边形布尔运算的支撑生成算法.根据功能梯度材料零件几何信息及零件内部材料分布信息实现支撑间距自适应改变,提高了快速原型产品精度.通过对支撑自动生成实例的分析,验证功能梯度材料零件快速原型制造中支撑自动生成算法的正确性.

功能梯度材料零件;快速原型制造;STL文件;支撑

功能梯度材料[1]FGM(Functionally Gradient Material)是一种新型非均质材料,其内部由两种或两种以上材料构成,材料成分呈连续梯度变化,内部不存在明显的分界面,材料的性能与功能也随之呈梯度变化.由于功能梯度材料零件构成的不均匀性和复杂性,传统的零件设计和制造工艺已不能满足要求,快速原型制造技术为功能梯度材料零件加工提供了有效途径.在制造零件过程中,首先根据零件三维几何模型数据对待加工零件进行分层切片、添加必要的支撑,然后将模型数据输送到快速原型设备进行加工制造.其中,添加支撑是功能梯度材料零件制造技术的重要组成部分,可以避免零件在加工过程中因收缩变形而引起的制作失败,保持原型在制作过程中的稳定性以及在制作时相对于加工系统的精确定位,确保成型产品精度.快速原型制造工艺都需要添加适当的支撑,有些工艺(如Laminated Object Manufacturing,Selected Laser Sintering)的支撑在制造过程中自然产生,而有些工艺(Stereo Lithographic Apparatus,Fused Deposition Modeling)的支撑则需要人工或软件自动生成,这主要取决于工艺的成型机制和成型原料,因此,支撑结构的设计是快速原型工艺的一项关键技术.很多学者在这方面都做了大量研究[2-8],论文在分析 Stereo Lithography切片算法、自适应分层算法等基础上,研究支撑结构的自动生成方法及其实现技术.

1 STL模型切片算法介绍

根据对三角形网格信息处理方式的不同,现有的STL模型快速切片算法主要可分为基于拓扑信息的切片算法和基于三角形位置信息的切片算法.为了满足数据处理要求,本文采用一种基于三角形位置信息的切片算法.

以法线方向与z坐标轴平行的切片平面为例,对每个三角形,根据三角形z坐标的最大值、最小值和切片精度,反求与此三角形相交的各切片平面及其索引号并计算交点,将包含此交点的节点依照三角形的相邻顺序插入到交点链表中.各切片平面内逐渐形成完整的交点链表,将交点依次连接得到切片轮廓线.

在考察待插入三角形与其它三角形相邻关系过程中,切片平面与三角形相交有4种基本形式,如图1所示.当切片平面与两三角形的公共顶点相交时,记公共顶点为交点;当切片平面与不在切片平面内的两三角形公共边相交时,切片平面与三角形相交于两个点;当切片平面与在切片平面内的两三角形公共边相交时,不记录此三角形,不计算交点;当切片平面仅与公共边不相交时,不记录此三角形,不计算交点.

根据直线参数方程:

建立公共边参数方程,其中μ为参数;p起始点坐标;v是由边的起点坐标和终点坐标构成的方向向量.已知切片平面z坐标是公共边在z方向上分量构成的线段上的点,参数μ可依据式(1)由其余参数在z坐标上的分量求得.再将μ代入式(1)求得公共边与切片平面的交点.

为了辅助分层邻接排序算法的构建,需要自定义几个关键的结构体,定义结构体TriMeshLinkList:

图1 切片平面与三角形相交

作为交点链表的节点,切片平面与三角形求交后,将交点赋予intersection,前驱prev和后继next根据三角形邻接顺序确定.定义结构体HeadTail-Pointer:

作为指向交点链表的指针,TriangleMesh结构体中储存着三角形几何信息,headtri和tailtri是指向三角形的指针.带有链表指针的交点链表结构如图2所示.

图2 带有链表指针的交点链表

节点内包含相邻三角形的公共边与切片平面的交点,节点间按三角形相邻顺序排列.与邻接关系有关的三角形信息储存在链表指针内的头、尾三角形中,头、尾三角形记录了链表的两个延伸方向.算法描述如下:

建立行数为切片平面个数的分层数组,每行存储指向交点链表的指针.

1)插入三角形,若已遍历三角形,则结束算法;否则判断三角形是否与切片平面平行,若为真,返回1),否则转向2).

2)考察分层数组中与此三角形相交的切片平面相对应的行,生成新的节点.若行为空,建立链表并存入行中,返回1).否则在行中查找链表指针的头三角形与插入的三角形相邻的链表指针.若为真则保留该指针并求出交点,将此节点插入该指针指向的链表,转向3);否则转向4).

3)判断行中剩余各链表指针的头三角形和尾三角形是否与插入的三角形相邻.如果头尾三角形均与插入的三角形相邻,求出交点并按邻接顺序连接2)中节点所在链表和该指针指向的链表,转向1);如果仅头三角形与插入的三角形相邻,求出交点并反转链表,按邻接关系连接2)中节点所在链表和该指针指向的链表,转向1);如果仅尾三角形与插入的三角形相邻,求出交点并按邻接关系连接2)中节点所在链表和该指针指向的链表,转向1);如果头尾三角形均不与插入的三角形相邻,则将2)中链表存储在行中,转向1).

4)在行中查找链表指针的尾三角形与插入的三角形相邻的链表指针.如果未找到该指针,转向5),否则保留该指针.求交点,将节点插入链表.判断行中剩余各链表指针的尾三角形是否与插入的三角形相邻.如果相邻,反转当前链表,将2)中节点所在链表与该指针指向的链表相连,返回1);否则将2)中链表存入行中,返回1).

5)以此节点建立新链表并存入行中,链表指针的top和btm成员均指向此节点,headtri和tailtri成员均指向插入的三角形,返回1).

2 FGM零件自适应分层

快速原型切片加工工艺中,一般的均匀切片算法在加工过程中容易产生较严重的台阶效应,影响零件的加工精度.功能梯度材料零件自适应切片算法从几何特征与材料特征两方面共同确定切片层厚.

基于有限元法的功能梯度材料零件模型在计算利用材料特征层片厚度时,必须从微观(四面体)和宏观(整个切面)两个方面考虑.在材料切片过程中各材料成分会产生材料分布上的台阶效应,材料体积百分比变化越大,则产生的台阶效应越明显,从而带来的误差也越大.因此,必须计算各材料成分在分层方向上变化率的最大绝对值.

求解各材料成分在分层方向上变化率的最大绝对值,首先需计算与当前分层平面相交的各个四面体中的材料变化率的最大绝对值,对于与当前分层平面相交的第k个四面体有:

式中,v(k,i)(x)表示当前分层平面与第k个四面体相交区域中第i种材料体积百分含量的变化.v(k,i)(x)由材料成分方程和插值函数得到.在相交区域中得到材料变化率绝对值的最大值:

当前切片层是由当前分层平面与许多四面体相交所得区域组成,结合每个相交区域的材料变化率的最大值得到整个当前切片层的材料变化率的最大值:

其中,K为与当前分层平面相交的四面体的数量.

在一定的材料分辨率Δv下,基于材料特征的层片厚度为

其中,lmin和lmax分别为最小和最大允许层厚.

至此,已经分别从几何和材料两个方面,得到了满足相应误差要求的层片厚度,则最终的层厚为D[i].同时,计算出层片数 N,为下一步 FGM支撑的自动生成提供了必要的数据.

3 FGM零件制造中支撑生成

3.1 FGM零件层片布尔运算

将自适应分层产生的层片存储于链表中,链表中的层片相当于一个个平面多边形,对FGM层片进行布尔运算,即对平面多边形进行布尔运算.而平面多边形的并、交、差等布尔运算的算法目前已经比较成熟,论文采用Kevin Weiler的研究成果[9-10],对多边形的边界采用有序、有向的链表结构;利用相邻边间的相关性,只在两个多边形边界的交点上进行边的分类判断和改变边环的连接关系,到达了较好的效果.

图3 多边形交、并运算

3.2 FGM零件支撑结构

快速原型制造中支撑结构主要分为以下几种结构[11-13].如图 4 所示.

图4 FGM零件支撑结构

1)十字支撑:面向支撑区域点、支撑区域内部填充及支撑区域角点;

2)柱形支撑:面向支撑区域,论文自动生成的支撑为该种支撑结构;

3)斜板支撑:面向具有稳定支撑臂的悬臂类区域;

4)轮廓支撑:面向基础面类区域及不具有稳定支撑臂的悬臂类区域;

5)自由单墙支撑:面向悬臂类区域、悬吊面类区域.

不同支撑结构的支撑效果和使用范围存在差别,对成型件的表面光滑度的影响也各有不同,一般需要根据快速原型设备操作者的经验及其实际情况进行设计.论文采用柱形支撑作为FGM零件加工的支撑,可以在保证预设的零件光滑度条件下有效地降低零件加工的时间并节省支撑材料.

3.3 FGM零件支撑自动生成

FGM零件支撑设计一般分2步进行:第1步利用多边形布尔运算求出实际支撑区域;第2步根据FGM的三维CAD模型信息及其自适应分层后的切片数据自动计算柱形支撑间距,简化后续支撑的剥离工序.

运用多边形布尔运算求解支撑区域是一种全自动的支撑结构生成方法,适合均质材料零件快速原型制造中支撑设计,也是FGM零件快速原型制造中支撑生成的前提和必要步骤.利用零件二维CAD数据模型自适应分层后的截面区域轮廓数据进行自动添加支撑.其基本思想是:上下两层截面(如第i+1层和第i层)相叠加时,上层截面相对于下层截面的悬空部分即为在下层截面上应添加的支撑区域,否则,上层悬空部分的实体材料由于在下层截面上无支撑而发生塌陷或变形.因此,在制作第i层截面时,除了用实体材料填充实体截面区域以外,还要在第i层截面上做相应的支撑域,从而对第i+1层上实体截面的悬空部分做支撑.

记第i层的实体截面区域为S[i],第i+1层的实体截面区域为 S[i+1],由于 S[i+1]截面区域的作用,则在第 i层截面上应加的支撑域Sp[i],记为:Sp[i]=S[i+1]- S[i].

当Sp[i]=∅时,表示在第i层截面上不加此类支撑域.

另外,对于第 i+1层中的实际支撑域FSp[i+1],在作为第 i层支撑域时也应相应继承,其继承方法如下:

1)若FSp[i+1]区域全在第i层实体截面区域之外,则应全继承;

2)若FSp[i+1]区域全在第i层实体截面区域之内,则由于它可由第i层实体截面材料作支撑,故在第i层省去;

3)若FSp[i+1]区域与第i层实体截面区域的关系不为上述两种情况,则落在第i层实体截面之外者继承,而落在第i层实体截面之内者省去.

4)利用多边形布尔运算,从i=N开始,直至i=0,按照公式(6)做迭代计算,其中 FSp[N]为∅,即可依次将各层截面上的实际支撑域求出.

全部实际支撑区域 FSp[i](i=0,1,2,…,N -1)递归求出后,由于快速原型制造中支撑必须在原型件加工完毕后去除,从而支撑结构的去除难易程度势必会影响到快速原型制造的生产效益和原型件的表面光滑度,甚至影响到产品的原定精度.基于上述原因的考虑,论文采用自适应改变支撑间距法,根据加工零件在定向矢量方向上受力的梯度改变性,自动确定支撑间距,合理架构疏密支撑.这样,在加工零件成型后,支撑的易除性和成型件表面光滑度获得了较好的效果.确定疏密支撑的基本思想是:由于功能梯度材料零件建模和分层的定向矢量的一致性,以及功能梯度材料零件连续渐变性,为了减少计算量,在本论文中忽略了材料密度对支撑间距的影响,这方面可以继续展开研究.每层的支撑数与其上面所有的层片的质量有关,其质量越大,需要的支撑愈多,反之,就越少.因为忽略了密度的影响,那么质量之比与其层片密度之比是一致的,设定底层的支撑间距为R,根据各个层片的面积之比,可以算出底层以上的支撑间距,从而实现支撑间距自适应变化,具体算法如下:

记 d[i]为第 i层支撑的支撑间距,MSp[i]为第i层支撑的层片质量,MS[i]为第i层实体的层片质量,ASp[i],AS[i]分别为第 i层支撑的层片面积和第i层实体的层片面积.

由功能梯度材料零件的连续渐变性和实验经验可得

式中,修正参数C1,C2分别由功能梯度材料、支撑材料属性确定.

支撑间距d[i]的计算是非常关键的,合理地配置d[i],不仅节约了支撑材料,提高了快速原型制造的效率,而且加快了后处理中支撑的去除.为了降低零件快速成型的时间以及算法的时间复杂度和空间复杂度,首先可以根据成型件的整体尺寸及其复杂程度确定基础面的支撑间距d[0],即d[0]=R.在确定第i层支撑域的间距d[i]时,采用如下思想:

对第i层支撑域以上的N-i层实体域与第i层支撑域做布尔差运算,并把这N-i+1次布尔差运算相加,记为

同时计算出 Sps[i]域的面积 ASps[i].

对第i层支撑域以上的N-i-1层实体域与第i层支撑域做布尔差运算,并把这N-i次布尔差运算相加,记为

同时计算出 SpSp[i]域的面积 ASpSp[i].

由式(7)可得,层片在定向矢量上的受力与其面积成正比而求出d[i],记为

基于多边形布尔运算的FGM零件快速原型制造中支撑自动生成较大程度上提高了成型件的制作效率,并在保证支撑剥离后成型件表面光滑度上,起到了一定的效果,该算法的具体步骤如下:

1)输入三维CAD实体几何模型,设定快速原型制造中定向矢量;

2)采用FGM零件自适应分层算法,计算出每层层厚D[i]、总层数N;

3)提取N层实体截面轮廓,建立相应各层截面轮廓数据结构.对各截面轮廓进行内外轮廓识别,并把第i层实体截面轮廓区域记为S[i];

4)采用多边形布尔运算,从i=N到i=0做如下循环迭代运算:

① 计算 FSp[i],其中 FSp[N]=0;

② 计算 SpS[i]域的面积 ASps[i]和 SpSp[i]域的面积 ASpSp[i].

③重复上述步骤,直至i=0结束.

5) 由式(10)计算 d[i].

4 设计实例

依据论文提出的功能梯度材料建模、自适应分层、自动调节支撑间距算法,利用MFC,OpenGL开发了FGM零件快速原型制造中支撑自动生成软件RP-SupportDesign,如图5所示.FGM叶轮零件由 A 和 B 两种材料组成,C1=0.05,C2=0.03.以下底面为梯度源,在梯度方向上开始和结束时A和B的成分分别为Ms=(0,1)和Me=(1,0),材料成分方程为F(D)=3.627 8×104D2+5.0×105D,所允许的最大层厚为1.5mm,最小层厚为0.015mm,给定面积变化率为0.025,材料分辨率为0.005.零件的CAD模型颜色渐变表示两种材料梯度变化,RP-SupportDesign自动分层并计算出层片总数N=1562,根据FGM零件自动调节支撑间距算法,软件自动生成支撑,柱形支撑数Ns=3025.论文对许多模型进行了支撑自动添加,并完成了一些模型加工制造,试验表明,生成的支撑疏密合理,有足够的支撑强度,并且极易去除,提高了成型件表面成型质量.

图5 RP-SupportDesign界面

5 结论

功能梯度材料零件数字化设计制造过程即针对功能梯度材料零件几何、材料信息的表述和处理过程,这一过程中需要设计高效的算法实现零件建模、分层、支撑等.论文在快速原型制造中支撑结构设计原理的基础上提出一种简便、清晰的功能梯度材料零件支撑间距自动调整生成算法,并在RP-SupportDesign取得了较好的效果,验证了算法正确、实用,支撑生成效率高,提高了功能梯度材料零件加工效率.

References)

[1]解念锁.功能梯度材料的性能评价研究[J].陕西工学院学报,2003,19(2):4 -7 Xie Niansuo.Study of functionally graded materials and evaluation of their performance[J].Journal of Shanxi Institute of Technology,2003,19(2):4 -7(in Chinese)

[2] Kirschamn C F.Support structure design for stereolithography part[J].Rapid Prototyping Journal,1997,6(7):285 - 297

[3] Webb D,Gerdes V.Computer-aided support structure design for stereolithography models[C]//The 5th International Conference on Rapid Prototyping.[S.l.]:University of Dayton,1994:221-228

[4]李卫,吴任东,颜永年.快速成形中齿形支撑结构的自动生成算法[J].中国机械工程,2003,14(24):2127 -2129 LiWei,Wu Rendong,Yan Yongnian.Efficientalgorithm for automatic toothed support structure generation in rapid prototyping[J].China Mechanical Engineering,2003,14(24):2127 -2129(in Chinese)

[5]魏群.基于STL模型的RP支撑自动生成系统研究[D].西安:西安交通大学机械工程学院,2003 Wei Qun.Support automatic generation system in rapid prototyping based on STL model[D].Xi’an:Mechanical Enginerring,Xi’an Jiaotong University,2003(in Chinese)

[6]刘斌,阮锋,土福祯.SW2501快速成形系统中支撑的自动生成算法[J].中国机械工程,2000,11(z1):34 -37 Liu Bin,Ruan Feng,Tu Fuzhen.Research on the algorithm of automatically supporting structures in SW2501 rapid prototyping& manufacturing system[J].China Mechanical Engineering,2000,11(z1):34 -37(in Chinese)

[7] Kirschman C F,Jara-Almonte C C,Bagchi A,et al.Computer aided design of support structures for stereolithographic components[C]//Proceedings of the 1991 ASME Computers in Engineering Conference.Santa Clara,CA:[s.n.],1991:443 -448

[8] Swaelens B,Pauwels J,Vancraen W.Support generation for rapid prototyping[C]//Proceedings of the Sixth International Conference on Rapid Prototyping.Ohio:the University of Dayton,1995:115-121

[9] Weiler K J,Tokieda T.A solidmodeling system:freedom-II[J].Computer and Graphics,1983(7):225 -232

[10] Weiler K.Polygon comparison using a graph representation[J].ACM SIGGRAPH Computer Graphics,1980,14(3):10 - 18

[11]叶冰,刘廷章,李浩亮.快速成型中基于单面薄壁的通用支撑设计方法[J].机电一体化,2002,8(2):45 -47 Ye Bing,Liu Tingzhang,Li Haoliang.A new support generation for rapid prototyping based on common thin-wallmodule[J].Mechatronics,2002,8(2):45 - 47(in Chinese)

[12]魏群,洪军,丁玉成,等.SL快速成型中支撑自动生成技术研究[J].机械科学与技术,2003,22(4):681 -684 Wei Qun,Hong Jun,Ding Yucheng,et al .Auto-supporting technique in stereolithography rapid prototyping[J].Mechanical Science and Technology,2003,22(4):681 - 684(in Chinese)

[13]卞宏友,刘伟军,王天然,等.基于STL模型支撑生成算法的研究[J].机械设计与制造,2005(7):49-51 Bian Hongyou,Liu Weijun,Wang Tianran,et al.Study on algorithm for gernerate support based on STL file[J].Mechinery Design & Manufacture,2005(7):49-51(in Chinese)

(编 辑:张 嵘)

Support generation design for rapid prototyping of functionally gradientmaterial objects

Wang Su Hu Haiou Liu Heng Zhu Xinxiong

(School of Transportation Science and Engineering,Beijing University of Aeronautics and Astronautics,Beijing 100191,China)

Rapid prototyping technology makes the manufacturing of functionally gradient materials objects come true for its digital concurrent design and manufacturing.The design of supporter generation defines the machining accuracy of functionally gradient material(FGM)parts in the process of rapid prototyping.An algorithm based on sorting by adjacency in layers was adopted a new method of supporter generation which is based on polygon boolean operation in order to solve the problem occurred in digital manufacturing of FGM parts were proposed.The support spaces between layers can adaptively change according to the geometry and material information of FGM objects,which makes the machining accuracy of rapid prototyping increase.Finally,an example of adaptive support is presented to validate the algorithm.

functionally gradient material;rapid prototyping manufacturing;stereo lithography files;support generation

TP 391.7

A

1001-5965(2011)03-0331-06

2010-01-14

国家自然科学基金资助项目(60773154)

王 素(1963-),男,江西景德镇人,教授,wangsu2000@buaa.edu.cn.

猜你喜欢

链表指针交点
垂悬指针检测与防御方法*
如何用链表实现一元多项式相加
阅读理解
跟麦咭学编程
为什么表的指针都按照顺时针方向转动
基于MTF规则的非阻塞自组织链表
借助函数图像讨论含参数方程解的情况
试析高中数学中椭圆与双曲线交点的问题
指数函数与幂函数图象的交点的探究性学习
浅析C语言指针