基于曲线离散的多轴无支撑打印轨迹生成方法与流程

未命名 10-25 阅读:69 评论:0


1.本发明涉及3d打印技术领域,具体为一种基于曲线离散的多轴无支撑打印轨迹生成方法。


背景技术:

2.医用的外固定支具主要起到固定病人损伤肢体部分的作用,减少损伤肢体部位的运动,有利于患者损伤部位的康复。传统的支具常采用石膏、小夹板和医用高分子夹板\绷带的外固定方式,但存在临床治疗和护理上的许多缺陷,如石膏固定部位无法清洗、夹板固定的松紧程度需要凭借医生的经验等,而传统型号的骨科外固定支具存在与患者不适配的问题,随着3d打印技术在医学外固定支具的应用,精准、个性化骨科外固定的3d打印是发展的趋势,但现有技术中使用cad和切片软件对模型进行切片打印的过程,需要对悬垂部分生成支撑结构,导致打印时间增加和浪费材料,同时需要进行模型后处理,无法保证临床效率和减少临床医生手工工作量,因此,结合3d打印机实现基于曲线离散的多轴无支撑打印轨迹生成,减少人为干预显得尤为必要。
3.针对现有技术存在的问题,本发明提供一种基于曲线离散的多轴无支撑打印轨迹生成方法,包括将支具模型分成多个打印部分、各部分分别进行切片、对切片点集进行合并,构成完整的支具模型打印轨迹,实现无支撑打印。


技术实现要素:

4.本发明的目的在于提供基于曲线离散的多轴无支撑打印轨迹生成方法,以解决上述背景技术中提出的目前在3d打印外固定支具作业过程中,对悬垂部分生成支撑结构来保证模型的正确打印,但会导致打印时间增加,支具后处理也将导致模型表面质量较差的问题。
5.为实现上述目的,本发明提供如下技术方案:基于曲线离散的多轴无支撑打印轨迹生成方法,包括如下步骤:
6.步骤s1、导入需要进行无支撑打印的支具模型,并调整支具模型空间位置以及裁剪多余部分,便于后续进行无支撑切片打印;
7.步骤s2、计算支具的包围盒尺寸{xmin,xmax,ymin,ymax,zmin,zmax},确定支具下端面的中心点p,根据用户交互式确定的旋转点m,得到支具的z向高度差h差,设置最大旋转层高度hmax,当h

》hmax时,则将支具模型分为底部平切层部分、中间旋转层部分和顶部平切层部分三部分,分割出底部平切层部分,底部平切层高度为h

=h
差-hmax,当h

≤hmax时,将支具模型分为中间旋转层部分和顶部平切层部分两部分;
8.步骤s3、当存在底部平切层部分时,对底部平切层部分进行平面切片,计算该部分包围盒尺寸{xmin,xmax,ymin,ymax,zmin,zmax},再由底部切片层高h

计算切片层数num=(zmax-zmin)/h

,切片平面的法向量为(0,0,1),顶点位置为vi,其中,vi.x=p.x,vi.y=p.y,vi.z=zmin+i*h

,i表示切片层数,由顶点和法向量确定切片平面位置,从而进行底部
平切层部分切片;
9.步骤s4、分割出中间旋转层部分并切片,计算模型顶面与底面的夹角θ,以θ角为参考值,用户交互式选择旋转角度β,β值根据θ值来调整,但保证(θ-β)<45
°
,根据旋转切片层高h

和旋转切片层部分总高度h

,计算旋转切片层数num2=h

/h

,再由旋转角度β计算得到平均每层旋转角度为α=β/num2,获取旋转层部分模型边界点集,沿旋转层部分模型边界点集分布各层切片点,各层切片角度由平均每层旋转角度α逐层累加得到,由切片点和切片角度确定切片平面,完成旋转层部分的切片;
10.步骤s5、根据旋转角度β对顶层部分模型绕打印机旋转中心o进行旋转,将旋转后的顶层部分模型根据顶层切片层高h

