CN106903889A - 一种stl模型的快速切片算法 - Google Patents
一种stl模型的快速切片算法 Download PDFInfo
- Publication number
- CN106903889A CN106903889A CN201510979383.6A CN201510979383A CN106903889A CN 106903889 A CN106903889 A CN 106903889A CN 201510979383 A CN201510979383 A CN 201510979383A CN 106903889 A CN106903889 A CN 106903889A
- Authority
- CN
- China
- Prior art keywords
- tri patch
- algorithm
- slicing
- stl
- dynamic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
Landscapes
- Chemical & Material Sciences (AREA)
- Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Materials Engineering (AREA)
Abstract
一种STL模型的快速切片算法,根据STL模型中三角面片的几何信息和切片厚度,通过对三角面片分组排序,减少了三角面片遍历的次数;通过构建三角面片之间的局部动态三角面片表,减少了切片平面与三角面片的求交计算次数;并根据切片过程中大部分三角面片的拓扑关系,提出了更新动态三角面片表的算法,减小了切片过程中三角面片毗邻关系的查找次数,从而提高了切片算法的整体效率。通过更新算法可以快速完成对STL模型的拓扑重构和切片工作,从时间复杂度上分析:最好情况,即第i+1层没有新的三角面片加入,所有不需要对三角面片进行拓扑重构,所需的时间只是根据拓扑关系计算当前层的轮廓环;所以节省了大量的时间。
Description
一、技术领域
STL模型文件是3D打印***中的标准文件。本发明算法适用于3D打印行业,进一步促进了3D打印技术的发展,既提高了加工模型的精度,又缩短了模型的加工时间。
二、背景技术
3D打印的本质在于分层制造,所以在快速成型软件***的设计中,切片处理是其中一个关键内容,传统的切片算法一般采用分层厚度相等,由此会产生模型精度与打印时间之间的矛盾:分层厚度小,模型精度有保证,但打印的时间相对较长;反之,打印时间缩短,但导致模型的精度不高和模型阶梯误差比较大。在机械快速成型领域中,许多学者已对切片计算算法做过深入的研究和改进,若按研究对象来分,切片计算方法可分为:(1)网格切片计算:由于STL格式的网格模型是3D打印行业内所用的标准文件类型,因此很多切片计算对象主要以STL格式的网格类型模型为主;(2)直接切片计算:由于通过建模软件构建的原始3D模型在转化为STL格式模型数据时,会产生转换误差,因此还有不少研究方法是考虑直接在原始的3D模型数据上执行切片计算。分层切片的目的就是将复杂的三维模型转换为简单的二维层片,通过切片的处理将计算机中的三维几何模型用轮廓线表示。轮廓线表示了分层切片的边界,由分层平面与STL文件模型的交线段顺序连接获得封闭的环路组成,而每一层的二维层片又是由一个一个的形状迥异的轮廓组成。STL分层切片算法常用的方法是:通过分析切平面与三角形网格之间的位置关系,若切平面与三角形网格相交则求出交线段,求出该切平面与STL网格模型所有的交线段后,将该分层面的所有交线段有序地连接起来,从而获得该分层切片面的轮廓线,通过这种方法获得轮廓线时,必须要保证遍历所有的三角形网格面片,但在求轮廓线时,可能大部分面片都不与切平面相交,这样就造成数据处理效率低并且运算量比较大,为了提高分层效率,国内外不少研究学者都在进行研究,提出了一些分层算法,首先就是对原始的STL模型数据进行预处理,然后再进行分层切片,通过分析发现主要的切片分层算法可以分为以下三类:基于几何拓扑信息的分层切片算法、基于三角形面片位置信息的分层切片算法、基于STL网格模型几何连续性的分层切片算法,但目前世界上最优秀的切片引擎在这一点上也没用做的很好,因此对于这一门分层技术,针对现有的切片分层算法还有很大的发展和优化空间,而且现在的分层软件还存在着许多问题,现在分层软件成型精度和速度也不尽相同,由CAD模型转换成STL格式文件,以及随后的切片处理所产生的误差 将影响模型最后的成型精度,而由于模型分层的算法有很多,采用不同的算法,模型分层的速度也不相同,甚至相差几十倍,市场上RP软件互不兼容,不同RP***间相互交换数据非常困难,所有建立一套通用的分层算法***是必要的。
三、发明内容
要解决的问题:
通过切片处理把复杂的三维模型转换为平面轮廓信息,获取的轮廓信息的准确度直接影响成型的效果。而且,随着3D打印发展,打印的目标物体越来越大,越来越复杂,这往往导致切片处理耗时大,而如果采用传统的分层切片算法又不能找到成型的精度和打印时间的之间的一种平衡,所以必须要通过算法的优化来减少在STL文件预处理上消耗的时间缩短打印成型的时间,还要提高获取轮廓线的准确度,进而能够提高打印的效果。
技术方案:
(1)分组排序
为了减少三角面片与切片平面位置关系判断的次数,首先对所有的三角面片进行分组排序,因为STL模型的三角面片在切片过程中有两个特点:①位置低的三角面片先被切到,位置高的后被切到。②最小高度落在同一个切片层内的三角片,且它们与切片平面相交,而且它们首次被切中的切片高度相同,称为他们具有相同的秩,如说明书附图中的图1所示,图1是三角面片与切片平面位置关系图,图中的三角片B和C,其最小高度出现在第i层,都是在第i次切片时首次被切中,根据以上两个特点,多所有的三角面片实施快速分组排序:假设STL模型被所有的切片平面分层了n层,则可以将所有的三角面片最多分成n组,并把所有具有相同秩的三角面片放在同一个组中,即一个组中的三角面片对应于沿分层方向的每一个切片平面的新相交的三角面片的集合,根据每一层形成的三角面片集合Ti,建立每一层相应的矩阵,这样就完成了所有三角面片的分组排序,从而提高了效率。
(2)构建局部拓扑关系
在对所有的三角面片分组排序后,就可以根据分组排序形成的矩阵构建局部拓扑关系,首先将T1中的所有三角面片全部添加到动态三角面片表中,动态三角面片表就是所有与当前的切片平面相交的三角面片所组成的表,并确定各三角面片之间的邻接关系,然后根据基于几何模型拓扑信息的STL切片求交算法,得到第一层切片的轮廓环,在后续每层的切片过程中,由于与切片平面相交的三角面片是变化的,所以动态的三角面片表也跟着变化,也就是说当切片平面高度增加到Zi+1(Zi+1+dz,dz为切片厚度)时,则需要对此活性三角面片表进行更新,若某些三角面片的Zmax小于Zi+1,即该三角面片完全处于当前切片平面的下方,不再与其相交,则将其从活性三角面片表中删除;从分组矩阵中取出Ti+1中包含的三角片ti+1j(j=1,2,3,…,mi+1),即与切片平面新相交的三角片,添加到活性三角面片表中; 对于每添加或删除一个三角面片,都要及时修改活性三角面片表中与其相关的邻接信息。
(3)求交生成轮廓线
求交过程中,对于一个切片平面Zi,首先计算第一个与该切片平面相交的三角面片T,并得到交点坐标,然后根据局部拓扑邻接信息得到相邻的三角面片,求出交点坐标,依次追踪,知道回到三角面片T,并得到一条有向封闭的轮廓环;重复上述过程,直到所有轮廓环计算完毕,并最终得到该层完整的截面轮廓。
有益效果:
该算法综合考虑并结合了现有切片算法的特点,既有现有切片算法的优点,又克服了它们的局限性,三角面片的分组排序降低了对所有三角面片位置排序的运算量,通过局部拓扑关键构建的三角面片的动态表,保证了在切片处理过程中,只有活性三角面片动态表中的三角面片参与和切片平面的求交计算,减少了进行三角面片与切片平面位置关系判断的次数。利用拓扑关系,使切片得到的交点集合是有序的,无须再进行排序,可直接获得首尾相连的有向封闭轮廓,简化了建立切片轮廓的过程;而且在三角面片与切片平面求交时,对某个三角面片只需计算一个边的交点,由面的邻接关系,可继承邻接面片的一个交点,但建立完整的STL数据拓扑信息的过程是相当费时的,所有本算法建立了每一层局部的拓扑关系,缩小搜素比较范围,有效减少了建立拓扑关系的工作量,节约了大量的时间;在切片过程中可直接获得有向封闭轮廓环,避免了交线段连接关系的搜索判断。
具体实施方式
(1)根据加载的STL三维模型在切片方向上的高度以及切片厚度,计算全部三角面片分组排序的最大分层数n,计算每个三角面片的Zmin和Zmax的值,确定该三角面片所在的层数i,建立分组矩阵Ti(i=1,2,3,……,n),如说明书附图中的图2所示,图2是STL模型的三角面片分组矩阵图。
(2)切片从第一层开始,对于第一层时i=1,根据T1生成第一切片层的动态三角面片表,确定表中各三角面片之间的拓扑关系。
(3)按照基于几何拓扑关系的切片求交算法进行求交计算并生成切片轮廓。
(4)对切片数据进行分析,并去除冗余的数据点并进行保存。
(5)这时层数增加即i=i+1,如果i>n,则转向步骤(8)
(6)随着层数增加,同时要更新动态三角面片表中的三角面片(按照如上技术方案介绍的方法)。
(7)转向步骤(3)
(8)切片全部完成,结束。
整个实施过程如说明书附图中的图3所示,图3是STL模型切片分层的整个过程图。
Claims (3)
1.一种基于现有的STL(stereolithography)模型分层切片处理算法的特点,在此基础上提出了对三角面片进行分组排序和动态三角面片表并根据上下层的拓扑结构建立数据结构的切片算法,其特征是:该算法根据三角面片的最小和最大Z坐标以及分层的厚度来进行对所有的三角面片进行分组排序和动态三角面片表,并建立上下层的拓扑结构,这样减少了在切片过程中对三角面片的遍历次数、排序次数以及在求交线轮廓时的求交量,简化了切片轮廓的构造过程,提高了切片算法的整体效率。
2.根据权利要求1所述的切片算法,其特征是:根据STL模型的三角面片在切片过程中的两个特点:①每个三角面片的最小高度Zmin不同,则与其相交的切片平面出现的次序也不同,即位置低的三角面片先被切到,位置高的后被切到,如说明书附图中的图1所示。设计所有三角面片分组排序是为了减少三角面片与切片平面位置关系判断的次数,提高分层速度。
3.根据权利要求1所述的切片算法,其特征是:在建立了STL模型的分组矩阵后,就可以根据该矩阵生成动态三角面片表,首先将T1中的三角面片全部添加到动态三角面片表中,然后再根据同一层的拓扑关系及上下层之间的拓扑结构对动态三角面片表不断更新,直到切片完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510979383.6A CN106903889A (zh) | 2015-12-21 | 2015-12-21 | 一种stl模型的快速切片算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510979383.6A CN106903889A (zh) | 2015-12-21 | 2015-12-21 | 一种stl模型的快速切片算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106903889A true CN106903889A (zh) | 2017-06-30 |
Family
ID=59199714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510979383.6A Pending CN106903889A (zh) | 2015-12-21 | 2015-12-21 | 一种stl模型的快速切片算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106903889A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108327287A (zh) * | 2018-01-16 | 2018-07-27 | 浙江大学 | 一种三周期极小曲面三维打印切片轮廓的快速生成方法 |
CN109159425A (zh) * | 2018-08-21 | 2019-01-08 | 东莞中国科学院云计算产业技术创新与育成中心 | 三维模型的切片方法及三维打印装置 |
CN109551768A (zh) * | 2018-12-14 | 2019-04-02 | 广西电网有限责任公司电力科学研究院 | 一种基于stl的3d打印文件的数据处理方法 |
CN109648841A (zh) * | 2018-12-10 | 2019-04-19 | 西安交通大学 | 一种多方向多自由度3d打印切片方法 |
CN111169016A (zh) * | 2019-12-18 | 2020-05-19 | 西北工业大学 | 叶片类零件的3+2轴无支撑3d打印制造方法 |
CN111319264A (zh) * | 2018-12-17 | 2020-06-23 | 苏州苏大维格科技集团股份有限公司 | 应用于3d打印设备的数据处理方法和3d打印设备 |
CN112182677A (zh) * | 2020-09-17 | 2021-01-05 | 上海漫格科技有限公司 | 一种三维打印中的交互式可变层厚切片方法 |
CN113192207A (zh) * | 2021-04-29 | 2021-07-30 | 西安恒歌数码科技有限责任公司 | 基于osg的物体外轮廓表面重建方法及*** |
CN113681901A (zh) * | 2021-09-07 | 2021-11-23 | 中国人民解放军陆军边海防学院 | 一种基于三维数据驱动的沙盘成形动态切片方法 |
-
2015
- 2015-12-21 CN CN201510979383.6A patent/CN106903889A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108327287A (zh) * | 2018-01-16 | 2018-07-27 | 浙江大学 | 一种三周期极小曲面三维打印切片轮廓的快速生成方法 |
CN108327287B (zh) * | 2018-01-16 | 2019-06-25 | 浙江大学 | 一种三周期极小曲面三维打印切片轮廓的快速生成方法 |
CN109159425A (zh) * | 2018-08-21 | 2019-01-08 | 东莞中国科学院云计算产业技术创新与育成中心 | 三维模型的切片方法及三维打印装置 |
CN109648841A (zh) * | 2018-12-10 | 2019-04-19 | 西安交通大学 | 一种多方向多自由度3d打印切片方法 |
CN109551768A (zh) * | 2018-12-14 | 2019-04-02 | 广西电网有限责任公司电力科学研究院 | 一种基于stl的3d打印文件的数据处理方法 |
CN111319264A (zh) * | 2018-12-17 | 2020-06-23 | 苏州苏大维格科技集团股份有限公司 | 应用于3d打印设备的数据处理方法和3d打印设备 |
CN111319264B (zh) * | 2018-12-17 | 2021-07-13 | 苏州苏大维格科技集团股份有限公司 | 应用于3d打印设备的数据处理方法和3d打印设备 |
CN111169016A (zh) * | 2019-12-18 | 2020-05-19 | 西北工业大学 | 叶片类零件的3+2轴无支撑3d打印制造方法 |
CN111169016B (zh) * | 2019-12-18 | 2021-11-16 | 西北工业大学 | 叶片类零件的3+2轴无支撑3d打印制造方法 |
CN112182677A (zh) * | 2020-09-17 | 2021-01-05 | 上海漫格科技有限公司 | 一种三维打印中的交互式可变层厚切片方法 |
CN113192207A (zh) * | 2021-04-29 | 2021-07-30 | 西安恒歌数码科技有限责任公司 | 基于osg的物体外轮廓表面重建方法及*** |
CN113681901A (zh) * | 2021-09-07 | 2021-11-23 | 中国人民解放军陆军边海防学院 | 一种基于三维数据驱动的沙盘成形动态切片方法 |
CN113681901B (zh) * | 2021-09-07 | 2022-08-30 | 中国人民解放军陆军边海防学院 | 一种基于三维数据驱动的沙盘成形动态切片方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106903889A (zh) | 一种stl模型的快速切片算法 | |
Minetto et al. | An optimal algorithm for 3D triangle mesh slicing | |
CN106898050B (zh) | 一种基于环形邻域参照轮廓线的网格模型自适应分层方法 | |
CN100498842C (zh) | 复杂曲面产品的快速精确构建与成型方法 | |
CN106373184B (zh) | 一种三维打印模型摆放所需支撑量快速估算方法 | |
CN102306396A (zh) | 一种三维实体模型表面有限元网格自动生成方法 | |
CN104331933B (zh) | 一种分层方向自适应快速选取方法 | |
CN104331555A (zh) | 一种针对带有边界的非封闭stl模型的切片处理方法 | |
CN102074052A (zh) | 基于样点拓扑近邻的散乱点云曲面拓扑重建方法 | |
CN103365243B (zh) | 转角侧铣加工轨迹快速生成方法 | |
CN105022865A (zh) | 一种基于stl模型布尔运算的飞机油箱内表面模型提取方法 | |
CN109325316B (zh) | 基于共点焊接排序的stl模型高效并行切层方法 | |
CN111710022B (zh) | 一种避免轮廓相交的快速成型切片处理方法 | |
CN104966317A (zh) | 一种基于矿体轮廓线的三维自动建模方法 | |
CN106600710A (zh) | 一种几何网格模型邻接拓扑关联的层切多连通域构建方法 | |
CN113119451B (zh) | 面向曲面熔覆多孔隙轻量化结构的3d打印路径规划方法 | |
Haipeng et al. | Generation and optimization of slice profile data in rapid prototyping and manufacturing | |
WO2022179097A1 (zh) | 等几何拓扑优化结果的可编辑模型自动构建方法及*** | |
CN100585638C (zh) | 基于线框的曲面体三维边界表示模型重建方法及其装置 | |
CN110750870B (zh) | 一种基于模型体素化距离变换的増材制造方法 | |
CN101510086A (zh) | 产品三角网格模型的多轴数控加工刀轨生成方法 | |
CN109551768A (zh) | 一种基于stl的3d打印文件的数据处理方法 | |
CN106293547B (zh) | 一种用于3d打印的支撑自动生成方法 | |
CN104392053A (zh) | 一种蒙皮滚弯零件截面曲率分析方法 | |
CN104899359A (zh) | 一种基于stl模型的切片分层方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170630 |
|
WD01 | Invention patent application deemed withdrawn after publication |