一种基于STL模型面片法向量的3D打印自适应分层方法技术

技术编号:29322178 阅读:9 留言:0更新日期:2021-07-20 17:37
一种基于STL模型面片法向量的3D打印自适应分层方法,涉及3D打印技术领域,针对现有技术中打印精度和效率低的问题,本申请可以控制实现对台阶效应显著以及模型特征处给予较小层厚,其余地方采用较大层厚,与等层厚分层算法相比可以同时提高打印精度和打印效率,并弥补了传统自适应分层算法不能识别模型特征或者易遗漏模型特征的缺点,较于现有分层算法具有一定优势,对复杂模型高精度3D打印等技术的分层处理环节具有实用性。

【技术实现步骤摘要】
一种基于STL模型面片法向量的3D打印自适应分层方法
本专利技术涉及3D打印
,具体为一种基于STL模型面片法向量的3D打印自适应分层方法。
技术介绍
3D打印技术是利用计算机技术逐层堆积打印出立体模型的方法。随着3D打印技术的不断普及和应用,打印精度和打印效率越来越受到重视。分层处理是3D打印技术中的重要一环,研究表明,三维打印精度和打印效率与分层厚度都有着紧密的联系:分层厚度越小,打印精度越高,但打印效率较低;增大层厚虽然可以提高打印效率,但会产生较大台阶误差,而且易导致模型特征的缺失,使打印精度大大降低,因此如何优化设置层厚至关重要。现有的分层算法根据分层厚度是否可变主要分为等层厚分层算法和自适应分层算法。等层厚分层算法的层厚固定,过程简单易于实现,但是由于整个模型只能采用相同的层厚进行分层,打印效率和打印精度不可兼得。自适应分层算法的基本思想是根据模型表面特征等要求自动调节分层厚度,在一些精度要求较高的地方细化层分以提高打印精度,在其余地方适当增大层厚以节省打印时间,协调了打印精度与打印效率之间的关系,具有明显优势。目前自适应分层算法确定层厚的依据主要有以下几种:首先是垂直分层轮廓曲线上点的切线角,但是需要采样获得模型的垂直切片提取轮廓线,未提取轮廓线部分易遗漏模型特征;其次是通过计算曲面在分层方向上的法曲率实现分层,然而计算曲面上任意给定点的曲率比较复杂,而且在每次分层中需求出大量点的曲率,增加了算法的困难性和复杂度;再者是比较相邻两层的截面面积来推测模型表面的几何特征,但由于基准面积在不断变化使精度难以控制,而且如果相邻两层面积相同则该算法不再适用;还有一类基于三角面片法向量的分层算法,计算简单但是仅考虑了台阶效应的影响,精度有待提高。国内外研究者还提出一些其他算法,但通过文献调研发现,目前自适应分层算法的研究主要集中于如何在尽可能减少分层层数的情况下减小模型的台阶误差,对于影响打印精度的模型特征丢失现象研究较少,虽然后有研究人员指出了模型特征的相关概念,提出保留模型特征的自适应分层算法,但具有一定的局限性,例如将特征点定义为局部最高或最低点,对类似于马鞍面鞍点的复杂点无法识别,而且当存在未被切割的三角面片时,易导致特征遗失等问题。
技术实现思路
本专利技术的目的是:针对现有技术中打印精度和效率低的问题,提出一种基于STL模型面片法向量的3D打印自适应分层方法。本专利技术为了解决上述技术问题采取的技术方案是:一种基于STL模型面片法向量的3D打印自适应分层方法,包括以下步骤:步骤一:获取三维模型中每个三角面片的顶点坐标数据和法向量数据,并滤除顶点坐标数据中的冗余数据,然后建立点表和面表将法向量数据和滤除冗余数据后的顶点坐标数据进行存储;然后利用点表和面表存储的滤除冗余数据后的顶点坐标数据得到模型在分层方向Z向的最小值Zmin与最大值Zmax,并设定最小打印厚度dmin和最大打印厚度dmax,之后初始化第一层的分层高度Z1为Zmin+dmin;步骤二:利用三维模型中所有三角面片的顶点坐标数据得到所有与第一层相交的三角面片,然后根据与第一层相交的三角面片的顶点坐标数据和法向量数据得到第一层打印厚度d1;步骤三:根据第一层打印厚度d1以及第一层的分层高度Z1,得到第二层的分层高度Z2,Z2=Z1+d1;步骤四:判断第一层与第二层之间是否含有不同时与第一层和第二层相交的三角面片,若含有,则对第二层的分层高度Z2进行修正,若未含有,则执行步骤五;步骤五:判断步骤四得到的第二层的分层高度Z2是否大于Zmax,若大于,则分层结束,输出每层的分层厚度与分层高度;若不大于,则执行步骤二、步骤三、步骤四和步骤五,由前一层的分层高度Z2得到前一层的分层厚度d2和后一层的分层高度Z3,直至分层结束。进一步的,所述步骤一中滤除顶点坐标数据中的冗余数据利用哈希表进行。进一步的,所述步骤四中对第二层的分层高度Z2进行修正的具体步骤为:首先,找到第一层与第二层之间不与第一层和第二层相交的三角面片中Zfmin的最小值(Zfmin)min,所述Zfmin为三角面片在Z轴方向上的最小值,然后判断(Zfmin)min-Z1是否小于dmin,若小于,则将第二层的分层高度Z2修正为Z1+dmin;若不小于,则将第二层的分层高度Z2修正为(Zfmin)min。进一步的,所述第一层打印厚度d1通过如下步骤得到:首先,获取每个与第一层相交的三角面片的法向量在分层方向上的分量,通过比较得出这些分量中的最大值NZ,根据NZ、dmax以及dmin得到第一层打印厚度d1的第一个分量d'1;然后,利用每个与第一层相交的三角面片的法向量数据和该三角面片相邻三角面片的法向量数据得到每个与第一层相交的三角面片与其相邻三角面片的二面角β',通过比较得出这些二面角中的最小值β,根据β、dmax以及dmin得到第一层打印厚度d1的第二个分量d'2;接着,利用每个与第一层相交的三角面片的法向量数据和顶点坐标数据以及与该三角面片相邻的三角面片的法向量数据和顶点坐标数据,得到每个与第一层相交的三角面片的每个顶点的Taubin顶点法向量Nd,然后利用所有与第一层相交的三角面片的所有顶点的Taubin顶点法向量Nd构成的Taubin顶点法向量数据、每个与第一层相交的三角面片的法向量数据和顶点坐标数据以及与该三角面片相邻的三角面片的法向量数据和顶点坐标数据得到每个与第一层相交的三角面片的每个顶点的复杂程度指标z',通过比较得出复杂程度指标中的最小值z,再利用z、dmax以及dmin得到第一层打印厚度d1的第三个分量d'3;最后,计算第一层打印厚度d1为d1=min{l1d'1,l2d'2,l3d'3},其中l1,l2,l3为加权系数。进一步的,所述第一层打印厚度d1的第一个分量d'1表示为:d'1=dmax-(dmax-dmin)×|NZ|。进一步的,所述β'表示为:β'=π-arccos(Nf1·Nf2)式中,Nf1与Nf2分别为三角面片与其相邻三角面片的法向量。进一步的,所述第一层打印厚度d1的第二个分量d'2表示为:进一步的,所述Nd表示为:Nd=Nd'/|Nd'|式中,n为顶点所在三角面片的数量,Si为顶点所在的第i个三角面片的面积;Nfi为顶点所在的第i个三角面片的法向量;Nd'为中间变量。进一步的,所述z'表示为:进一步的,所述第一层打印厚度d1的第三个分量d'3表示为:d'3=dmin+(dmax-dmin)×z。本专利技术的有益效果是:本申请可以控制实现对台阶效应显著以及模型特征处给予较小层厚,其余地方采用较大层厚,与等层厚分层算法相比可以同时提高打印精度和打印效率,并弥补了传统自适应分层算法不能识别模型特征或者易遗漏模型特征的缺点,较于现有分层算法具有一定优势,对复杂模型高精度3D打印等技术的分层处理环节具有实用性。本文档来自技高网
...

