杨继全,李 娜,施建平,唐文来,张 钢
(南京师范大学电气与自动化工程学院,江苏 南京 210023)
异质零件静态建模方法主要适用于形态结构和材料分布均呈静态或相对稳定的异质零件。对于那些在不同部位同时有两种或更多种材料分布,并且(或)材料呈非规律分布的异质零件,有效的建模方法尚不多。本文从材料的角度对异质零件进行建模。目前,对于动态异质零件建模的研究较少,但也已引起一些研究者的关注。对于材料在特定时刻呈动态分布的多相材料零件的设计及其预测目前尚无有效工具。Huang和Fadel等[1]提出了利用时间因素的异质零件建模方法,但该方法不是针对材料分布广义上呈混杂型的多相材料零件提出的,对于较为特殊的材料分布,目前尚缺少建模方法。
本文给出的是一种基于静态模型[2]基础上的动态模型,零件的材料可按照变化属性呈现动态分布和改变。基于特征节点建立离散混杂变化的模型,使用混杂微四面体设计异质零件,建立的模型可直接用于3D打印工艺制造零件。
如图1所示的CAD模型中,部分区域的材料即不是均质的也不是按梯度分布的,此类对象称为动态异质零件。这样的异质零件也可以从结构和材料两个角度进行混杂模型的建模,也可以只建立材料模型,结构的改变体现在材料的改变上。
图1 复杂异质零件及CAD模型
将异质零件看作由多种材料组成,每一种材料
组分可以认为是一种单一材料。使用材料属性表示模型中某位置处材料的特征及可设计性:
TP=mP×rP
(1)
式中:TP为给定加工区域的材料属性;mP代表材料类型矩阵;rP为材料组分比例的比例矩阵。
(2)
材料属性TP可表示为:
TP=[m1r1m2r2…mnrn]
(3)
式中:mi为材料属性中第i种材料组分;n为材料属性TP中材料组分的个数。
在真实加工过程中,可以使一类材料对应一个喷嘴,这样可以避免加工时由于需要更换材料而引起的清洗过程,提高零件快速成形速度。比如,m1对应第一个喷嘴[3]。
异质零件模型建立主要包含两大要素:1)功能结构变化特征S;2)材料变化特征f(d)。其中,f(d)用来评估实体零件某点/区域的材料属性,该材料属性的计算随功能结构变化特征S的变化而变化。
图2所示为梯度功能材料类型,其类型分别为一维梯度变化的平面、二维梯度变化的规则柱面、三维梯度变化的三维体。
图2 梯度功能材料类型
一维梯度变化是指沿着一个方向变化;二维梯度变化即沿着两个方向变化;三维梯度变化则更加复杂,指沿着3个方向变化。材料从一种材料组分(起始材料)向另外一种材料组分(结束材料)过渡,过渡规则遵循材料变化函数,记为f(d),假设起始材料矩阵和结束材料矩阵分别记为Ts和Te,零件内部任一节点P的材料属性记为TP,d为节点P到参考节点的欧氏距离,梯度功能函数f(d)的表现形式可以有如下几种。
1)线性函数:
(4)
2)非线性函数:
(5)
3)弦函数:
(6)
上面3个公式中,D为起始材料端到结束材料端总的距离;a,b,c都是常系数。
基于体素的分解算法是一类规则的离散单元表示方法。体素,又称为细胞或离散单元,通俗地讲,它是三维空间中具有微小尺寸的正方体。三维空间中任意一个实体零件,无论其表面多么复杂,都可以采用体素法按照一定的规律将其分解成一系列规格相同、大小同等的立方体,如图3所示。用这些立方体近似表示实体零件表面及其内部的几何属性,再将材料属性赋予每个立方体,就可以实现多材料实体零件的可视化。
图3 体素表示实例
体素法主要采用一系列规则的离散单元近似表示实体零件表面,该方法过度简化了实体零件的表面精度,成为其发展和应用的瓶颈。由于体素法是一种近似的实体零件表面离散表示方法,离散结果导致零件真实表面上一些几何信息丢失,该方法不能保证实体零件表面的平滑特性及其表面精度。此外,采用该方法表示实体零件表面时,表示精度与离散单元的个数以及离散单元的几何尺寸有关,通常需要大量的离散单元才能够在一定程度上确保实体零件表面几何属性的精度,因此该方法对计算机的性能有较高的要求,并且需要较大的内存空间进行数据存储。
采用最能近似表示实体零件表面几何属性的一系列规则的体素表示给定三维实体零件模型,这些体素满足6-邻接关系或18-邻接关系或26-邻接关系,这类方法称之为实体零件体素化(voxelization)。
三维空间中任意的实体零件(记为OBm),其实体零件表面以及实体零件内部都可以看作大量的连续空间点组成的集合,因此可以采用如下方程表示OBm:
f(x,y,z)={(x,y,z)|(x,y,z)∈OBm}
(7)
采用式(7)既可以表示OBm实体零件表面上点的几何属性,即f(x,y,z)=r,也可以表示OBm实体零件内部点的几何属性,即f(x,y,z) 三维空间中任意一点(x,y,z),反映在OBm实体零件模型上是一个具有微小尺寸的立方体,也称为体素。在体素化方法中,集合[0, 1]包含了所有体素的体素值,其中,“白体素”或者“空体素”的体素值为“0”,“黑体素”或者“非空体素”的体素值为“1”。 多材料实体零件体素化后,得到一系列规则排列的体素单元,此时多材料实体零件的几何属性已经得以表达。之后,对每一个体素赋予相应的材料属性,使得多材料实体零件的材料属性得以表达。任意一个包含几何属性和材料属性的体素都可以记为: Vh=(V,m) 式中:Vh为包含几何属性和材料属性的体素;V为包含几何属性的体素;m为赋予体素的材料标记,它是一个标量。 多材料实体零件的3D打印成形过程也是沿着建造方向由低到高逐层完成的。多材料实体零件体素化后,每层切片都包含多个体素,因此每层切片的建造过程实际上是多个体素的建造过程。相应地,层与当前层上体素以及多材料实体零件之间的关系为: (8) 式中:mj表示当前层上体素Vj所对应的材料,总共n层。 一般零件的几何属性和材料属性设计应用于异质零件的设计阶段,难以应用于异质零件的制造过程。对于3D打印成形系统而言,在异质零件建造过程中,当前成形区域的材料属性在切片模型里要进行关联,在制造时可按关联的材料模型进行制造。基于以上考虑,本文提出基于零件材料映射索引的多材料异质零件表示方法,一种面向制造的同时又包含多材料异质零件几何属性和材料属性的数据格式,最终得到一种能够同时表示零件几何属性和材料属性的3D打印成形数据文件。 异质零件CAD模型的材料空间描述可以使用基于微四面体的建模方法。通过建立与三维结构空间相对应的三维材料空间映射函数,即在结构特征的基础上,分别将材料特征赋予微四面体单元内的各顶点,微四面体内的微细材料分布按照该映射函数来确定,为确定异质零件CAD模型的内外表面和零件内部的结构信息和材料信息奠定基础[4-5]。 异质零件的建模空间可由E3×Ek来表示,其中E3表示三维结构空间,Ek表示k维材料空间,k表示异质零件所含的材料种类(k≥1),两者的对应关系如图4所示。图4(a)中,A表示本体材料表征区域,B和E表示与本体材料有梯度渗透关系的材料分布区域,D表示多相混合材料且与本体材料互有梯度渗透关系的区域,C表示嵌入式材料分布区域,其中B(除本体材料外)和C为同一种材料;图4(b)中的m1,m2,m3等为该异质零件所含的材料,α1,α2,α3为图4(a)中D区域的多相混合材料在各个材料种类上的分量。 图4 异质零件三维结构空间与材料空间对应关系 图4所示的异质零件结构空间与材料空间的映射关系为: (9) 式中:Pg是位于异质零件几何域Ωg中的任一空间几何点坐标信息(Ωg为E3的子空间);Pm是位于异质零件材料域Ωm的材料信息(Ωm为Ek的子空间);参数αi表示该点处共k种材料中的第i种材料所占的材料分量(或称权重系数),αi=0表示该点不含该种材料,αi=1表示该点有且只有该种材料。 材料域是建立在几何域基础之上的,异质零件任一点均是几何信息和材料信息的结合点,因此建模时也应遵循该规则建立几何数据和材料分布数据的映射关系,两者之间的关系为: (10) 鉴于异质零件的材料分布极其复杂,且没有规律,因此通过一个或一组分布函数来统一描述所有的异质零件的材料分布显然是极其困难的。为此,本文采用基于STL均匀面片和数据点云相结合的方式,把整个异质零件的材料设计离散成每个微四面体的材料设计,通过定义点云中的各个点(也即微三棱锥的顶点)的材料分布来实现异质零件的材料设计。该方法的优点在于: 1)便于异质零件的CAD设计。STL格式是3D打印领域的准标准,具有极其广泛的代表性,为各类成形系统所接受;采用STL格式作为异质零件的设计文件格式,有利于与各类商用CAD系统(如Pro/E、UG、SolidWorks等)和RP成形设备与工艺对接。 2)便于异质零件的可视化。在STL格式的基础上,添加各面片的彩色信息形成彩色STL格式;考虑到只是零件表面的可视化,因此只对异质零件位于表面的各STL面片进行色彩处理,而忽略各微四面体的其他三面的处理,可以节省大量的色彩处理时间。 微四面体内的材料分布是按照其4个顶点的材料值来进行递进的,这就是材料分布函数,该函数中的参数有材料种类数、材料变化趋势(或称材料变化角度)、材料初始值和终点值[6]。 基于前文所述的实体材料映射方法可以表示实体的多材料属性。假设多材料实体OBm包含多个子实体OBi,它们的材料空间和几何空间分别记为Mi和Gi,假设实体几何空间G和材料空间M存在如下的映射: F∶M={M1M2…Mn}→{G1G2…Gn}=G 则有: 故而,多材料实体OBm可以表示为: OBm={G,M}={{G1,M1},{G2,M2},…,{Gn,Mn}}={OB1,OB2,…,OBn} (11) 式(11)即包含了多材料实体的几何属性和材料属性。图5举例说明上述多材料实体表达式。在图5中,假定圆柱体包含了6种不同的材料,记该圆柱体为OBm,它可以描述为: 图5 多材料实体表示实例 OBm={OB1,OB2,OB3,OB4,OB5,OB6}={{G1,M1},{G2,M2},{G3,M3},{G4,M4},{G5,M5},{G6,M6}} (12) 根据上述映射理论,二维切片的几何属性和材料属性之间也存在一定的映射关系,依据这种关系,二维切片的多材料属性得以表达[7]。为了高效率进行材料分配和零件制造,可以把切片后的平面进行分区,把相同材料、相近材料进行分区。记多材料实体为O(M),每层切片为Si(Mi,k),切片上每一个材料区域为Ri(Mj),它们之间的关系为: O(M)={S1(M1,M2,…,Mk),S2(M1,M2,…,Mk),…,Sn(M1,M2,…,Mk)} Si(Mk)={R1(M1),R2(M1),…,Rn(M1), R1(M2),R2(M2),…,Rn(M2),…,R1(Mn), R2(Mn),…,Rn(Mn)} (13) 多材料实体O(M)需要在3D打印机上逐层切片进行添加制造,而每层切片Si(Mk)都可能有多个不同的材料区域Ri(Mj),这些材料区域可能表现出同质或异质零件的材料属性。每个不同的材料区域可能具有复杂的几何边界,也可以称为材料边界BSMi(Mj),材料边界又可以分为外材料边界OBSMjk和内材料边界IBSMjk,则切片材料区域可以用内外材料边界表示为: Rj(Mj) ={E,E1,…,En} (14) 其中,对于任意的一个切片材料区域,E有且只有一个,而En可以没有或者有多个。 图6所示为一材料区域划分实例。图中,材料区域E1的材料为M1,它的外材料边界为E1,内材料边界为E2和E3。E4是材料区域E2外材料内界。内外互相对照,对其他材料边界进行类似的分析。进行分区后,先在材料相同区域进行分层,可高效进行分层制造。 图6 材料区域划分 在文献[2]细化后的STL模型形成的均匀点云数据集构建的含有空间微四面体的新型几何模型基础上,依据该零件的几何特性和材料分布特征,对其进行材料设计。 基于文献[2]的静态模型,在对节点材料赋值过程中,把节点设置为动态类型,赋以初始值,然后再对各特征节点进行材料定义,随后再对节点间的材料进行插值运算。在异质零件的设计和分析过程中,通过对其特征进行控制比仅对其材料分布进行控制要更加有效。在建模过程中,引入了描述各材料物理特征的材料分布特征值、各材料体分量和材料分布向量。 三维异质零件可以通过一维和二维的特征来分层制造,这对材料分布也同样适用。采用“材料切片”概念对三维模型进行材料定义,该材料切片与异质零件模型的3D打印加工过程中的物理“切片”可形成对应关系。 下面以图7(a)所示的六齿模型为例,对上述材料建模方法予以说明。假设该模型的外表面和内孔分别为两种纯材料,中间部分为两种材料的过渡区域。图7(b)所示为该三维模型的某一个二维材料切片,节点P和Q分别为该切片层的两个特征节点,其余黑圆点(除节点P′外)均为空间点云数据集映射至该层的二维特征节点。 按照文献[2]异质零件的静态建模方法对各特征节点依次进行材料定义,即获得如图7(c)所示的切片层内特征节点的材料分布。 由于每个零件的特征节点的数量相对于空间点云数据集而言,只占极小比例,因此,仅根据已定义的特征节点直接进行材料插值计算,获得的整个三维模型的材料分布的精确度将较低[8]。 为提高材料描述的精确度,结合已有的空间点云数据集,选定某一切片层,将空间点云数据集映射至该切片层,即可得到该切片层内的网格映射节点,如图7(d)所示。 图7(e)、(f)所示为网格映射后的材料分布及其渲染图,对比图7(c),可看出网格映射后的材料分布的精确度大为提高。 图7 材料切片层内特征节点材料定义 根据上述对各切片层内的材料的定义过程,遍 历各切片层,即可完成三维异质零件模型的材料定义。图8(a)所示为图7中所示切片层的材料二维分布渲染图,图8(b)所示为该模型所含两种材料的三维分布渲染图。 图8 二维切片及三维模型的材料分布渲染图 进一步,添加多种材料,图9(a)、(b)所示分别为含有3种和4种材料的异质零件模型渲染图,两者的材料均呈圆周梯度分布;图9(c)所示为含有多种材料的非规则梯度分布;图9(d)所示为含有多种材料的非规则变异分布,齿根部的材料异常(色彩突变),表示该区域材料分布较其他区域有较大改变。 从图9(d)可以看出,特征节点的使用,可以精确定点设计零件的材料分布。 图9 含有多种材料的六齿模型材料分布渲染图 本文提出基于实体材料映射索引的多材料异质零件表示方法,是一种面向制造的,同时又包含多材料实体零件几何属性和材料属性的数据格式,最终得到一种能够同时表示实体零件几何属性和材料属性的3D打印成形数据文件。为了实现动态模型的动态设计,使用以下方法:1)把异质零件看作是由多种材料组成,每一种材料组分可以认为是一种单一材料,使用材料属性表示模型中某位置处材料的特征及可设计性,以此来实现动态设计材料组成的功能;2)无论其表面是多么复杂的实体零件,都可以采用体素法按照一定的规律将其分解成一系列规格相同、大小同等的立方体,用这些立方体近似表示实体零件表面及其内部的几何属性,再将材料属性赋予每个立方体,就可以实现多材料实体零件的离散化,便于动态设计;3)在对节点材料赋值过程中,把节点设置为动态类型,赋以初始值,然后再对各特征节点进行材料定义,随后再对节点间的材料进行插值运算。本文通过对其特征进行控制比仅对其材料分布进行控制要更加有效。后续将使用这些方法建立动态异质零件模型。2.2 实体表示方法
3 实体与材料的映射
3.1 实体材料映射
3.2 实体多材料属性表示方法
3.3 切片材料属性表示方法
4 特征节点的提取
5 结束语