进行平面切片,切片平面法向量为(0,0,1)。
11.步骤s6、合并多个打印部分路径点集,优化打印点集,得到打印的gcode文件。
12.进一步的,步骤s2中包括以下步骤:
13.步骤s201、读取支具模型,计算模型的包围盒尺寸{xmin,xmax,ymin,ymax,zmin,zmax},设置顶点为((xmin+xmax)/2,(ymin+ymax)/2,zmax+0.5),法向量为(0,0,1),由点法式设置平面plane,切割底层轮廓线,取轮廓线两个端点p1、p2,计算p1与p2连线的中心点p;
14.步骤s202、根据用户交互式确定的旋转点m,计算旋转点m以下的模型高度h,判断高度h与设置的最大旋转层高度hmax,当h《=hmax时,将模型分为下部旋转层和上部平切层两部分,则旋转层高度为h

=h,当h》hmax较大时,多余的高度为底部平切层的高度h

=h
差-hmax,得到底部平切层部分,旋转层高度h

=hmax;
15.步骤s203、若存在底部平切层部分,则根据高度h

,得到顶点位置为(p.x,p.y,p.z+h

),法向量为(0,0,1),由点法式设置平面,将底部平切层部分与其他部分分割开。
16.进一步的,步骤s4中,具体包括以下步骤:
17.步骤s401、计算底面与顶面所在平面法向量夹角θ,计算模型顶面所在平面法向量n1,底面法向量为n2=(0,0,1),由向量点乘法计算两法向量之间的夹角θ=cos-1(n1*n2/|n2|),用户交互式选择旋转角度β,β值根据θ值来调整,但保证(θ-β)<45
°

18.步骤s402、由旋转层部分边界点集中z值最小的点开始,沿边界点集方向依次增加长度h

,得到切割平面所在位置的顶点,再由该层对应的旋转角度βi,计算平面法向量为(-sinβi,0,cosβi),根据点法式确定每一层切割平面的位置;
19.步骤s403、由步骤s402得到的每层切片点顶点位置pi和旋转角度βi,对旋转部分模型进行切片,得到旋转部分模型的切片点集。
20.进一步的,步骤s5中,包括以下步骤:
21.步骤s501、根据s4中最后一次切片平面所在位置,将模型进行分割,得到顶部平切层部分模型;
22.步骤s502、将顶部平切层部分模型进行旋转,沿打印机旋转中心o进行旋转角度β,不改变模型的拓扑关系,将模型所有点进行旋转,设旋转前某点pi,计算旋转后对应点p’i,其中,p’i.x=pi.x*cosβ+pi.z*sinβ,p’i.z=pi.z*cosβ-pi.x*sinβ,p’i.y=p.y;
23.步骤s503、计算旋转后模型的aabb包围盒尺寸{xmin,xmax,ymin,ymax,zmin,zmax},由切片层高h

、包围盒最大z值和最小z值计算得到切片层数num3=(zmax-zmin)/h