【技术保护点】
1.一种基于STL模型面片法向量的3D打印自适应分层方法,其特征在于包括以下步骤:/n步骤一:获取三维模型中每个三角面片的顶点坐标数据和法向量数据,并滤除顶点坐标数据中的冗余数据,然后建立点表和面表将法向量数据和滤除冗余数据后的顶点坐标数据进行存储;/n然后利用点表和面表存储的滤除冗余数据后的顶点坐标数据得到模型在分层方向Z向的最小值Z

【技术特征摘要】
1.一种基于STL模型面片法向量的3D打印自适应分层方法,其特征在于包括以下步骤:
步骤一:获取三维模型中每个三角面片的顶点坐标数据和法向量数据,并滤除顶点坐标数据中的冗余数据,然后建立点表和面表将法向量数据和滤除冗余数据后的顶点坐标数据进行存储;
然后利用点表和面表存储的滤除冗余数据后的顶点坐标数据得到模型在分层方向Z向的最小值Zmin与最大值Zmax,并设定最小打印厚度dmin和最大打印厚度dmax,之后初始化第一层的分层高度Z1为Zmin+dmin;
步骤二:利用三维模型中所有三角面片的顶点坐标数据得到所有与第一层相交的三角面片,然后根据与第一层相交的三角面片的顶点坐标数据和法向量数据得到第一层打印厚度d1;
步骤三:根据第一层打印厚度d1以及第一层的分层高度Z1,得到第二层的分层高度Z2,Z2=Z1+d1;
步骤四:判断第一层与第二层之间是否含有不同时与第一层和第二层相交的三角面片,若含有,则对第二层的分层高度Z2进行修正,
若未含有,则执行步骤五;
步骤五:判断步骤四得到的第二层的分层高度Z2是否大于Zmax,若大于,则分层结束,输出每层的分层厚度与分层高度;若不大于,则执行步骤二、步骤三、步骤四和步骤五,由前一层的分层高度Z2得到前一层的分层厚度d2和后一层的分层高度Z3,直至分层结束。


