CN107610230A - 一种3d打印数字模型剖切及接口设计方法及应用 - Google Patents
一种3d打印数字模型剖切及接口设计方法及应用 Download PDFInfo
- Publication number
- CN107610230A CN107610230A CN201710818264.1A CN201710818264A CN107610230A CN 107610230 A CN107610230 A CN 107610230A CN 201710818264 A CN201710818264 A CN 201710818264A CN 107610230 A CN107610230 A CN 107610230A
- Authority
- CN
- China
- Prior art keywords
- interface
- mathematical model
- model
- plane
- printing
- 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.)
- Granted
Links
Abstract
本发明公开一种3D打印数字模型剖切及接口设计方法,步骤如下:基于指定的切平面,剖切3D打印数字模型,如需要多次剖切,可重复本步;在切面上指定接口位置,拟合接口附近的边界曲线,并计算接口底座点;迭代计算接口高度,选取接口方向;计算缝隙宽度,并在接口凸起和凹槽处添加半圆形结构;将接口拼接到模型上。本发明通过剖切3D打印数字模型的方法,解决了3D打印机无法打印模型内部信息的问题,并通过在模型上添加接口的方法,使分解后的部件可以拼接恢复成原有外观;该方法利用了人工交互信息,使剖切位置和接口位置更符合用户需求;此外,本发明方法还可以增加打印机最大可打印体积、减轻成品重量、节省模型打印时间。
Description
技术领域
本发明属于3D打印建模技术领域,尤其是一种用于3D打印数字模型造型的方法与应用,本方法的模型剖切方式及接口设计方式,可应用于3D打印数字模型的几何造型中,如包含内表面信息的数字模型、体积过大的数字模型等。
背景技术
3D打印技术即增材制造技术,是以数字模型文件为基础,通过逐层打印可粘合材料的方式构造物体的技术。3D打印数字模型的标准文件格式是STL文件格式,该文件存储用于近似模拟物体表面的三角网格数据。只有满足三角网格表面闭合、无非流形结构等要求的STL文件可以用于3D打印,这类数据称为可打印数据,不满足这一系列条件的数据需要经过进一步处理。
3D打印一般经过数字模型获取、处理、打印三个步骤。主要的数字模型获取方式有:通过三维软件设计构造;通过扫描仪扫描物体表面后转换;通过CT设备扫描物体后转换。其中,第三种获取方式用到的CT成像技术是一种内视技术,获取的是包含物体内部信息的体数据,经过等值面提取、网格修复、优化等处理可以得到用于3D打印的三角网格数据。这种方式得到的三角网格数据可能在一个闭合表面内部包含其他的表面,即内表面。在3D打印时,包含内表面的数据不能正确打印,当前3D打印软件对这类数据的修复处理方式是去除内表面数据,只保留外表面网格用于打印,该处理方式的缺陷在于忽略了获取到的内表面信息,不能将内部信息无损地增材制造出来。
本发明给出一种通过剖切三角网格数据并添加接口的方法,解决包含内表面的数字模型无法3D打印的问题,及剖切后部件如何恢复原有外观的问题。
通过检索,尚未发现到与本发明专利申请相关的专利公开文献。
发明内容
本发明的目的在于克服现有技术的不足之处,提供一种基于可打印三角网格数据的模型剖切及接口设计方法,该方法可以有效剖切三角网格,使模型内表面可打印,并在截面上构造接口,使打印的部件可以恢复原有外观,其可应用于3D打印数字模型的几何造型中,如包含内表面信息的数字模型、体积过大的数字模型等。
为了实现上述目的,本发明所采用的技术方案如下:
一种3D打印数字模型剖切及接口设计方法,步骤如下:
(1)输入3D打印数字模型,用指定平面方程参数的方式指定切平面,利用点与平面位置关系剖切该模型,将其分解成不同的块,得到分解后数字模型,使原3D打印数字模型的内表面转变为外表面;
(2)如果需要更细致地分解模型,可重复步骤(1),对3D打印数字模型进行多次剖切;模型剖切结束后,将在剖切形成的切面上添加接口,用于拼接分解后数字模型;
(3)用拾取三角面片的方式,在剖切3D打印数据模型形成的切面上指定接口位置,即在3D打印数字模型的切面上点击选取三角形面片,将在每两个被连续拾取的三角面片中间构造接口,按照此方式成对地拾取三角面片即可指定多个接口位置;
(4)在3D打印数字模型的切面上、成对拾取的三角面片中间存在两组分别近似构成曲线段的离散点,分别对其进行曲线拟合,得到两个平面曲线段方程,记为C1、C2,以便构造适应模型表面形状的曲面接口;在平面曲线段方程C1、C2上分别等距采样,各得到N个采样点,分别记为{vex1 1,vex2 1,…,vexN 1}和{vex1 2,vex2 2,…,vexN 2},依次连接平面曲线段C1、C2上对应的采样点vexi 1、vexi 2,i=1,2,…,N,形成N条直线段,并分别取直线段的1/3和2/3处的点作为接口底座点,得到N对底座点,将在底座点上添加接口;
(5)设计一个包含接口凸起和接口凹槽、并在接口凸起和接口凹槽上添加半圆形结构的接口;垂直于切平面,分别过每对底座点做采样平面,在N个采样平面上迭代计算接口高度,并选取最高的接口方向,即接口凸起朝向的方向;
(6)将一个接口上N对底座点间距离的平均值记为该接口的平均宽度利用该接口的平均宽度和步骤(5)中计算的接口高度计算缝隙宽度,缝隙宽度指接口凸起和接口凹槽间的间隔宽度,只有存在一定的缝隙宽度,才可以在接口凸起和接口凹槽上添加用于固定模型的半圆形结构;将离散化的半圆结构添加到离散化的接口凸起和接口凹槽上;
(7)将接口拼接到分解后的3D打印数字模型上,并对接口附近的切面区域重新三角剖分,以便消除由拼接产生的非流形三角面片,至此,用于固定分解后数字模型的接口已设计添加完成。
而且,所述步骤(5)中垂直于切平面,分别过每对底座点做采样平面,在N个采样平面上迭代计算接口高度,并选取最高的接口方向,即接口凸起朝向的方向的具体步骤如下:
计算好接口在截面上的底座点之后,迭代计算接口的高度和朝向:
计算原则为:接口不破坏模型表面结构,即不会出现两个面片相交的情况;接口高度不超过接口平均宽度的两倍,且在满足接口不破坏模型表面结构的前提下接口高度选取最大值;其中,接口平均宽度指一个接口上N对底座点间距离的平均值;
通过得到接口上的N对底座点,垂直于切平面,过每对底座点分别做N个采样平面;
给定接口初始高度为底座点平均宽度的两倍,在每一采样面上判断接口是否包含在模型内部,如果存在一个采样面上的接口过高则减小接口高度,继续迭代,直到所有采样面上的模型都能包含当前高度的接口为止;由模型的特点可知,只要高度合适,截面上的接口一定能被包含在所有采样面内;一个剖切平面将数字模型剖切为两部分,即处于正半空间的数字模型Mp和处于负半空间的数字模型Mn,上述接口迭代过程分别在Mp和Mn中进行,得到两个接口高度hp、hn,选取较高的接口高度为最终接口高度h=max(hp,hn),其中max(·,·)表示选取最大值,接口高度记为接口朝向记为
所有底座点加上偏移量形成接口凹槽的坐标点,接口凹槽高度即为h;给定一个微小的系数kΔh,kΔh>0且kΔh<<1,用kΔh·h表示接口凸起和接口凹槽的高度差,接口凸起高度即为(1-kΔh)·h。
而且,所述步骤(6)的具体步骤如下:
在每一个采样平面上,根据接口平均宽度高度h、朝向高度差kΔh·h和半圆结构半径系数k1、k2,计算接口凸起与接口凹槽间的缝隙宽度其中,常量k1、k2满足:
k1<1,k2<1,k1+k2>1 (1.1)
其中,系数ks是待求的变量;
在接口凸起和接口凹槽处放置半圆结构能够使模型通过上下运动拼合在一起,半圆结构的半径分别为:
r1=k1·ws、r2=k2·ws (1.2)
分析可知,在垂直方向上缝隙越大半圆越能超出高度界限,即垂直方向上ks存在上限:
在水平方向上缝隙越大,接口凸起的宽度越小,接口越不牢靠,即水平方向上ks存在上限:
kh=(1-k)/2 (1.4)
其中,常量k为凸起宽度占接口宽度的最小比例;
因此,选取ks同时满足(1.3)和(1.4):
ks=min(kv,kh) (1.5)
得到缝隙宽度ws之后,半圆结构半径由式(1.2)给出;将半圆结构拼接到凸起和凹槽上,得到半圆的圆心位置分别为:
其中,a为凸起上半圆的圆心位置,b为凹槽上半圆的圆心位置,p1、p2为一对底座点,(·).normalized表示对向量归一化;
将半圆结构离散化,可以得到近似半圆的一系列离散点列;
添加完半圆结构后,对接口进行三角化:
每个采样面上都有对应的离散点数据,相邻采样面之间构成若干矩形,连接一个矩形对角线上的点即可生成两个三角面片;连接接口上所有的矩形对角线,即可将接口离散化为三角网格;将离散化后的接口分别添加到对应的分解后数字模型中。
而且,所述步骤(3)中在3D打印数字模型的切面上点击选取三角形面片为使用鼠标在3D打印数字模型的切面上点击选取三角形面片。
而且,当所述3D打印数字模型是包含内表面数据的嵌套形式时,内外表面之间要有一定的厚度,使构造出来的曲面接口细节满足打印精度,接口上最小面片的边长为πr/count,其中,π为圆周率,count为接口上半圆被等分的份数,可以设置为常量20,r为该半圆的半径,取决于内外表面间的厚度w,大体上有r=w·ks/6,其中ks为(1.5)式中求得的系数,如使用打印精度为0.1mm的3D打印机打印,则有即厚度必须大于
而且,通过观察可视化数据选择合适的一个或多个切面,及一个或多个接口位置。
而且,指定切面上的接口位置后,需要对附近的采样点个数在两个边界分别进行调整,如果边界上的两组采样点的端点不能构成近似矩形,会影响后续的计算,则不在此位置构造接口,近似矩形的标准可以通过两组端点分别构成的单位向量的内积来衡量。
而且,接口凸起和接口凹槽上的半圆形结构可以调节半径,以便更好地固定打印出的分解后数字模型;
或者,假设打印精度足够打印模型细节,如果打印精度过小,则需要增大模型体积。
而且,具体步骤如下:
⑴以平面为例切割R3空间中的数字模型,以下简称模型,被切割后的模型简称分解后数字模型,平面方程的形式如下:
Ax+By+Cz+D=0 (1.1)
其中,(A,B,C)是R3空间中的非零向量,称为平面的法向量;为了使方程表示具有唯一性,规定(A,B,C)为单位向量,即单位法方向;
指定平面方程的参数(A,B,C,D)后,平面方程被唯一地确定,该平面将R3空间分为正半空间和负半空间两部分;当R3空间中的数字模型与该平面相切时,模型也被分为两部分,一部分处于正半空间,另一部分处于负半空间;数字模型的基本单元是三角面片,它由三个顶点的三维坐标和面片的法方向组成;
模型与平面的相切关系能够通过计算面片与平面的相切关系确定;当模型中的三角面片存在两个顶点分别位于正半空间和负半空间的时候,该面片被平面所切,生成两个或三个新三角面片,并在切面上生成一个线段;
当模型被指定平面所切,将处于正半空间或负半空间的三角面片分别归入到正半分解后数字模型或负半分解后数字模型,并且将切面上的一系列线段组成的闭合多边形区域进行三角剖分:
首先,将平面上散乱的线段串联成闭合边;其次,判断闭合边之间的包含关系,找到待三角剖分的平面多边形区域;最后,对该区域进行三角剖分,生成新的三角面片,添加到分解后数字模型中,使正半分解后数字模型和负半分解后数字模型分别闭合;
⑵通过三角面片拾取的方式在截面上指定接口位置:
在截面上交互地成对拾取三角面片,在每对面片之间构造接口;当拾取的成对面片最外部的四个顶点构成的平面四边形不近似矩形时,需要对这四个顶点进行调整,使其接近矩形,避免出现接口的内外侧顶点数据量相差较大的情况;将四个顶点平均分为两组,每组分别位于接口的内侧和外层;分别对每组顶点之间的顶点进行平面曲线拟合,在各自的坐标系下得到曲线方程;对两个曲线方程进行等距采样,统一坐标系后连接每对对应的采样点,并将线段的1/3和2/3处的点作为接口底座点;
⑶计算好接口在截面上的底座点之后,迭代计算接口的高度和朝向
计算原则为:接口不破坏模型表面结构,即不会出现两个面片相交的情况;接口高度不超过接口平均宽度的两倍,且在满足接口不破坏模型表面结构的前提下接口高度选取最大值;其中,接口平均宽度指一个接口上N对底座点间距离的平均值;
通过得到接口上的N对底座点,垂直于切平面,过每对底座点分别做N个采样平面;
给定接口初始高度为底座点平均宽度的两倍,在每一采样面上判断接口是否包含在模型内部,如果存在一个采样面上的接口过高则减小接口高度,继续迭代,直到所有采样面上的模型都能包含当前高度的接口为止;由模型的特点可知,只要高度合适,截面上的接口一定能被包含在所有采样面内;一个剖切平面将数字模型剖切为两部分,即处于正半空间的数字模型Mp和处于负半空间的数字模型Mn,上述接口迭代过程分别在Mp和Mn中进行,得到两个接口高度hp、hn,选取较高的接口高度为最终接口高度h=max(hp,hn),其中max(·,·)表示选取最大值,接口高度记为接口朝向记为
所有底座点加上偏移量形成接口凹槽的坐标点,接口凹槽高度即为h;给定一个微小的系数kΔh,kΔh>0且kΔh<<1,用kΔh·h表示接口凸起和接口凹槽的高度差,接口凸起高度即为(1-kΔh)·h;
⑷在每一个采样面上,根据接口平均宽度高度h、朝向高度差kΔh·h和半圆结构半径系数k1、k2,计算接口凸起与接口凹槽间的缝隙宽度其中,常量k1、k2满足:
k1<1,k2<1,k1+k2>1 (1.2)
其中,系数ks是待求的变量;
在接口凸起和接口凹槽处放置半圆结构能够使模型通过上下运动拼合在一起,半圆结构的半径分别为:
r1=k1·ws、r2=k2·ws (1.3)
分析可知,在垂直方向上缝隙越大半圆越能超出高度界限,即垂直方向上ks存在上限:
在水平方向上缝隙越大,接口凸起的宽度越小,接口越不牢靠,即水平方向上ks存在上限:
kh=(1-k)/2 (1.5)
其中,常量k为凸起宽度占接口宽度的最小比例;
因此,选取ks同时满足(1.4)和(1.5):
ks=min(kv,kh) (1.6)
得到缝隙宽度ws之后,半圆结构半径由式(1.3)给出;将半圆结构拼接到凸起和凹槽上,得到半圆的圆心位置分别为:
其中,a为凸起上半圆的圆心位置,b为凹槽上半圆的圆心位置,p1、p2为一对底座点,(·).normalized表示对向量归一化;
将半圆结构离散化,可以得到近似半圆的一系列离散点列;
添加完半圆结构后,对接口进行三角化:
每个采样面上都有对应的离散点数据,相邻采样面之间构成若干矩形,连接一个矩形对角线上的点即可生成两个三角面片;连接接口上所有的矩形对角线,即可将接口离散化为三角网格;将离散化后的接口分别添加到对应的分解后数字模型中;
⑸将三角化的接口添加到模型截面上会破坏截面区域的拓扑关系,形成非流形边,需要对受到影响的平面多边形区域重新三角化,得到新的三角面片;
在分解后数字模型中,用平面多边形区域的新三角面片替换旧三角面片即可完成接口设计及添加工作。
如上所述的3D打印数字模型剖切及接口设计方法在三维几何造型中的应用。
本发明取得的优点和积极效果是:
1、本发明方法可以有效剖切三角网格,使模型内表面可打印,并通过在模型截面上添加接口的方法,使分解后的部件可以拼接恢复成原有外观,解决了包含内表面信息的数字模型无法正常3D打印的问题,及剖切后部件如何恢复原有外观的问题;解决了模型体积超出打印机可打印体积范围的问题;该方法利用了人工交互信息,使剖切位置和接口位置更符合用户需求;此外,本方法还可以减轻成品重量、节省模型打印时间。
2、本发明方法中的接口不会破坏拼接后模型外观;可以通过上下作用力拼合、分解模型;接口曲率、高度、方向和缝隙宽度会根据模型表面信息自动计算。
3、本发明可应用于有切割需求的三角网格数据,如通过三维CT成像得到的包含内表面信息的数据、大小超出打印机可打印范围的数据;该方法可应用于3D打印数字模型的几何造型中,如包含内表面信息的数字模型、体积过大的数字模型等。
附图说明
图1为本发明中包含内表面信息的三角网格数据示意图,该数据来源于CT扫描的葫芦,经等值面提取、修复、优化后得到表示葫芦内外表皮的三角网格数据;
图2为本发明中平面剖切三角网格示意图;其中,图2-1为三角面片与平面相切关系示意图,图2-2为模型在切平面上的线段构成的平面多边形区域示意图,图2-3为对该平面多边形区域三角剖分的结果图;
图3为本发明中拟合接口附近边界曲线及计算底座点位置示意图;其中,图3-1为指定接口位置示意图,1和2为鼠标拾取的两个三角面片,图3-2为修正接口附近边界点示意图,图3-3为拟合接口处边界曲线示意图,图3-4为底座点坐标示意图;
图4为本发明中过底座点对的采样平面示意图,选取所有采样平面上的接口都被包含在模型内部的接口高度,及产生较高接口的方向;
图5为本发明中计算采样平面上接口缝隙及半圆结构示意图,减小凸起的宽度形成缝隙,并在缝隙中添加半圆结构,使子部件可以通过拼接固定;
图6为本发明中接口附近的截面区域重新三角化结果示意图;
图7为本发明中接口示意图;其中,图7-1为接口凸起示意图,图7-2为接口凹槽示意图;
图8为本发明中嵌套球体模拟数据的实验结果,切平面为y=0;其中,图8-1为第一个子部件,图8-2为第二个子部件;
图9为本发明中对图1数据进行剖切、接口构造后的结果示意图,两个切平面分别为y=1,z=-2;其中,图9-1为第一个子部件,图9-2为第二个子部件,图9-3为第三个子部件;
图10为本发明方法的流程图。
具体实施方式
下面结合实施例,对本发明进一步说明;下述实施例是说明性的,不是限定性的,不能以下述实施例来限定本发明的保护范围。
本发明中所使用的设备,如无特殊规定,均为本领域内常用的设备;本发明中所使用的方法,如无特殊规定,均为本领域内常用的方法。
本发明方法中对不满足表面闭合、无非流形结构等要求三角网格数据需要先进行修补和优化处理,不可修复的数据无法满足3D打印机的打印前提,不作为本发明考虑的数字模型。
本发明方法中如果三角网格模型是包含内表面数据的嵌套形式,内外表面之间要有一定的厚度,可供用户选择合适的接口位置,对于没有内表面的三角网格数据不做要求。
本发明方法中用户通过观察可视化数据选择合适的一个或多个切面,及一个或多个接口位置。
本发明方法中指定切面上的接口位置后,需要对附近的采样点个数在两个边界分别进行调整,如果边界上的两组采样点的端点不能构成近似矩形,会影响后续的计算,则不在此位置构造接口。
本发明方法中接口凸起和接口凹槽上的半圆形结构可以调节半径,以便更好地固定打印出的分解后数字模型。
本发明方法中假设打印精度足够打印模型细节,如果打印精度过小,则需要增大模型体积。
本发明的剖切方法适用于可打印的三角网格数据,例如,三维设计软件构造的三角网格、点云数据生成的三角网格、三维体数据生成的三角网格等。具体实施方式以平面剖切为例,但可以推广到曲面剖切。
本发明的接口构造方法适用于多种由剖切产生的三角网格分解后数字模型。
实施例1
一种3D打印数字模型剖切及接口设计方法,步骤如下:
(1)输入3D打印数字模型,用指定平面方程参数的方式指定切平面,利用点与平面位置关系剖切该模型,将其分解成不同的块,得到分解后数字模型,使原3D打印数字模型的内表面转变为外表面;
(2)如果需要更细致地分解模型,可重复步骤(1),对3D打印数字模型进行多次剖切;模型剖切结束后,将在剖切形成的切面上添加接口,用于拼接分解后数字模型;
(3)用拾取三角面片的方式,在剖切3D打印数据模型形成的切面上指定接口位置,即在3D打印数字模型的切面上点击选取三角形面片,将在每两个被连续拾取的三角面片中间构造接口,按照此方式成对地拾取三角面片即可指定多个接口位置;
(4)在3D打印数字模型的切面上、成对拾取的三角面片中间存在两组分别近似构成曲线段的离散点,分别对其进行曲线拟合,得到两个平面曲线段方程,记为C1、C2,以便构造适应模型表面形状的曲面接口;在平面曲线段方程C1、C2上分别等距采样,各得到N个采样点,分别记为{vex1 1,vex2 1,…,vexN 1}和{vex1 2,vex2 2,…,vexN 2},依次连接平面曲线段C1、C2上对应的采样点vexi 1、vexi 2,i=1,2,…,N,形成N条直线段,并分别取直线段的1/3和2/3处的点作为接口底座点,得到N对底座点,将在底座点上添加接口;
(5)设计一个包含接口凸起和接口凹槽、并在接口凸起和接口凹槽上添加半圆形结构的接口;垂直于切平面,分别过每对底座点做采样平面,在N个采样平面上迭代计算接口高度,并选取最高的接口方向,即接口凸起朝向的方向;
(6)将一个接口上N对底座点间距离的平均值记为该接口的平均宽度利用该接口的平均宽度和步骤(5)中计算的接口高度计算缝隙宽度,缝隙宽度指接口凸起和接口凹槽间的间隔宽度,只有存在一定的缝隙宽度,才可以在接口凸起和接口凹槽上添加用于固定模型的半圆形结构;将离散化的半圆形结构添加到离散化的接口凸起和接口凹槽上;
(7)将接口拼接到分解后的3D打印数字模型上,并对接口附近的切面区域重新三角剖分,以便消除由拼接产生的非流形三角面片,至此,用于固定分解后数字模型的接口已设计添加完成。
本发明3D打印数字模型剖切及接口设计方法的流程图可以如图10所示。
较优地,所述步骤(5)中过每对底座点,垂直于切平面做采样平面,在采样平面上迭代计算接口高度,并选取最高的接口方向,即接口凸起朝向的方向的具体步骤如下:
计算好接口在截面上的底座点之后,迭代计算接口的高度和朝向:
计算原则为:接口不破坏模型表面结构,即不会出现两个面片相交的情况;接口高度不超过接口平均宽度的两倍,且在满足接口不破坏模型表面结构的前提下接口高度选取最大值;其中,接口平均宽度指一个接口上N对底座点间距离的平均值;
通过得到接口上的N对底座点,垂直于切平面,过每对底座点分别做N个采样平面;
给定接口初始高度为底座点平均宽度的两倍,在每一采样面上判断接口是否包含在模型内部,如果存在一个采样面上的接口过高则减小接口高度,继续迭代,直到所有采样面上的模型都能包含当前高度的接口为止;由模型的特点可知,只要高度合适,截面上的接口一定能被包含在所有采样面内;一个剖切平面将数字模型剖切为两部分,即处于正半空间的数字模型Mp和处于负半空间的数字模型Mn,上述接口迭代过程分别在Mp和Mn中进行,得到两个接口高度hp、hn,选取较高的接口高度为最终接口高度h=max(hp,hn),其中max(·,·)表示选取最大值,接口高度记为接口朝向记为
所有底座点加上偏移量形成接口凹槽的坐标点,接口凹槽高度即为h;给定一个微小的系数kΔh,kΔh>0且kΔh<<1,用kΔh·h表示接口凸起和接口凹槽的高度差,接口凸起高度即为(1-kΔh)·h;
较优地,所述步骤(6)的具体步骤如下:
在每一个采样平面上,根据接口平均宽度高度h、朝向高度差kΔh·h和半圆结构半径系数k1、k2,计算接口凸起与接口凹槽间的缝隙宽度其中,常量k1、k2满足:
k1<1,k2<1,k1+k2>1 (1.1)
其中,系数ks是待求的变量;
在接口凸起和接口凹槽处放置半圆结构能够使模型通过上下运动拼合在一起,半圆结构的半径分别为:
r1=k1·ws、r2=k2·ws (1.2)
分析可知,在垂直方向上缝隙越大半圆越能超出高度界限,即垂直方向上ks存在上限:
在水平方向上缝隙越大,接口凸起的宽度越小,接口越不牢靠,即水平方向上ks存在上限:
kh=(1-k)/2 (1.4)
其中,常量k为凸起宽度占接口宽度的最小比例;
因此,选取ks同时满足(1.3)和(1.4):
ks=min(kv,kh) (1.5)
得到缝隙宽度ws之后,半圆结构半径由式(1.2)给出;将半圆结构拼接到凸起和凹槽上,得到半圆的圆心位置分别为:
其中,a为凸起上半圆的圆心位置,b为凹槽上半圆的圆心位置,p1、p2为一对底座点,(·).normalized表示对向量归一化;
将半圆结构离散化,可以得到近似半圆的一系列离散点列;
添加完半圆结构后,对接口进行三角化。每个采样面上都有对应的离散点数据,相邻采样面之间构成若干矩形,连接一个矩形对角线上的点即可生成两个三角面片。连接接口上所有的矩形对角线,即可将接口离散化为三角网格;将离散化后的接口分别添加到对应的分解后数字模型中。
较优地,所述步骤(3)中在3D打印数字模型的切面上点击选取三角形面片为使用鼠标在3D打印数字模型的切面上点击选取三角形面片。
较优地,当所述3D打印数字模型是包含内表面数据的嵌套形式时,内外表面之间要有一定的厚度,使构造出来的曲面接口细节满足打印精度,接口上最小面片的边长约为πr/coun t,其中,π为圆周率,count为接口上半圆被等分的份数,可以设置为常量20,r为该半圆的半径,取决于内外表面间的厚度w,大体上有r=w·ks/6,其中ks为(1.5)式中求得的系数,如使用打印精度为0.1mm的3D打印机打印,则有即厚度必须大于对于没有内表面的三角网格数据不做此要求。
较优地,通过观察可视化数据选择合适的一个或多个切面,及一个或多个接口位置。
较优地,指定切面上的接口位置后,需要对附近的采样点个数在两个边界分别进行调整,如果边界上的两组采样点的端点不能构成近似矩形,会影响后续的计算,则不在此位置构造接口,近似矩形的标准可以通过两组端点分别构成的单位向量的内积来衡量。
较优地,对不满足表面闭合、无非流形结构等要求三角网格数据需要先进行修补和优化处理,不可修复的数据无法满足3D打印机的打印前提,不作为本发明考虑的数字模型。
较优地,接口凸起和接口凹槽上的半圆形结构可以调节半径,以便更好地固定打印出的分解后数字模型。
较优地,假设打印精度足够打印模型细节,如果打印精度过小,则需要增大模型体积。
较优地,不局限于平面对模型的剖切,也可以采用曲面对模型进行剖切。
本方法适用于3D打印数字模型,较优地,模型如果有内表面,内外表面之间需要有一定的厚度放置接口。
本方法可用于解决包含内表面信息的模型无法正常3D打印、体积过大模型无法正常3D打印、单个模型打印时间过长等问题。
实施例2
一种3D打印数字模型剖切及接口设计方法,步骤如下:
指定切平面,切平面与三角面片的相切关系如图2-1所示,判断三角网格中所有面片与平面的相切关系,得到被分开的两个分解后数字模型,及平面上的若干闭合线段。如图2-2所示,将散乱线段首尾相连,得到一组闭合边,判断闭合边的包含关系,得到由闭合边围成的多边形区域。如图2-3所示,在多边形区域内部三角剖分,将三角剖分结果分别添加到两个分解后数字模型中,保持分解后数字模型中的三角面片法向与模型向外的方向一致。可按此步骤依次计算多个切平面对模型的剖切结果。
用鼠标拾取的方式指定切面上的三角面片,在两个拾取面片之间放置接口,如图3-1所示,1和2即为拾取的两个三角面片,将在1、2构成的较小的切面区域上构造接口。首先,按图3-2所示对拾取端点进行微调,使大致平行,且模长大致相等,如果不能按此要求调整,则不在此处构造接口。如图3-3所示,将v1v0,v2v3之间的边界点分别在各自的局部坐标系下进行最小二乘法拟合,得到两个曲线方程。如图3-4所示,对拟合的曲线段等距离采样,并连接两条曲线上的采样点对,将线段1/3处和2/3处设为接口底座点,在底座点上设计接口。可按此步骤依次计算多个接口的底座点。
过接口的每对底座点,垂直于切平面做采样平面。该采样面与模型相切并在采样面上得到闭合平面多边形区域。如图4所示,计算接口高度与方向。接口的平均宽度记为设置接口初始高度为设置迭代步长,如迭代减小接口高度,直到所有底座点对对应的采样平面上的接口切片都包含在多边形区域内部,终止迭代。对每个接口的正方向和负方向分别进行上述迭代计算,比较最终接口高度,选取较高接口的方向作为最终方向。可按此步骤依次计算多个接口的高度与方向。
接口平均宽度记为高度记为方向记为凹槽与凸起的高度差记为kΔh·h、半圆结构的半径系数记为k1、k2,如图5所示,计算接口的凸起与凹槽间缝隙宽度在垂直方向上,ks存在的上限由式(1.4)给出,在水平方向上,ks存在的上限由式(1.5)给出,ks最终由式(1.6)给出,得到缝隙宽度在每个采样平面上,以左边缝隙处接口半圆结构为例计算其圆心坐标。根据接口平均宽度、高度、方向、缝隙宽度、半圆结构半径,半圆结构的圆心坐标由(1.7)式给出。根据底座点坐标、半圆结构圆心坐标、半圆半径,将半圆结构离散化,可以得到近似半圆的一系列离散点列。每个采样面上都有对应的离散点数据,相邻采样面之间构成若干矩形,连接一个矩形对角线上的点即可生成两个三角面片。连接接口上所有的矩形对角线,即可将接口离散化为三角网格。将离散化后的接口分别添加到对应的分解后数字模型中。可按此步骤依次计算多个接口的三角网格数据。
如图6所示,对底座点周围三角面片围城的多边形区域重新三角化,得到新的三角化区域。在分解后数字模型中分别用重新三角化区域的新面片代替原有面片,并保持分解后数字模型中的三角面片法方向与模型向外的方向一致。可按此步骤依次将多个接口拼接到分解后数字模型中,完成数字模型剖切及接口设计工作。
实施例3
一种3D打印数字模型剖切及接口设计方法,具体步骤如下:
(1)以平面为例切割R3空间中的数字模型,平面方程的一般形式如下:
Ax+By+Cz+D=0 (1.1)
其中,(A,B,C)是R3空间中的非零向量,称为平面的法向量。为了使方程表示具有唯一性,规定(A,B,C)为单位向量,即单位法方向。
指定平面方程的参数(A,B,C,D)后,平面方程可以被唯一地确定,该平面将R3空间分为正半空间和负半空间两部分。当R3空间中的数字模型与该平面相切时,模型也被分为两部分,一部分处于正半空间,另一部分处于负半空间。数字模型的基本单元是三角面片,它由三个顶点的三维坐标和面片的法方向组成。模型与平面的相切关系可以通过计算面片与平面的相切关系确定。当模型中的三角面片存在两个顶点分别位于正半空间和负半空间的时候,该面片被平面所切,生成两个或三个新三角面片,并在切面上生成一个线段。
当模型被指定平面所切,将处于正半空间或负半空间的三角面片分别归入到正半分解后数字模型或负半分解后数字模型,并且将切面上的一系列线段组成的闭合多边形区域进行三角剖分。首先,将平面上散乱的线段串联成闭合边;其次,判断闭合边之间的包含关系,找到待三角剖分的平面多边形区域;最后,对该区域进行三角剖分,生成新的三角面片,添加到分解后数字模型中,使正半分解后数字模型和负半分解后数字模型分别闭合。
(2)通过三角面片拾取的方式在截面上指定接口位置。在截面上交互地成对拾取三角面片,在每对面片之间构造接口。当拾取的成对面片最外部的四个顶点构成的平面四边形不近似矩形时,需要对这四个顶点进行调整,使其接近矩形,避免出现接口的内外侧顶点数据量相差较大的情况。将四个顶点平均分为两组,每组分别位于接口的内侧和外层。分别对每组顶点之间的顶点进行平面曲线拟合,在各自的坐标系下得到曲线方程。对两个曲线方程进行等距采样,统一坐标系后连接每对对应的采样点,并将线段的1/3和2/3处的点作为接口底座点。
(3)计算好接口在截面上的底座点之后,迭代计算接口的高度和朝向。计算原则为:接口不破坏模型表面结构,即不会出现两个面片相交的情况;接口高度不超过接口平均宽度的两倍,且在满足接口不破坏模型表面结构的前提下接口高度选取最大值;其中,接口平均宽度指一个接口上N对底座点间距离的平均值;
通过得到接口上的N对底座点,垂直于切平面,过每对底座点分别做N个采样平面;
给定接口初始高度为底座点平均宽度的两倍,在每一采样面上判断接口是否包含在模型内部,如果存在一个采样面上的接口过高则减小接口高度,继续迭代,直到所有采样面上的模型都能包含当前高度的接口为止;由模型的特点可知,只要高度合适,截面上的接口一定能被包含在所有采样面内;一个剖切平面将数字模型剖切为两部分,即处于正半空间的数字模型Mp和处于负半空间的数字模型Mn,上述接口迭代过程分别在Mp和Mn中进行,得到两个接口高度hp、hn,选取较高的接口高度为最终接口高度h=max(hp,hn),其中max(·,·)表示选取最大值,接口高度记为接口朝向记为
所有底座点加上偏移量形成接口凹槽的坐标点,接口凹槽高度即为h;给定一个微小的系数kΔh,kΔh>0且kΔh<<1,用kΔh·h表示接口凸起和接口凹槽的高度差,接口凸起高度即为(1-kΔh)·h。
(4)在每一个采样面上,根据接口平均宽度高度h、朝向高度差kΔh·h和半圆结构半径系数k1、k2,计算接口凸起与接口凹槽间的缝隙宽度其中,常量k1、k2满足:
k1<1,k2<1,k1+k2>1 (1.2)
其中,系数ks是待求的变量。在接口凸起和凹槽处放置半圆结构可以使模型通过上下运动拼合在一起,半圆结构的半径分别为:
r1=k1·ws、r2=k2·ws (1.3)
分析可知,在垂直方向上缝隙越大半圆越可能超出高度界限,即垂直方向上ks存在上限:
在水平方向上缝隙越大,接口凸起的宽度越小,接口越不牢靠,即水平方向上ks存在上限:
kh=(1-k)/2 (1.5)
其中,常量k为凸起宽度占接口宽度的最小比例。因此,选取ks同时满足(1.4)和(1.5):
ks=min(kv,kh) (1.6)
得到缝隙宽度ws之后,半圆结构半径由式(1.3)给出。将半圆结构拼接到凸起和凹槽上,得到半圆的圆心位置分别为:
其中,a为凸起上半圆的圆心位置,b为凹槽上半圆的圆心位置,p1、p2为一对底座点,(·).normalized表示对向量归一化。
将半圆结构离散化,可以得到近似半圆的一系列离散点列;
添加完半圆结构后,对接口进行三角化。每个采样面上都有对应的离散点数据,相邻采样面之间构成若干矩形,连接一个矩形对角线上的点即可生成两个三角面片。连接接口上所有的矩形对角线,即可将接口离散化为三角网格;将离散化后的接口分别添加到对应的分解后数字模型中。
(5)将三角化的接口添加到模型截面上会破坏截面区域的拓扑关系,形成非流形边,需要对受到影响的平面多边形区域重新三角化,得到新的三角面片。在分解后数字模型中,用平面多边形区域的新三角面片替换旧三角面片即可完成接口设计及添加工作。
而且,不局限于平面对模型的剖切,也可以采用曲面对模型进行剖切。
本发明方法的相关实验结果:
首先用模拟数据验证本发明方法剖切3D打印数字模型及添加接口的有效性,然后对由实际数据转化的3D打印数字模型进行剖切和添加接口。
一、模拟数据
模拟数据为嵌套球体,外表面网格的三角面片法向向外,内表面网格的三角面片法向向内,内外表面之间有一定的厚度。
选取切平面y=0,并分布均匀地指定三个接口位置。如图8所示,模型被剖切成两个子部件,并且自动计算出了合适的三个接口,其中,图8-1为第一个子部件,图8-2为第二个子部件。
由此可以看出,经过剖切,数字模型可以看到内表面信息、模型单次打印体积减小,经过添加接口,打印后的子部件可以拼接成原有球形外观。
经过3D打印软件3D Builder检测,这两个子部件都是可打印的。说明了本发明方法在剖切数字模型和添加接口的同时没有产生错误面片,可用于解决包含内表面信息、体积过大的数字模型无法正确打印的问题。
二、实际数据
以CT设备扫描的葫芦数据为例,给出具体的剖切、添加接口方法。
扫描后葫芦体数据经等值面提取、修复、优化操作得到的可打印数据如图1所示。该数据具有外表面和内表面,且外表面面片法向向外,内表面面片法向向内。
依次选取切平面y=1,z=-2,对模型进行平面剖切。再通过面片拾取的方式依次指定两个切面上的接口位置,在截面y=1形成的近似环形的多边形区域均匀地指定三个接口,在截面z=-2形成的多边形区域的曲率较大处对称地指定四个接口。经过边界点调整、边界曲线拟合、接口计算、接口拼接四步操作,得到的三个分解后数字模型如图9所示,其中接口凸起和凹槽的细节如图7所示,图7-1为接口凸起、图7-2为接口凹槽,它们分别在不同的切割后模型上,可以通过垂直于切平面的上下运动拼接和拆卸,半圆形结构用于拼接后的固定。接口的特点是隐藏在模型的内部,不破坏模型外观,而且使切割后的模型能够简单拼合拆卸。
由此可以看出,平面剖切操作使葫芦数据的内表面信息被充分地展示出来,添加接口操作使打印后的子部件可以通过按序拼接拼合成原有葫芦的外观。经过3D打印软件3DBuilder检测,这三个分解后数字模型是可打印的,说明本发明方法在解决内表面信息无法打印问题的同时没有产生错误数据。
以上述依据本发明的理想实施案例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (10)
1.一种3D打印数字模型剖切及接口设计方法,其特征在于:步骤如下:
(1)输入3D打印数字模型,用指定平面方程参数的方式指定切平面,利用点与平面位置关系剖切该模型,将其分解成不同的块,得到分解后数字模型,使原3D打印数字模型的内表面转变为外表面;
(2)如果需要更细致地分解模型,可重复步骤(1),对3D打印数字模型进行多次剖切;模型剖切结束后,将在剖切形成的切面上添加接口,用于拼接分解后数字模型;
(3)用拾取三角面片的方式,在剖切3D打印数据模型形成的切面上指定接口位置,即在3D打印数字模型的切面上点击选取三角形面片,将在每两个被连续拾取的三角面片中间构造接口,按照此方式成对地拾取三角面片即可指定多个接口位置;
(4)在3D打印数字模型的切面上、成对拾取的三角面片中间存在两组分别近似构成曲线段的离散点,分别对其进行曲线拟合,得到两个平面曲线段方程,记为C1、C2,以便构造适应模型表面形状的曲面接口;在平面曲线段方程C1、C2上分别等距采样,各得到N个采样点,分别记为{vex1 1,vex2 1,…,vexN 1}和{vex1 2,vex2 2,…,vexN 2},依次连接平面曲线段C1、C2上对应的采样点vexi 1、vexi 2,i=1,2,…,N,形成N条直线段,并分别取直线段的1/3和2/3处的点作为接口底座点,得到N对底座点,将在底座点上添加接口;
(5)设计一个包含接口凸起和接口凹槽、并在接口凸起和接口凹槽上添加半圆形结构的接口;垂直于切平面,分别过每对底座点做采样平面,在N个采样平面上迭代计算接口高度,并选取最高的接口方向,即接口凸起朝向的方向;
(6)将一个接口上N对底座点间距离的平均值记为该接口的平均宽度利用该接口的平均宽度和步骤(5)中计算的接口高度计算缝隙宽度,缝隙宽度指接口凸起和接口凹槽间的间隔宽度,只有存在一定的缝隙宽度,才可以在接口凸起和接口凹槽上添加用于固定模型的半圆形结构;将离散化的半圆结构添加到离散化的接口凸起和接口凹槽上;
(7)将接口拼接到分解后的3D打印数字模型上,并对接口附近的切面区域重新三角剖分,以便消除由拼接产生的非流形三角面片,至此,用于固定分解后数字模型的接口已设计添加完成。
2.根据权利要求1所述的3D打印数字模型剖切及接口设计方法,其特征在于:所述步骤(5)中垂直于切平面,分别过每对底座点做采样平面,在N个采样平面上迭代计算接口高度,并选取最高的接口方向,即接口凸起朝向的方向的具体步骤如下:
计算好接口在截面上的底座点之后,迭代计算接口的高度和朝向:
计算原则为:接口不破坏模型表面结构,即不会出现两个面片相交的情况;接口高度不超过接口平均宽度的两倍,且在满足接口不破坏模型表面结构的前提下接口高度选取最大值;其中,接口平均宽度指一个接口上N对底座点间距离的平均值;
通过得到接口上的N对底座点,垂直于切平面,过每对底座点分别做N个采样平面;
给定接口初始高度为底座点平均宽度的两倍,在每一采样面上判断接口是否包含在模型内部,如果存在一个采样面上的接口过高则减小接口高度,继续迭代,直到所有采样面上的模型都能包含当前高度的接口为止;由模型的特点可知,只要高度合适,截面上的接口一定能被包含在所有采样面内;一个剖切平面将数字模型剖切为两部分,即处于正半空间的数字模型Mp和处于负半空间的数字模型Mn,上述接口迭代过程分别在Mp和Mn中进行,得到两个接口高度hp、hn,选取较高的接口高度为最终接口高度h=max(hp,hn),其中max(·,·)表示选取最大值,接口高度记为接口朝向记为
所有底座点加上偏移量形成接口凹槽的坐标点,接口凹槽高度即为h;给定一个微小的系数kΔh,kΔh>0且kΔh<<1,用kΔh·h表示接口凸起和接口凹槽的高度差,接口凸起高度即为(1-kΔh)·h。
3.根据权利要求1所述的3D打印数字模型剖切及接口设计方法,其特征在于:所述步骤(6)的具体步骤如下:
在每一个采样平面上,根据接口平均宽度高度h、朝向高度差kΔh·h和半圆结构半径系数k1、k2,计算接口凸起与接口凹槽间的缝隙宽度其中,常量k1、k2满足:
k1<1,k2<1,k1+k2>1 (1.1)
其中,系数ks是待求的变量;
在接口凸起和接口凹槽处放置半圆结构能够使模型通过上下运动拼合在一起,半圆结构的半径分别为:
r1=k1·ws、r2=k2·ws (1.2)
分析可知,在垂直方向上缝隙越大半圆越能超出高度界限,即垂直方向上ks存在上限:
<mrow>
<msub>
<mi>k</mi>
<mi>v</mi>
</msub>
<mo>=</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>-</mo>
<msub>
<mi>k</mi>
<mrow>
<mi>&Delta;</mi>
<mi>h</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>&CenterDot;</mo>
<msub>
<mi>k</mi>
<mi>h</mi>
</msub>
<mo>/</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>k</mi>
<mn>1</mn>
</msub>
<mo>+</mo>
<msub>
<mi>k</mi>
<mn>2</mn>
</msub>
<mo>+</mo>
<msqrt>
<mrow>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>k</mi>
<mn>1</mn>
</msub>
<mo>+</mo>
<msub>
<mi>k</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msqrt>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1.3</mn>
<mo>)</mo>
</mrow>
</mrow>
在水平方向上缝隙越大,接口凸起的宽度越小,接口越不牢靠,即水平方向上ks存在上限:
kh=(1-k)/2 (1.4)
其中,常量k为凸起宽度占接口宽度的最小比例;
因此,选取ks同时满足(1.3)和(1.4):
ks=min(kv,kh) (1.5)
得到缝隙宽度ws之后,半圆结构半径由式(1.2)给出;将半圆结构拼接到凸起和凹槽上,得到半圆的圆心位置分别为:
其中,a为凸起上半圆的圆心位置,b为凹槽上半圆的圆心位置,p1、p2为一对底座点,(·).normalized表示对向量归一化;
将半圆结构离散化,可以得到近似半圆的一系列离散点列;
添加完半圆结构后,对接口进行三角化:
每个采样面上都有对应的离散点数据,相邻采样面之间构成若干矩形,连接一个矩形对角线上的点即可生成两个三角面片;连接接口上所有的矩形对角线,即可将接口离散化为三角网格;将离散化后的接口分别添加到对应的分解后数字模型中。
4.根据权利要求1所述的3D打印数字模型剖切及接口设计方法,其特征在于:所述步骤(3)中在3D打印数字模型的切面上点击选取三角形面片为使用鼠标在3D打印数字模型的切面上点击选取三角形面片。
5.根据权利要求1所述的3D打印数字模型剖切及接口设计方法,其特征在于:当所述3D打印数字模型是包含内表面数据的嵌套形式时,内外表面之间要有一定的厚度,使构造出来的曲面接口细节满足打印精度,接口上最小面片的边长为πr/count,其中,π为圆周率,count为接口上半圆被等分的份数,可以设置为常量20,r为该半圆的半径,取决于内外表面间的厚度w,大体上有r=w·ks/6,其中ks为(1.5)式中求得的系数,如使用打印精度为0.1mm的3D打印机打印,则有即厚度必须大于
6.根据权利要求1所述的3D打印数字模型剖切及接口设计方法,其特征在于:通过观察可视化数据选择合适的一个或多个切面,及一个或多个接口位置。
7.根据权利要求1所述的3D打印数字模型剖切及接口设计方法,其特征在于:指定切面上的接口位置后,需要对附近的采样点个数在两个边界分别进行调整,如果边界上的两组采样点的端点不能构成近似矩形,会影响后续的计算,则不在此位置构造接口,近似矩形的标准可以通过两组端点分别构成的单位向量的内积来衡量。
8.根据权利要求1至7任一项所述的3D打印数字模型剖切及接口设计方法,其特征在于:接口凸起和接口凹槽上的半圆形结构可以调节半径,以便更好地固定打印出的分解后数字模型;
或者,假设打印精度足够打印模型细节,如果打印精度过小,则需要增大模型体积。
9.根据权利要求1所述的3D打印数字模型剖切及接口设计方法,其特征在于:具体步骤如下:
⑴以平面为例切割R3空间中的数字模型,以下简称模型,被切割后的模型简称分解后数字模型,平面方程的形式如下:
Ax+By+Cz+D=0 (1.1)
其中,(A,B,C)是R3空间中的非零向量,称为平面的法向量;为了使方程表示具有唯一性,规定(A,B,C)为单位向量,即单位法方向;
指定平面方程的参数(A,B,C,D)后,平面方程被唯一地确定,该平面将R3空间分为正半空间和负半空间两部分;当R3空间中的数字模型与该平面相切时,模型也被分为两部分,一部分处于正半空间,另一部分处于负半空间;数字模型的基本单元是三角面片,它由三个顶点的三维坐标和面片的法方向组成;
模型与平面的相切关系能够通过计算面片与平面的相切关系确定;当模型中的三角面片存在两个顶点分别位于正半空间和负半空间的时候,该面片被平面所切,生成两个或三个新三角面片,并在切面上生成一个线段;
当模型被指定平面所切,将处于正半空间或负半空间的三角面片分别归入到正半分解后数字模型或负半分解后数字模型,并且将切面上的一系列线段组成的闭合多边形区域进行三角剖分:
首先,将平面上散乱的线段串联成闭合边;其次,判断闭合边之间的包含关系,找到待三角剖分的平面多边形区域;最后,对该区域进行三角剖分,生成新的三角面片,添加到分解后数字模型中,使正半分解后数字模型和负半分解后数字模型分别闭合;
⑵通过三角面片拾取的方式在截面上指定接口位置:
在截面上交互地成对拾取三角面片,在每对面片之间构造接口;当拾取的成对面片最外部的四个顶点构成的平面四边形不近似矩形时,需要对这四个顶点进行调整,使其接近矩形,避免出现接口的内外侧顶点数据量相差较大的情况;将四个顶点平均分为两组,每组分别位于接口的内侧和外层;分别对每组顶点之间的顶点进行平面曲线拟合,在各自的坐标系下得到曲线方程;对两个曲线方程进行等距采样,统一坐标系后连接每对对应的采样点,并将线段的1/3和2/3处的点作为接口底座点;
⑶计算好接口在截面上的底座点之后,迭代计算接口的高度和朝向
计算原则为:接口不破坏模型表面结构,即不会出现两个面片相交的情况;接口高度不超过接口平均宽度的两倍,且在满足接口不破坏模型表面结构的前提下接口高度选取最大值;其中,接口平均宽度指一个接口上N对底座点间距离的平均值;
通过得到接口上的N对底座点,垂直于切平面,过每对底座点分别做N个采样平面;
给定接口初始高度为底座点平均宽度的两倍,在每一采样面上判断接口是否包含在模型内部,如果存在一个采样面上的接口过高则减小接口高度,继续迭代,直到所有采样面上的模型都能包含当前高度的接口为止;由模型的特点可知,只要高度合适,截面上的接口一定能被包含在所有采样面内;一个剖切平面将数字模型剖切为两部分,即处于正半空间的数字模型Mp和处于负半空间的数字模型Mn,上述接口迭代过程分别在Mp和Mn中进行,得到两个接口高度hp、hn,选取较高的接口高度为最终接口高度h=max(hp,hn),其中max(·,·)表示选取最大值,接口高度记为接口朝向记为
所有底座点加上偏移量形成接口凹槽的坐标点,接口凹槽高度即为h;给定一个微小的系数kΔh,kΔh>0且kΔh<<1,用kΔh·h表示接口凸起和接口凹槽的高度差,接口凸起高度即为(1-kΔh)·h;
⑷在每一个采样面上,根据接口平均宽度高度h、朝向高度差kΔh·h和半圆结构半径系数k1、k2,计算接口凸起与接口凹槽间的缝隙宽度其中,常量k1、k2满足:
k1<1,k2<1,k1+k2>1 (1.2)
其中,系数ks是待求的变量;
在接口凸起和接口凹槽处放置半圆结构能够使模型通过上下运动拼合在一起,半圆结构的半径分别为:
r1=k1·ws、r2=k2·ws (1.3)
分析可知,在垂直方向上缝隙越大半圆越能超出高度界限,即垂直方向上ks存在上限:
<mrow>
<msub>
<mi>k</mi>
<mi>v</mi>
</msub>
<mo>=</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>-</mo>
<msub>
<mi>k</mi>
<mrow>
<mi>&Delta;</mi>
<mi>h</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>&CenterDot;</mo>
<msub>
<mi>k</mi>
<mi>h</mi>
</msub>
<mo>/</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>k</mi>
<mn>1</mn>
</msub>
<mo>+</mo>
<msub>
<mi>k</mi>
<mn>2</mn>
</msub>
<mo>+</mo>
<msqrt>
<mrow>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>k</mi>
<mn>1</mn>
</msub>
<mo>+</mo>
<msub>
<mi>k</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msqrt>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1.4</mn>
<mo>)</mo>
</mrow>
</mrow>
在水平方向上缝隙越大,接口凸起的宽度越小,接口越不牢靠,即水平方向上ks存在上限:
kh=(1-k)/2 (1.5)
其中,常量k为凸起宽度占接口宽度的最小比例;
因此,选取ks同时满足(1.4)和(1.5):
ks=min(kv,kh) (1.6)
得到缝隙宽度ws之后,半圆结构半径由式(1.3)给出;将半圆结构拼接到凸起和凹槽上,得到半圆的圆心位置分别为:
其中,a为凸起上半圆的圆心位置,b为凹槽上半圆的圆心位置,p1、p2为一对底座点,(·).normalized表示对向量归一化;
将半圆结构离散化,可以得到近似半圆的一系列离散点列;
添加完半圆结构后,对接口进行三角化:
每个采样面上都有对应的离散点数据,相邻采样面之间构成若干矩形,连接一个矩形对角线上的点即可生成两个三角面片;连接接口上所有的矩形对角线,即可将接口离散化为三角网格;将离散化后的接口分别添加到对应的分解后数字模型中;
⑸将三角化的接口添加到模型截面上会破坏截面区域的拓扑关系,形成非流形边,需要对受到影响的平面多边形区域重新三角化,得到新的三角面片;
在分解后数字模型中,用平面多边形区域的新三角面片替换旧三角面片即可完成接口设计及添加工作。
10.如权利要求1至9任一项所述的3D打印数字模型剖切及接口设计方法在三维几何造型中的应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710818264.1A CN107610230B (zh) | 2017-09-12 | 2017-09-12 | 一种3d打印数字模型剖切及接口设计方法及应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710818264.1A CN107610230B (zh) | 2017-09-12 | 2017-09-12 | 一种3d打印数字模型剖切及接口设计方法及应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107610230A true CN107610230A (zh) | 2018-01-19 |
CN107610230B CN107610230B (zh) | 2020-09-11 |
Family
ID=61063157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710818264.1A Active CN107610230B (zh) | 2017-09-12 | 2017-09-12 | 一种3d打印数字模型剖切及接口设计方法及应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107610230B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108644698A (zh) * | 2018-05-09 | 2018-10-12 | 金华职业技术学院 | 仿真石头装饰灯结构及制造工艺 |
CN109367014A (zh) * | 2018-11-13 | 2019-02-22 | 上海大学 | 一种基于五轴打印平台沿轴向打印弯管的3d打印方法 |
CN110633517A (zh) * | 2019-09-03 | 2019-12-31 | 江西博微新技术有限公司 | 一种用于三维场景的高效切片方法 |
WO2020122895A1 (en) * | 2018-12-12 | 2020-06-18 | Hewlett-Packard Development Company, L.P. | Arc segments for three dimensional printers |
CN111489450A (zh) * | 2020-04-13 | 2020-08-04 | 同济大学建筑设计研究院(集团)有限公司 | 三维模型剖切处理方法、装置、计算机设备和存储介质 |
CN111523198A (zh) * | 2019-01-30 | 2020-08-11 | 通用电气公司 | 生成cad模型用于在工件上增材打印的增材制造系统和方法 |
CN112749436A (zh) * | 2021-01-15 | 2021-05-04 | 广联达科技股份有限公司 | 楼板间的板缝模型的构建方法、装置、设备和存储介质 |
CN113712696A (zh) * | 2021-08-27 | 2021-11-30 | 佛山市安齿生物科技有限公司 | 种植固定桥接口精加工方法 |
CN113946987A (zh) * | 2021-12-20 | 2022-01-18 | 浙江闪铸三维科技有限公司 | 一种基于模型相似性的3d模型嵌套摆放方法 |
CN114043727A (zh) * | 2021-11-12 | 2022-02-15 | 深圳拓竹科技有限公司 | 3d打印的方法和装置、存储介质以及程序产品 |
CN116021770A (zh) * | 2022-11-17 | 2023-04-28 | 中国人民解放军国防科技大学 | 一种挤出式生物3d打印几何缺陷的评价方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101373543A (zh) * | 2008-09-28 | 2009-02-25 | 武汉大学 | 三维网格模型的快速剖切方法 |
CN101441780A (zh) * | 2008-11-05 | 2009-05-27 | 武汉大学 | 三维网格模型的剖切方法 |
US20120065755A1 (en) * | 2010-08-13 | 2012-03-15 | Sensable Technologies, Inc. | Fabrication of non-homogeneous articles via additive manufacturing using three-dimensional voxel-based models |
-
2017
- 2017-09-12 CN CN201710818264.1A patent/CN107610230B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101373543A (zh) * | 2008-09-28 | 2009-02-25 | 武汉大学 | 三维网格模型的快速剖切方法 |
CN101441780A (zh) * | 2008-11-05 | 2009-05-27 | 武汉大学 | 三维网格模型的剖切方法 |
US20120065755A1 (en) * | 2010-08-13 | 2012-03-15 | Sensable Technologies, Inc. | Fabrication of non-homogeneous articles via additive manufacturing using three-dimensional voxel-based models |
Non-Patent Citations (1)
Title |
---|
高弋涵: "基于 3D 打印的个性化定制平台交互设计研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108644698A (zh) * | 2018-05-09 | 2018-10-12 | 金华职业技术学院 | 仿真石头装饰灯结构及制造工艺 |
CN109367014A (zh) * | 2018-11-13 | 2019-02-22 | 上海大学 | 一种基于五轴打印平台沿轴向打印弯管的3d打印方法 |
WO2020122895A1 (en) * | 2018-12-12 | 2020-06-18 | Hewlett-Packard Development Company, L.P. | Arc segments for three dimensional printers |
CN111523198A (zh) * | 2019-01-30 | 2020-08-11 | 通用电气公司 | 生成cad模型用于在工件上增材打印的增材制造系统和方法 |
CN111523198B (zh) * | 2019-01-30 | 2024-02-27 | 通用电气公司 | 生成cad模型用于在工件上增材打印的增材制造系统和方法 |
CN110633517A (zh) * | 2019-09-03 | 2019-12-31 | 江西博微新技术有限公司 | 一种用于三维场景的高效切片方法 |
CN111489450A (zh) * | 2020-04-13 | 2020-08-04 | 同济大学建筑设计研究院(集团)有限公司 | 三维模型剖切处理方法、装置、计算机设备和存储介质 |
CN111489450B (zh) * | 2020-04-13 | 2023-10-31 | 同济大学建筑设计研究院(集团)有限公司 | 三维模型剖切处理方法、装置、计算机设备和存储介质 |
CN112749436A (zh) * | 2021-01-15 | 2021-05-04 | 广联达科技股份有限公司 | 楼板间的板缝模型的构建方法、装置、设备和存储介质 |
CN112749436B (zh) * | 2021-01-15 | 2024-04-12 | 广联达科技股份有限公司 | 楼板间的板缝模型的构建方法、装置、设备和存储介质 |
CN113712696B (zh) * | 2021-08-27 | 2022-12-06 | 广东中科安齿生物科技有限公司 | 种植固定桥接口精加工方法 |
CN113712696A (zh) * | 2021-08-27 | 2021-11-30 | 佛山市安齿生物科技有限公司 | 种植固定桥接口精加工方法 |
CN114043727A (zh) * | 2021-11-12 | 2022-02-15 | 深圳拓竹科技有限公司 | 3d打印的方法和装置、存储介质以及程序产品 |
CN113946987A (zh) * | 2021-12-20 | 2022-01-18 | 浙江闪铸三维科技有限公司 | 一种基于模型相似性的3d模型嵌套摆放方法 |
CN113946987B (zh) * | 2021-12-20 | 2022-03-22 | 浙江闪铸三维科技有限公司 | 一种基于模型相似性的3d模型嵌套摆放方法 |
CN116021770B (zh) * | 2022-11-17 | 2023-09-19 | 中国人民解放军国防科技大学 | 一种挤出式生物3d打印几何缺陷的评价方法及系统 |
CN116021770A (zh) * | 2022-11-17 | 2023-04-28 | 中国人民解放军国防科技大学 | 一种挤出式生物3d打印几何缺陷的评价方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107610230B (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107610230A (zh) | 一种3d打印数字模型剖切及接口设计方法及应用 | |
CN108595858B (zh) | 基于bim的轻量化深度处理工作方法 | |
CN103679807B (zh) | 一种带边界约束的散乱点云重构方法 | |
CN107610061B (zh) | 一种基于二维投影的保边点云孔洞修补方法 | |
CN109377561A (zh) | 一种基于共形几何的数模表面网格生成方法 | |
CN107256557A (zh) | 一种误差可控的细分曲面图像矢量化方法 | |
CN112418030B (zh) | 一种基于三维点云坐标的头面部号型分类方法 | |
CN107680168B (zh) | 三维重建中基于平面拟合的网格简化方法 | |
CN101833666A (zh) | 一种对离散点云数据微分几何量的估计方法 | |
CN107038308B (zh) | 一种基于线性内插的规则格网地形建模方法 | |
CN107730587A (zh) | 一种基于图片快速三维化交互式建模方法 | |
CN107886569A (zh) | 一种基于离散李导数的测度可控的曲面参数化方法及系统 | |
Leonowicz et al. | Automated reduction of visual complexity in small-scale relief shading | |
CN104166992B (zh) | 基于网格变形的内容感知双目图像缩放方法 | |
CN107967675A (zh) | 一种基于自适应投影移动最小二乘的结构化点云去噪方法 | |
CN109102535B (zh) | 一种基于构件提取的室内场景重建方法 | |
CN110569532B (zh) | 一种室内边界要素矩形的拓扑一致性优化方法 | |
CN107895398B (zh) | 结合视觉显著性的浮雕编辑方法 | |
Sun et al. | Automatic quadrilateral mesh generation and quality improvement techniques for an improved combination method | |
Melero et al. | On the Interactive 3D Reconstruction of Iberian Vessels. | |
CN107248163A (zh) | 一种面向旋转对称瓷器的纹饰展开图的自动生成方法 | |
CN114219921A (zh) | 一种基于可视点和rbf插值的悬垂曲面建模方法 | |
CN115186347A (zh) | 户型平面图与倾斜模型相结合的建筑物CityGML建模方法 | |
Lesparre et al. | Simplified 3D city models from LiDAR | |
Krishnamoorthy et al. | Meshing by successive superelement decomposition (MSD)—A new approach to quadrilateral mesh generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |