文献标识码: A
DOI:10.16157/j.issn.0258-7998.2015.08.041
中文引用格式: 王彦云,陈鸿,谢明师,等. FDM快速成型支撑结构自动生成算法的研究[J].电子技术应用,2015,41(8):146-148.
英文引用格式: Wang Yanyun,Chen Hong,Xie Mingshi,et al. Research on algorithm of the automatic support generation for FDM rapid prototyping[J].Application of Electronic Technique,2015,41(8):146-148.
0 引言
快速成型技术(RP)是20世纪80年代后期发展起来的,由三维CAD模型直接驱动、快速生成任意复杂形状三维实体的一种新型制造技术,它高度集成了自动控制、CAD/CAM技术、数字控制技术、计算机、激光技术、新型材料科学等学科最新成果[1]。目前,FDM快速成型设备因具有小巧、价格低廉、应用材料范围广泛、可直接制成工业产品等优点,在企业设计之中有着广泛的应用[2]。
FDM系统在加工零件原形时,当前层都是在上一层上堆积而成的,前一层对当前层起到定位和支撑的作用,随着高度的增加,层片轮廓的面积和形状都会发生变化,当上层截面大于下层截面时,使截面部分发生塌陷或变形,影响零件的成型精度,因此,支撑对零件原形的制作起着至关重要的作用[3]。支撑添加技术有两种:一种是在绘制三维CAD模型时手动添加支撑,另外一种是由软件自动生成支撑。支撑的手动生成技术要求用户对成型工艺很熟悉,支撑添加的质量难以保证。所以支撑的自动生成方法是人们研究的重点,支撑自动生成算法主要有两种,分别基于多边形布尔运算和STL模型。前者算法较复杂,可能生成多余的支撑;后者识别局部支撑,节省支撑材料,能准确添加支撑结构,是支撑自动生成技术的重点研究方向[4]。
基于以上这些情况,本文采用了基于STL模型支撑自动生成技术,待支撑面使用了间隔型薄壁支撑;由于FDN工艺中要求加工路径尽量连续和支撑稳定性,因此本文采用中心线法来生成悬吊边和悬吊点的支撑体;用投影法和干涉法确定支撑终点和起点,减少了材料使用,节省了加工时间,提高了快速成形的效率。
1 待支撑区域的识别
对待支撑区域的零件CAD模型进行分析,发现零件有3种特征时需要添加相应的支撑,它们分别是待支撑面、悬吊边、悬吊点。
1.1 待支撑面的识别
遍历STL模型中所有的三角面片,对三角面片的法向量与Z轴正方向的夹角进行判断,如图1所示,如果这个夹角θ大于一定的阈值,则该三角面片需要添加支撑。这些三角面片是独立的,面积小且数量多,不宜单独支撑,需要对这些三角面片进行整合,连接成待支撑面。三角面片的连接方式与下面悬吊边的连接方式类似,采用种子三角面片[5]。
1.2 悬吊边的识别
如图2所示,实体中存在的两个倾斜面的共边AB为悬吊边。若判断某条边为悬吊边,首先悬吊边所在两三角形面片都是非待支撑三角面片;其次悬吊边两端点的Z坐标必须小于该三角面片的另一个点的Z坐标;最后悬吊边的两三角形面片的法向矢量之和,必须指向Z轴的负方向。悬吊边是由零散的单个三角面片悬吊边连接成的长的宏观悬吊边。
边的连接不同于面片的合并,是必须按照点的先后顺序来连接。首先找到悬吊边中两个端点的其中一个端点,这个端点与其他的边不共点;然后通过端点所在线的另一点,找出与其共点的边,按照这种方法就可以得到所需要的悬吊边[6]。算法流程图3所示。
1.3 悬吊点的识别
悬吊点是指零件模型上出现的由一些面构成的孤立点,如图4所示,该点的Z坐标是构成它的三角面片中最小的。但某一顶点被判别为悬吊点,仅此一个条件是远远不够的,首先构成悬吊点的三角面片都是非悬吊三角面片;其次也是最重要的,包含悬吊点的三角形面片法矢之和不能朝上。
2 支撑结构的生成
2.1 待支撑区域支撑结构的设计
2.1.1 待支撑面支撑的添加
本文对待支撑面结构的设计采用的是间隔型薄壁支撑[7],节省材料的同时,又易于去除,支撑不容易发生坍塌,保证了它的稳定性。该算法步骤为:首先对待支撑面在XOY平面内进行投影;然后求出这个投影多边形的最小包络矩形,在矩形内设定垂直分层线,平行于X轴或Y轴,这些线之间的距离是相同的[8],沿支撑投影的轮廓边界顺序与垂直分层线连接,形成某个分层面中的支撑,如图5所示,将这些分层面中的支撑堆叠而成间隔型薄壁支撑。当这些薄壁支撑达到一定高度时,容易发生塌陷,所以间隔型薄壁支撑应该交错添加。
2.1.2 悬吊边支撑的添加
悬吊边一般添加单臂板支撑,但是如果悬吊边的高度很高,单臂板往往不能够保证支撑的稳定性,于是就采用中心线法来生成悬吊边的支撑体,即以悬吊边为中心线生成包含中心线的矩形或多边形,如图6所示,d 为支撑宽度。
生成方法是:将悬吊线向垂直方向的上方和下方偏移,再将偏移后得到的多边形连接起来,再向工作平面投影来建立支撑体[6]。
2.1.3 悬吊点支撑的添加
悬吊点通常采用十字形支撑来处理,当悬吊点的高度大于某个临界值时,十字支撑就不能起到很好的支撑作用,此时需要对其作一些变化,如图7所示。
生成方法是:以悬吊点为十字的中心,然后将十字投影到工作台上,根据参数d来构建上图所示的多边形,其中多边形的中心线与 X 轴和 Y 轴平行。
2.2 支撑起点和终点的确定
当一个支撑的二维位置确定后,还要确定支撑的最高点和最低点,即终点和起点。终点由要待加支撑区域在该位置的高度确定,先将待支撑区域在XOY平面内投影,在二维投影中,找出已经确定的第一个点的坐标(x1,y1),然后在该待加支撑面中找出包含该点坐标位置的那个三角面片,设该三角面片的法向量为n(nx,ny,nz),其中一个顶点的坐标为(x′,y′,z′),利用该三角面片的法向量和一顶点的坐标得到该三角面片所在平面的方程,即:nx(x-x′)+ny(y-y′)+nz(z-z′)=0,再把(x1,y1)坐标带入上述方程中就可以得到一个z1坐标;然后再找到第二点坐标(x2,y2),与第一个点的求法相同,将它带入上述方程,可得到一个z2坐标。最后比较z1和z2的大小,将其中大的Z坐标作为支撑的终点[9-10]。
本文采用干涉法来确定支撑的起点,干涉法是对待支撑区域在XOY平面内投影与STL模型中上表面进行的干涉,这里的上表面指的是法矢朝上(即沿 Z 轴正方向)的面以及向上倾斜的面。判断投影区域是否会与上表面发生干涉,首先找出低于待支撑区域边界中最低点的上表面,将它们投影在XOY平面内,若待支撑区域的投影∩上表面的投影=φ,则说明待支撑区域与上表面不发生干涉,即支撑起点从工作台开始;若待支撑区域的投影∩上表面的投影≠φ,则说明待支撑区域和上表面发生了干涉。发生干涉的情况又可分为两种,一种待支撑区域的投影全部落在上表面上,一种待支撑区域的投影与上表面投影有部分相交[6]。当待支撑区域的投影落在上表面上时,支撑的起点从该上表面开始,确定方法与终点的确定类似,取比较小的Z值作为支撑的起点。
3 实验
本文利用VC++6.0对支撑的自动生成进行了开发[11],为了验证支撑结构的合理性和可靠性,把STL模型输出到3D打印机上进行加工,如图8所示。
4 结论
本文通过对基于STL模型自动生成算法的研究,对待支撑面采用了薄壁型结构,生成的支撑不仅稳定,而且节省了材料;确定支撑的起点和终点,使得快速成形支撑结构简单,同时提高了效率。实验的支撑添加效果表明,支撑填充合理,没有待支撑特征遗漏,该算法保证了零件的顺利成型。
参考文献
[1] 冯俊丽.浅谈快速成型技术的原理、应用及发展趋势[J].佳木斯教育学院学报,2013(12):227-228.
[2] YANG Y,FUH J Y H.Multi-orientational deposition to minimize support in the layered manufacturing process[J].Journal of Manufacturing Systems,2003,22(2):116-129.
[3] 彭安华,张剑锋.FDM工艺中支撑添加技术的研究[J].机床与液压,2007,35(12):67-70.
[4] 洪军.面向STL模型特征的支撑生成技术研究[D].西安:西安交通大学,2000.
[5] 王占礼,卢凯,胡艳娟.熔融沉积快速成型支撑结构技术研究[J].制造业自动化,2014,36(11):13-17.
[6] 龚志海.熔丝沉积成型工艺支撑自动生成技术研究[D].武汉:华中科技大学,2006.
[7] 卞宏友,刘伟军,王天然,等.基于STL模型垂直切片的支撑生成算法的研究[J].仪器仪表学报,2007,28(2):211-216.
[8] 沈威,陶孟仑,李立杰,等.快速成型支撑结构设计的算法[J].武汉理工大学学报,2014,36(6):63-68.
[9] 洪军,王威,张宇红.光固化快速成形自动支撑技术研究[J].机械工程学报,2004,40(11):134-138.
[10] 魏群,洪军,丁玉成,等.SL快速成型中支撑自动生成技术研究[J].机械科学与技术,2003,22(4):681-684.
[11] 王清辉,王彪.CAD应用程序开发详解[M].北京:机械工业出版社,2012.