2.根据权利要求1所述的一种基于STL模型面片法向量的3D打印自适应分层方法,其特征在于所述步骤一中滤除顶点坐标数据中的冗余数据利用哈希表进行。


3.根据权利要求2所述的一种基于STL模型面片法向量的3D打印自适应分层方法,其特征在于所述步骤四中对第二层的分层高度Z2进行修正的具体步骤为:
首先,找到第一层与第二层之间不与第一层和第二层相交的三角面片中Zfmin的最小值(Zfmin)min,所述Zfmin为三角面片在Z轴方向上的最小值,然后判断(Zfmin)min-Z1是否小于dmin,若小于,则将第二层的分层高度Z2修正为Z1+dmin;若不小于,则将第二层的分层高度Z2修正为(Zfmin)min。


4.根据权利要求3所述的一种基于STL模型面片法向量的3D打印自适应分层方法,其特征在于所述第一层打印厚度d1通过如下步骤得到:
首先,获取每个与第一层相交的三角面片的法向量在分层方向上的分量,通过比较得出这些分量中的最大值NZ,根据NZ、dmax以及dmin得到第一层打印厚度d1的第一个分量d'1;
然后,利用每个与第一层相交的三角面片的法向量数据和该三角面片相邻三角...

【专利技术属性】
技术研发人员:朱敏高思煜高强党元清卢礼华
申请(专利权)人:哈尔滨工业大学
类型:发明
国别省市:黑龙江;23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1