,对模型进行num3次切片,切片平面法向量为{0,0,1},中心点为{(xmin+xmax)/2,(ymin+ymax)/2,(zmin+i*h

)},i表示第i次切片。
24.与现有技术相比,本发明的有益效果是:
25.该3d打印方法,通过计算支具模型的包围盒尺寸,获取模型边界点集,根据用户交互式确定的旋转点,得到支具的z向高度差,进而将支具模型分成两个部分或者三个部分进行切片,再对底部和顶部平切层部分进行平面切片,最后根据旋转切片层高、中间旋转层总高度,沿边界点集确定每一层旋转切片层的切片点,然后根据用户交互式选择的旋转角度,计算平均每层旋转角度,最终由切片点和旋转角度确定切片平面所在位置,对旋转层部分进行切片,进而得到最终的gcode文件,通过此种基于边界曲线离散的打印轨迹生成方法来实现具有悬垂结构的支具3d打印来减少打印时间,也避免了后处理过程导致支具表面质量较差的问题。
附图说明
26.图1为本发明的基于曲线离散的多轴无支撑打印轨迹生成方法的流程图;
27.图2为本发明导入的初始模型;
28.图3为本发明切片后的四轴无支撑路径点集;
29.图4为基于曲线离散的四轴无支撑打印轨迹生成方法的结构图。
具体实施方式
30.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
31.请参阅图1至图4,本实施例以四轴无支撑打印为例进行说明。本发明提供一种技术方案:一种基于边界曲线离散的四轴无支撑打印轨迹生成方法,包括将支具模型分成多个打印部分、各部分分别进行切片、对切片点集进行合并,构成完整的支具模型打印轨迹,实现四轴无支撑打印。
32.该方法包括以下步骤:
33.s1、导入需要进行无支撑打印的模型,并调整模型空间位置以及裁剪多余部分,便于后续进行无支撑切片打印;
34.s2、计算支具的包围盒尺寸{xmin,xmax,ymin,ymax,zmin,zmax},确定支具下端面的中心点p,根据用户交互式确定的旋转点m,得到支具的z向高度差h差,设置最大旋转层高度hmax,当h

》hmax时,则将分为三部分,分别为底部平切层部分、中间旋转层部分和顶部平切层部分,分割出底部平切层部分,底部平切层高度为h

=h
差-hmax,否则将模型分为两部分,中间旋转层部分和顶部平切层部分;
35.s3、当存在底部平切层部分时,对底部平切层部分进行平面切片,计算该部分包围盒尺寸{xmin,xmax,ymin,ymax,zmin,zmax},再由底部切片层高h

计算切片层数num=(zmax-zmin)/h

,切片平面的法向量为(0,0,1),顶点位置为vi,其中,vi.x=p.x,vi.y=p.y,vi.z=zmin+i*h

,i表示切片层数,由顶点和法向量确定切片平面位置,从而进行底部平切层部分切片;
36.s4、分割出中间旋转层部分并切片,计算模型顶面与底面的夹角θ,以θ角为参考
值,用户交互式选择旋转角度β,β值根据θ值来调整,但保证(θ-β)<45
°
,根据旋转切片层高h

和旋转切片层部分总高度h

,计算旋转切片层数num2=h

/
h旋
,再由旋转角度β计算得到平均每层旋转角度为α=β/num2,获取旋转层部分模型边界点集,沿旋转层部分模型边界点集分布各层切片点,各层切片角度由平均每层旋转角度α逐层累加得到,由切片点和切片角度确定切片平面,完成旋转层部分的切片;
37.s5、根据旋转角度β对顶层部分模型绕打印机旋转中心o进行旋转,将旋转后的顶层部分模型根据顶层切片层高h

进行平面切片,切片平面法向量为(0,0,1);
38.s6、合并多个打印部分路径点集,优化打印点集,得到打印的gcode文件。
39.进一步,所述s2中,包括以下步骤:
40.s201、读取支具模型,计算模型的包围盒尺寸{xmin,xmax,ymin,ymax,zmin,zmax},设置顶点为((xmin+xmax)/2,(ymin+ymax)/2,zmax+0.5),法向量为(0,0,1),由点法式设置平面plane,切割底层轮廓线,取轮廓线两个端点p1、p2,计算p1与p2连线的中心点p;
41.s202、根据用户交互式确定的旋转点m,计算旋转点m以下的模型高度h,判断高度h与设置的最大旋转层高度hmax,当h《=hmax时,将模型分为下部旋转层和上部平切层两部分,则旋转层高度为h

=h,当h》hmax较大时,多余的高度为底部平切层的高度h

=h
差-hmax,得到底部平切层部分,旋转层高度h

=hmax;
42.s203、若存在底部平切层部分,则根据高度h

