一种基于切片文件的三维打印均匀壁厚抽壳方法
技术领域
本发明涉及三维打印实体模型抽壳方法,尤其涉及一种基于切片文件的三维打印均匀壁厚抽壳方法。
背景技术
三维打印是20世纪80年代发展起来的一项颠覆传统生产方式的革命性技术,又叫快速原型、增材制造等。三维打印首先通过通用计算机辅助设计(CAD)软件建模;然后将得到的模型文件导入计算机辅助制造(CAM)软件。在CAM软件里,模型一般需经历缺陷修复、支撑生成、切片生成等过程,最终将三维实体模型转化为一系列二维切片输出。切片文件包含了指导三维打印设备运动的信息,三维打印设备读取切片文件并完成打印过程。切片文件由一系列平面轮廓在建造方向上层叠而成。每层切片又由若干顺、逆时针多边形轮廓组成,这些轮廓围成了当前层上的打印区域。
输入三维打印CAM软件的模型一般表示成实心实体。一方面,打印时,如果在每一层切片轮廓内扫描填充,必然非常耗时、耗材;在满足工件强度要求的前提下,为了节省打印时间和材料,可对实体模型进行抽壳操作,得到原始模型的壳体模型。另一方面,实际工程应用对壳体模型也有一定的需求,如熔模铸造,为了避免烧铸过程中出现涨壳现象,通常将铸模原型做成壳体结构。进一步地,在熔模铸造中,如果铸模原型壳体厚度不均匀,铸件在固化过程中可能因为收缩不均匀而损毁。因此,以实际工程应用为背景的三维打印对抽壳操作提出的要求是生成壁厚尽量均匀的壳体模型。
现有三维打印实体模型的抽壳方法主要有三种:一是针对原始CAD模型进行抽壳,二是针对切片文件进行抽壳,三是结合切片文件和原始CAD模型进行抽壳。
针对第一种方法,Lam等提出了一种基于次边界八叉树结构的偏置方法来获得原始模型的缩减模型,缩减模型加上原始模型即为抽壳模型(参见Lam TW,Yu KM,Cheung KM,Li CL,Octree reinforced thin-shell rapidprototyping,Journal of Materials Processing Technology,1997.63(1–3):784-787)。Li等通过AutoCAD软件直接对CSG(constructive solidgeometry)格式的实体模型进行偏置操作,得到原始模型的薄壁模型(参见Li CL,Yu KM,Lam TW,Implementation and evaluation of thin-shell rapidprototype,Computers in Industry,1998.35(2):185-193)。考虑到直接计算三维模型的完美偏置曲面难度较大,Koc等提出将三维曲面偏置过程中产生的复杂的自相交问题转化到二维平面中消除,他们首先用顶点偏置法得到原始模型的粗糙偏置模型,然后用水平面去截该偏置模型,在二维平面内消除偏置截交曲线上的自相交问题,从而得到完美的抽壳切片(参见KocB,Lee YS,Non-uniform offsetting and hollowing objects by using biarcsfitting for rapid prototyping processes,Computers in Industry,2002.47(1):1-23)。
针对第二种方法,Ganesan等提出了一种用NURBS曲线表示的切片轮廓的直接偏置方法,获取原始轮廓曲线的抽壳偏置曲线;但该方法在切片上均匀偏置,无法在三维空间获得壁厚均匀的抽壳模型(参见GanesanM,Fadel GM,Hollowing rapid prototyping parts using offsetting techniques,Proceedings of the Fifth International Conference on Rapid Prototyping,1994.University of Dayton)。
针对第三种方法,Zhang等提出对二维切片轮廓进行不等距偏置,对轮廓上的某一点,其偏置距离由该点在原始CAD模型上对应面片的倾斜程度决定,并给出了偏置距离的计算公式,该方法理论上能够获得壁厚均匀的抽壳模型(参见Zhang Z,Ding Y,Hong J,A new hollowing process forrapid prototype models,Rapid Prototyping Journal,2004.10(3):166-175)。
根据上述文献分析可知,现有技术可能存在的不足之处有:一、直接对CAD模型进行偏置计算困难,不易实现,且抽壳模型一旦获得,壳壁厚度在打印设备中难以修改;二、现有关于直接对切片文件进行抽壳的文献较少,而仅有的技术难以获得壁厚均匀的抽壳模型。
发明内容
为了解决现有方法在针对三维打印基于切片文件直接抽壳技术中存在的不足,本发明提供了一种基于切片文件的三维打印均匀壁厚抽壳方法,该方法在偏置过程中考虑了上、下层切片位置对当前层抽壳点位置的影响,因此能够获得壁厚均匀的一系列抽壳点。
本方法基本思想是在当前层切片轮廓的法向构造竖直平面,用该竖直平面去截各相关水平切片轮廓,得到一条截交壁线,然后在该水平面内对该壁线进行偏置并计算偏置曲线和当前层切片的交点,从而获得抽壳点。
一种基于切片文件的三维打印均匀壁厚抽壳方法,包括如下步骤:
步骤1、输入待打印模型的切片文件,以及所需的抽壳壁厚t;从切片文件中提取切片层厚值h,计算抽壳影响层数值nr;t、h、nr均为大于零的实数;
步骤2、针对第i层切片Li上的第j个轮廓多边形Ej,对轮廓多边形Ej上的第k个采样点Pk,设采样点Pk处法向量为nk,过采样点Pk沿nk方向作竖直平面αk;其中i、k和j为大于零的自然数,且i值小于等于总的切片层数,j小于等于第i层切片Li上的轮廓多边形总数,k小于等于第j个轮廓多边形Ej总的采样点数;
步骤3、用竖直平面αk分别去截第i层切片Li以下和以上的nr层切片,即第i-nr层到i+nr层切片,计算得到每层切片上的一个有效交点;从采样点Pk开始向上或向下分别连接这些有效交点,得到一条壁线Ck;
步骤4、在竖直平面α
k内对壁线C
k向n
k所指的那一侧进行偏置,偏置距离为t,得到壁线C
k的偏置壁线
其中t为大于零的实数;
步骤5、计算偏置壁线
和第i层水平面的交点H
k,交点H
k为采样点P
k对应的抽壳点;将交点H
k添加至轮廓多边形E
j对应的抽壳多边形
更新k值,跳至步骤2直至E
j上所有采样点被遍历;其中第i层水平面为第i层切片L
i所在的平面;若交点H
k不存在,则直接更新k值,跳至步骤2直至E
j上所有采样点被遍历;
步骤6、消除以上得到的抽壳多边形
上的自相交环,并调整抽壳多边形
方向使其和轮廓多边形E
j方向相反;将抽壳多边形
添加至当前第i层切片L
i中;更新j值,跳至步骤2直至当前层所有原始轮廓多边形被遍历;
步骤7、更新i值,跳至步骤2直至切片文件中所有切片被遍历;输出均匀壁厚的抽壳切片文件。
本发明的抽壳方法的输入仅为切片文件,而不包含任何原始模型的CAD文件或信息;本发明说明过程中认为切片文件中各层切片沿水平方向,抽壳基本方法为采用竖直平面对各水平切片进行截交,得到竖直平面内模型壁上的一条截交壁线,然后在竖直平面内对该壁线偏置得到精确地抽壳壁厚值。
进一步地,所述步骤1中输入的切片文件由一系列沿水平方向的轮廓层叠而成;每层切片又包含若干轮廓多边形,其中逆时针轮廓多边形表示实体外边界,顺时针轮廓多边形表示实体内边界。步骤1中,提取切片层厚值h时:若切片文件中包含切片层厚的字段,读取该字段获得切片层厚度值h;如果切片文件中不包含该字段,则取两相邻层高度值相减得到厚度值h。
在对第i层切片抽壳过程中,i层切片以上或以下一定范围内的切片轮廓对该层抽壳形状都会有影响,这个抽壳影响层数值nr和抽壳壁厚t以及切片层厚h相关。所以,作为优选,步骤1中,通过下述公式(1)计算得到抽壳影响层数值nr:
nr=t/h+1 (1)。
作为优选,步骤2中,所述轮廓多边形Ej上采样点Pk处nk具体求法如下:
(1)如果采样点Pk位于轮廓多边形Ej的顶点上,则:
当轮廓多边形Ej的方向为逆时针,则相应的nk方向沿着轮廓多边形Ej在采样点Pk处的内角平分线设置;
当轮廓多边形Ej的方向为顺时针,则相应的nk方向沿着轮廓多边形Ej在采样点Pk处外角平分线设置;
(2)如果采样点Pk位于轮廓多边形Ej的某条边上,则:
当轮廓多边形Ej的方向为逆时针,相应的nk方向沿着与该边垂直且指向多边形内侧的方向上设置;
当轮廓多边形Ej的方向为顺时针,相应的nk方向沿着与该边垂直且指向多边形外侧的方向上设置。无论是以上哪种情况,nk始终在水平平面内。
进一步地,所述步骤3中在用竖直平面αk去截某一层水平切片Lq(q∈[i-nr,i+nr])上的轮廓多边形时,可能存在多个交点,但有效交点只有一个。步骤3中,在用竖直平面αk去截某一层切片上的轮廓多边形时,若存在多个交点,则需要选取一个交点为有效交点;从多个交点中选取有效交点的方法如下:将得到的各个交点在当前切片的水平面内沿nk方向进行排序,找出位于nk最尾端的交点为有效交点。对第i层切片,其有效交点即为Pk。
步骤3中,所述竖直平面αk和某一层切片上的轮廓多边形也可能不存在任何交点,此时再人为在竖直平面αk和该层切片的交线上沿nk正向无穷远处构造一个点,并将该点添加至壁线Ck;若该层切片在第i层切片Li上方,则壁线Ck向上停止生长,即不再检测该层切片以上的切片和竖直平面αk的相交情况;反之则壁线Ck向下停止生长。
进一步地,所述步骤4中对空间壁线的偏置可参见现有文献中方法,但要求保证输出的偏置线上无自相交的情况。
作为优选,步骤6中,消除抽壳多边形上的自相交环使用Lai等提出的FLTM法。该方法能够将二维的平面多边形自相交问题转化到一维数轴上分析,简化自相交的处理过程,效率较高(参见Lai YL,Wu JSS,HungJP,hen JH,A simple method for invalid loops removal of planar offset curves,The International Journal of Advanced Manufacturing Technology,2006.27(11):1153-1162)。
步骤6中,在消除了抽壳多边形
上的自相交环后,若抽壳多边形
***成多个子多边形,调整每个子多边形的方向与原始轮廓多边形E
j方向相反,即:如果轮廓多边形E
j为逆时针,则调整子多边形的方向为顺时针;如果轮廓多边形E
j为顺时针,则调整子多边形方向为逆时针,然后将调整后抽壳多边形
添加到当前第i层切片L
i中,作为新的轮廓多边形。
进一步地,所述在当前层第i层切片Li上对所有原始轮廓多边形进行抽壳操作之后,当前层上需要扫描的区域由原始轮廓多边形和抽壳多边形共同围成,其中逆时针多边形表示实体外边界,顺时针多边形表示实体内边界。
本发明一种基于切片文件的三维打印均匀壁厚抽壳方法,具有的有益的效果是:
对当前切片轮廓法向壁线进行偏置,能够获得壁厚均匀的抽壳多边形轮廓;直接对切片文件进行抽壳,不涉及原始CAD模型任何信息,因此可在打印设备中设置或修改抽壳壁厚值,操作简单,可调节性强。
附图说明
图1为本发明基于切片文件的三维打印均匀壁厚抽壳方法流程图。
图2(a)为本发明实施例部分中一个简单的球体模型。
图2(b)为图2(a)所示的球体模型的切片文件。
图3为轮廓多边形上采样点Pk法向nk求解时两种情况,图3(a)中采样点Pk在轮廓多边形的顶点处;图3(b)中,采样点Pk在轮廓多边形的一个边上。
图4为本发明实施例部分根据采样点构造的竖直平面αk以及截交得到的壁线Ck。
图5为竖直平面αk和水平切层轮廓多边形截交时有效交点求法,图5(a)为存在两个交点的情况,图5(b)为存在多个交点的情况。
图6偏置壁线以及抽壳点计算。
图7为切层上由原始多边形和抽壳多边形围成的壳体区域。
图8为实例中对球体切片文件壁厚均匀的抽壳结果。
具体实施方式
下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。
本发明基于切片文件的三维打印均匀壁厚抽壳方法的流程图如图1所示,具体实施步骤如下:
步骤101、输入待打印模型的切片文件,以及所需的抽壳壁厚t;从切片文件中提取切片层厚值h,计算抽壳影响层数值nr=t/h+1。t、h、nr均为大于零的实数。
输入的切片文件在三维打印CAM软件(如Magics RP)中生成,由一系列沿水平方向的轮廓层叠而成,如图2所示;图2(a)为一个简单的球体模型,图2(b)为该球形模型对应的切片文件。图2(b)中的切片文件中的每层切片又包含若干轮廓多边形,其中逆时针轮廓表示实体外边界,顺时针轮廓表示实体内边界。在输入的切片文件中,一般包含切片层厚的字段,读取该字段获得切片层厚度值h;如果切片文件中不包含该字段,则取两相邻层高度值相减得到厚度值h,如图2所示,在对第i层切片抽壳过程中,i层切片以上或以下一定范围内的切片轮廓对该层抽壳形状都会有影响,这个层数范围值nr和抽壳壁厚t以及切片层厚h相关,具体关系式为:nr=t/h+1。
步骤102、针对第i层切片Li上的第j个轮廓多边形Ej;对轮廓多边形Ej上的采样点Pk,设采样点Pk处法向量为nk,过采样点Pk沿nk方向作竖直平面αk。其中i、k和j为大于零的自然数,且i值小于等于总的切片层数,j小于等于第i层切片Li上的轮廓多边形总数,k小于等于第j个轮廓多边形Ej总的采样点数。
简单起见,对第i层切片Li上的轮廓多边形Ej按距离均匀采样,任意一个采样点Pk处法向量nk具体求法如下:(1)如图3(a)所示,如果采样点Pk恰好位于轮廓多边形Ej的顶点上,则相应的nk方向沿着轮廓多边形Ej在采样点Pk处角的内角平分线(轮廓多边形Ej的方向为逆时针)或外角平分线(轮廓多边形Ej的方向为顺时针);(2)如图3(b)所示,如果采样点Pk位于轮廓多边形Ej的某条边上,则相应的nk方向沿着与该边垂直且指向多边形内侧(轮廓多边形Ej的方向为逆时针)或外侧(轮廓多边形Ej的方向为顺时针)的方向上。无论是以上哪种情况,nk始终在水平平面内。图4给出了根据采样点Pk和向量nk构造出的竖直平面αk402。
步骤103、用竖直平面αk分别去截第i层切片以下和以上的nr层切片,即第i-nr层到i+nr层切片,计算得到每层切片上的一个有效交点;从Pk开始向上或向下分别连接这些有效交点,得到一条壁线Ck401。
按上述方法得到的壁线Ck如图4所示。需要注意的是,在用竖直平面αk去截某一层水平切片Lq(q∈[i-nr,i+nr])上的轮廓多边形时,可能存在多个交点,但有效交点只有一个。图5给出了XY平面内存在两个或两个以上交点的有效交点选取实例,图5(a)为交点为两个的情况,图5(b)为交点为四个的情况,其中有效点选取的具体方法如下:将得到的各个交点在当前切片水平面内沿向量nk方向进行排序,找出位于向量最尾端的交点为有效交点,即得到图5(a)和图5(b)中的有效点501。对第i层切片,其有效交点即为Pk。
上述所述竖直平面αk和水平切片Lq上的轮廓多边形也可能不存在任何交点,此时再人为在竖直平面αk和水平切片Lq的交线上沿nk正向无穷远处构造一个点,并将该点添加至壁线Ck。若水平切片Lq在第i层切片Li上方,则壁线Ck向上停止生长,即不再检测水平切片Lq以上的水平面和竖直平面αk的相交情况;反之则壁线Ck向下停止生长。
由于模型的顶端和底端是不用抽壳的,所以寻找有效点时,对于接近顶端(底端)的层,如果不够nr层,那么按照实际存在的切片的层数进行计算即可,最终得到壁线。
步骤104、在竖直平面αk内对壁线Ck向向量nk所指的那一侧进行偏置,偏置距离为t,得到Ck的偏置壁线
对空间壁线的偏置可参见现有文献中方法,但要求保证输出的偏置线上无自相交的情况,且偏置效率要求尽可能高。本实施例中对空间曲线的偏置使用Choi等提出的PWID法,该方法能在接近线性时间内输出无自相交的偏置线(参见Choi BK,Park SC,A Pair-Wise Offset Algorithm for2dPoint-Sequence Curve,Computer-Aided Design,31(1999):735-745.)。图6给出了在竖直平面αk内多壁线Ck偏置距离t的结果。
步骤105、计算偏置壁线
和第i层水平面(第i层切片L
i所在的平面)的交点H
k,H
k为P
k对应的抽壳点;将H
k添加至轮廓多边形E
j对应的抽壳多边形
k++(即更新k值,可采用递增或者递减的方式更新,0<k≤M,M为轮廓多边形E
j上采样点的总数),跳至步骤102直至轮廓多边形E
j上所有点被遍历。
如图6所示,H
k为偏置壁线和当前水平面的交点,即P
k对应的抽壳点。需要注意的是,偏置壁线
和第i层水平面的交点H
k可能存在,也可能不存在。若H
k存在,则将H
k添加至抽壳多边形
否则直接k++,跳至步骤102。
步骤106、消除以上得到的抽壳多边形
上的自相交环,并调整
方向使其和E
j方向相反;将
添加至当前切片L
i中;j++(即更新j值,可采用递增或者递减的方式更新,0<j≤P,P为第i层切片L
i上轮廓多边形的总数),跳至步骤102直至当前层所有原始轮廓多边形被遍历。
消除抽壳多边形上的自相交环使用Lai等提出的FLTM法,该方法能够将二维的平面多边形自相交问题转化到一维数轴上分析,简化自相交的处理过程,效率较高(参见Lai YL,Wu JSS,Hung JP,Chen JH,A simplemethod for invalid loops removal of planar offset curves,The InternationalJournal of Advanced Manufacturing Technology,2006.27(11):1153-1162)。
如图7所示,在消除了抽壳多边形
上的自相交环后,抽壳多边形
可能***成多个子多边形,调整每个子多边形的方向和原始多边形E
j方向相反。具体地,如果抽壳多边形E
j为逆时针,则调整抽壳多边形
方向为顺时针;如果抽壳多边形E
j为顺时针,则调整抽壳多边形
方向为逆时针。然后将
添加到当前切片层L
i中,作为新的轮廓多边形。
步骤107、i++(即更新i值,可采用递增或者递减的方式更新,0<i≤O,O为切片文件中切片的总数),跳至步骤102直至切片文件中所有切片被遍历;输出均匀壁厚的抽壳切片文件。
如图7所示,在当前层Li上对所有原始轮廓多边形进行抽壳操作之后,当前层上需要扫描的区域由原始轮廓多边形和抽壳多边形共同围成,其中逆时针多边形表示实体外边界,顺时针多边形表示实体内边界。
本发明的一个典型实施实例如下:
1.本例中选择的待打印零件为以球体模型,切片文件如图1所示。该球体模型半径约为50mm,切片层厚h=0.5mm。
2.将上述切片文件导入用C++语言按本发明方法编写的测试程序中,在测试程序中,设置抽壳壁厚t=5mm,则影响层数值nr=5/0.5+1=11,即计算当前层抽壳多边形时需向上和向下分别考虑11层(模型低端和顶端例外)。
图8给出了对上述球体切片文件的抽壳结果。由图8可知,无论在那个高度上,模型弯曲程度如何变化,抽壳模型802(深色)和原始模型801(浅色)之间间距均匀,即抽壳壁厚均匀。该实例说明了本发明方法具有一定的实用性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的一般技术人员来说,本发明还可以有各种更改和变化。在不脱离本发明原理的前提下,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。