,得到顶点位置为(p.x,p.y,p.z+h

),法向量为(0,0,1),由点法式设置平面,将底部平切层部分与其他部分分割开。
43.进一步,所述s4中,包括以下步骤:
44.s401、计算底面与顶面所在平面法向量夹角θ,计算模型顶面所在平面法向量n1,底面法向量为n2=(0,0,1),由向量点乘法计算两法向量之间的夹角θ=cos-1(n1*n2/|n2|),用户交互式选择旋转角度β,β值根据θ值来调整,但保证(θ-β)<45
°

45.s402、由旋转层部分边界点集中z值最小的点开始,沿边界点集方向依次增加长度h旋,得到切割平面所在位置的顶点,再由该层对应的旋转角度βi,计算平面法向量为(-sinβi,0,cosβi),根据点法式确定每一层切割平面的位置。例如,第i层旋转层的切片平面顶点pi,沿边界点集方向,距离边界点集中z值最小的点的长度为h*i,旋转角度为βi=α*i;
46.s403、由s402得到的每层切片点顶点位置pi和旋转角度βi,对旋转部分模型进行切片,得到旋转部分模型的切片点集。
47.进一步,所述s5中,包括以下步骤:
48.s501、根据s4中最后一次切片平面所在位置,将模型进行分割,得到顶部平切层部分模型;
49.s502、将顶部平切层部分模型进行旋转,沿打印机旋转中心o进行旋转角度β,不改变模型的拓扑关系,将模型所有点进行旋转,设旋转前某点pi,计算旋转后对应点p’i,其中,p’i.x=pi.x*cosβ+pi.z*sinβ,p’i.z=pi.z*cosβ-pi.x*sinβ,p’i.y=p.y;
50.s503、计算旋转后模型的aabb包围盒尺寸{xmin,xmax,ymin,ymax,zmin,zmax},由切片层高h

、包围盒最大z值和最小z值计算得到切片层数num3=(zmax-zmin)/h

,对模型进行num3次切片,切片平面法向量为{0,0,1},中心点为{(xmin+xmax)/2,(ymin+ymax)/2,(zmin+i*h

)},i表示第i次切片。
51.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管
参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:
1.基于曲线离散的多轴无支撑打印轨迹生成方法,其特征在于,包括如下步骤:步骤s1、导入需要进行无支撑打印的支具模型,并调整支具模型空间位置以及裁剪多余部分,便于后续进行无支撑切片打印;步骤s2、计算支具的包围盒尺寸{xmin,xmax,ymin,ymax,zmin,zmax},确定支具下端面的中心点p,根据用户交互式确定的旋转点m,得到支具的z向高度差h

,设置最大旋转层高度hmax,当h

>hmax时,则将支具模型分为底部平切层部分、中间旋转层部分和顶部平切层部分三部分,分割出底部平切层部分,底部平切层高度为h

=h
差-hmax,当h

≤hmax时将模型分为中间旋转层部分和顶部平切层部分两部分;步骤s3、当存在底部平切层部分时,对底部平切层部分进行平面切片,计算该部分包围盒尺寸{xmin,xmax,ymin,ymax,zmin,zmax},再由底部切片层高h

计算切片层数num=(zmax-zmin)/h

,切片平面的法向量为(0,0,1),顶点位置为vi,其中,vi.x=p.x,vi.y=p.y,vi.z=zmin+i*h

,i表示切片层数,由顶点和法向量确定切片平面位置,从而进行底部平切层部分切片;步骤s4、分割出中间旋转层部分并切片,计算模型顶面与底面的夹角θ,以θ角为参考值,用户交互式选择旋转角度β,β值根据θ值来调整,但保证(θ-β)<45
°
,根据旋转切片层高h

和旋转切片层部分总高度h

,计算旋转切片层数num2=h

/h

,再由旋转角度β计算得到平均每层旋转角度为α=β/num2,获取旋转层部分模型边界点集,沿旋转层部分模型边界点集分布各层切片点,各层切片角度由平均每层旋转角度α逐层累加得到,由切片点和切片角度确定切片平面,完成旋转层部分的切片;步骤s5、根据旋转角度β对顶层部分模型绕打印机旋转中心o进行旋转,将旋转后的顶层部分模型根据顶层切片层高h

进行平面切片,切片平面法向量为(0,0,1)。步骤s6、合并多个打印部分路径点集,优化打印点集,得到打印的gcode文件。2.根据权利要求1所述的基于曲线离散的多轴无支撑打印轨迹生成方法,其特征在于,所述s2中,包括以下步骤:步骤s201、读取支具模型,计算模型的包围盒尺寸{xmin,xmax,ymin,ymax,zmin,zmax},设置顶点为((xmin+xmax)/2,(ymin+ymax)/2,zmax+0.5),法向量为(0,0,1),由点法式设置平面plane,切割底层轮廓线,取轮廓线两个端点p1、p2,计算p1与p2连线的中心点p;步骤s202、根据用户交互式确定的旋转点m,计算旋转点m以下的模型高度h,判断高度h与设置的最大旋转层高度hmax,当h<=hmax时,将模型分为下部旋转层和上部平切层两部分,则旋转层高度为h

=h,当h>hmax较大时,多余的高度为底部平切层的高度h

=h
差-hmax,得到底部平切层部分,旋转层高度h

=hmax;步骤s203、若存在底部平切层部分,则根据高度h

,得到顶点位置为(p.x,p.y,p.z+h),法向量为(0,0,1),由点法式设置平面,将底部平切层部分与其他部分分割开。3.根据权利要求1所述的基于曲线离散的多轴无支撑打印轨迹生成方法,其特征在于,所述步骤s4中,具体包括以下步骤:步骤s401、计算底面与顶面所在平面法向量夹角θ,计算模型顶面所在平面法向量n1,底面法向量为n2=(0,0,1),由向量点乘法计算两法向量之间的夹角θ=cos-1(n1*n2/|n2|),用户交互式选择旋转角度β,β值根据θ值来调整,但保证(θ-β)<45
°
;步骤s402、由旋转层部分边界点集中z值最小的点开始,沿边界点集方向依次增加长度
h

,得到切割平面所在位置的顶点,再由该层对应的旋转角度βi,计算平面法向量为(-sinβi,0,cosβi),根据点法式确定每一层切割平面的位置;步骤s403、由步骤s402得到的每层切片点顶点位置pi和旋转角度βi,对旋转部分模型进行切片,得到旋转部分模型的切片点集。4.根据权利要求1所述的基于曲线离散的多轴无支撑打印轨迹生成方法,其特征在于,所述s5中,包括以下步骤:步骤s501、根据s4中最后一次切片平面所在位置,将模型进行分割,得到顶部平切层部分模型;步骤s502、将顶部平切层部分模型进行旋转,沿打印机旋转中心o进行旋转角度β,不改变模型的拓扑关系,将模型所有点进行旋转,设旋转前某点pi,计算旋转后对应点p’i,其中,p’i.x=pi.x*cosβ+pi.z*sinβ,p’i.z=pi.z*cosβ-pi.x*sinβ,p’i.y=p.y;步骤s503、计算旋转后模型的aabb包围盒尺寸{xmin,xmax,ymin,ymax,zmin,zmax},由切片层高h

、包围盒最大z值和最小z值计算得到切片层数num3=(zmax-zmin)/h

,对模型进行num3次切片,切片平面法向量为{0,0,1},中心点为{(xmin+xmax)/2,(ymin+ymax)/2,(zmin+i*h

)},i表示第i次切片。

技术总结
本发明公开了基于曲线离散的多轴无支撑打印轨迹生成方法,包括:导入初始支具模型、支具模型分割、底部和顶部编辑、中间旋转层旋转切片、路径点集合并、生成完整GCode文件等步骤,结合多轴3D打印机,能够实现具有悬垂结构模型的无支撑打印,减少支具打印时间,节省材料耗费和后处理工序,提高表面质量。提高表面质量。提高表面质量。


技术研发人员:石志良 刘朋 黄加涛
受保护的技术使用者:武汉必盈生物科技有限公司
技术研发日:2023.07.14
技术公布日:2023/10/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