一种3D打印模型的多级体素化实现方法

    专利2026-02-04  2


    本发明涉及一种3d打印模型的多级体素化实现方法。


    背景技术:

    1、在增材制造领域,粘结剂喷射打印技术(binder jetting,bj)、聚合物喷射成型技术(polyjet)等工艺均具有体素级成型的能力,通过喷射装置将微小液滴状态的打印材料阵列排布在打印平面的指定位置处,实现工艺过程中对模型的体素级的控制。3d打印模型通过离散的方式将需要打印的模型进行体素化,生成一个可以精确表达模型的体素点的集合。体素模型的基本单元体素点是模型在三维空间中最小的表达单位,体素中可表达几何位置、颜色、材质和透明度等属性的信息。

    2、现有的体素3d打印模型中,在模型细节表达能力和模型数据体积这两项性能之间往往不能达到很好的平衡,过于密集的体素网格使得3d打印模型空间占用过大,冗余过量的无用体素点;过于粗大的体素网格又难以精确表达3d打印模型表面的轮廓细节特征,也存在着冗余体素点。因此,同时实现体素3d打印模型的精细表达和数据优化极为重要。

    3、因此,本发明提出一种新的3d打印模型多级化体素方法。


    技术实现思路

    1、针对现有技术的不足,本发明拟解决的技术问题是,提供一种3d打印模型的多级体素化方法及基于轮廓识别的扫描线填充方法。

    2、本发明解决所属技术问题采用的技术方案是:

    3、第一方面,本发明提供一种3d打印模型的多级体素化实现方法,该方法包括以下内容:

    4、将原三维模型笛卡尔坐标系转换为体素空间坐标系,对3d打印模型进行分层切片,根据粗级体素尺寸,对分层切片获得的切片轮廓进行离散栅格化,识别模型表面的边界轮廓栅格,得到3d打印模型的粗级表面体素点,获得初始表面体素模型;

    5、设定体素级别上限和体素最小尺寸,每个体素级别对应着相应的体素尺寸大小;

    6、利用扫描线填充算法对各分层切片的内、外轮廓进行内部填充获得内部体素点;

    7、设定有效面积系数k,分别将3d打印模型的各层切片轮廓栅格在x-y平面作分割处理,将轮廓栅格等分为四个子区域,计算切片轮廓在各个子区域中的面积占比,通过面积占比判断该子区域的体素有效性,并对保留的未达到体素最小尺寸的子区域继续进行分割处理,然后将达到体素最小尺寸的失效轮廓体素向模型内部进行扩散,最终获得具有精细表面体素的多级体素模型。

    8、所述将原三维模型笛卡尔坐标系转换为体素空间坐标系的过程是:3d打印模型在分层切片前,将原三维模型笛卡尔坐标系转换为体素空间坐标系的过程中,先求出3d打印模型的最小包围盒,以此求得3d打印模型在x、y、z三个方向上的最小值bxmin、bymin、bzmin,然后将3d打印模型整体平移,令3d打印模型上的所有元素的坐标值分别与之前获得的最小值作差,所求结果即为转换后的体素空间坐标,则处于笛卡尔坐标系第i处元素的体素空间坐标值为:

    9、

    10、其中分别为第i处元素在体素空间中坐标的x、y、z值,分别为第i处元素在笛卡尔坐标系中坐标的x、y、z值。

    11、所述粗级体素尺寸是基于体素最大分辨率进行设定,设定粗级体素的体素尺寸的长、宽、高为lt×wt×ht,体素级别数值上从0开始取值,将粗级体素的体素级别设定为0,后续每一次体素尺寸分割会使体素级别数值上加1,每个体素级别对应着相应的体素尺寸大小,根据公式(2)求得任意体素级别的体素尺寸:

    12、

    13、其中rr为当前该体素所处的体素级别对应的数值,lr、wr、hr分别为当前体素级别下的体素尺寸的长、宽、高。

    14、所述的扫描线填充算法包括:通过切片轮廓线段栅格化获得所有栅格点,同时采用图像识别的方法对切片轮廓进行处理,通过边缘检测或阈值化处理的方式分辨内、外轮廓;将外轮廓所占据的对应栅格标记为外轮廓体素on,n为该栅格所在的第n个外轮廓环,体素元素值记为n+1;内轮廓所占据的对应栅格标记为内轮廓体素im,m为该栅格所在的第m个内轮廓环,体素元素值记-m-1;

    15、切片轮廓完全处理后,利用扫描线进行内部体素填充,以一个粗级体素的宽度wt作为x方向扫描线的间距,向y方向依次进行x方向扫描线填充,对在一条扫描线上体素元素值为-1和体素元素值为-2的两个栅格之间的体素元素值记为1,记为1的均作为内部体素,在全部扫描线填充完成后,其余体素元素值为空的栅格的体素元素值记为0,作为外部体素,实现填充。

    16、所述x-y平面分割处理的过程是:

    17、将轮廓粗级体素以对边中点的连线作为分割线,将轮廓栅格在x-y平面上划分出4个相同大小的新栅格子区域,即一个粗级体素被细分为4个相同尺寸的精细子体素,对4个新子区域再次进行x-y平面轮廓相交检测,分成不包含轮廓的精细子体素和包含轮廓的精细子体素,若不包含轮廓的精细子体素属于模型的内部,则精细子体素转换为内部体素,体素元素值标记为1,若不包含轮廓的精细子体素属于模型的外部,不包含轮廓的外部精细子体素转换为外部体素,体素元素值标记为0;

    18、对包含轮廓的精细子体素中的全部有效多边形面积进行累加,若其结果大于当前体素x-y面积和有效面积系数k的乘积结果,则对精细子体素进行尺寸大小的判断,确定当前体素级别,若当前体素的体素级别不为设定的体素级别上限,则对其进一步精细体素处理,直至体素尺寸达到体素最小尺寸时停止,获得有效部分的轮廓体素;若其结果小于当前体素x-y面积和有效面积系数k的乘积结果,则该精细子体素为失效体素,以失效体素为中心向模型内部体素进行扩散,也就是说与失效体素相邻最近的所有内部体素均转化为轮廓体素。

    19、不包含轮廓的精细子体素属于模型的内部或外部的判断过程是:

    20、若不包含轮廓的精细子体素的四邻接体素情况中,存在有体素元素值为0的体素、4个体素元素值均大于1和有4个体素元素值均相同的三种情况之一,则该精细子体素为外部体素,体素元素值记为0;若不包含轮廓的精细子体素的四邻接体素情况中,不存在以上三种四邻接体素情况,则该精细子体素为内部体素,体素元素值记为1。

    21、包含轮廓的精细子体素的全部有效多边形面积的累加和结果与当前体素x-y面积和有效面积系数k的乘积结果大小比较的判断过程是:

    22、切片轮廓栅格中会围成一个或多个多边形,对x-y平面内的围成的多边形区域依次记录标号,将相邻两条交线段的法向量投影的反向相交区域记为有效围成面积区域sj,j为所属的区域标号;获取有效围成区域中的全部顶点坐标信息,计算其轮廓交线段与体素的有效边在子区域内所围成的多边形面积,针对存在的每一个多边形面积s均按照以下公式计算:

    23、

    24、其中d为有效多边形的顶点数,(xi,yi)为第i个顶点坐标,xd+1=x1,yd+1=y1,s为此多边形面积;

    25、最后将全部有效多边形面积的累加和与当前体素x-y面积和有效面积系数k的乘积作比较,满足公式(5)的条件则为有效轮廓体素,否则为外部体素:

    26、

    27、其中p为有效多边形区域的数量,lr和wr为当前体素级别下的体素尺寸的长和宽。

    28、所述的体素的有效边的确定过程是:

    29、若待判断的包含轮廓的精细子体素的四邻接体素中,存在体素元素值的绝对值比当前轮廓环在所属内轮廓或外轮廓的序号值仅大1,则该邻接体素的邻接边为体素的有效边,否则为空边。

    30、所述的3d打印模型的多级体素化实现方法,还包括同级体素进行超体素聚类融合过程:再对具有精细表面体素的多级体素模型中的同级体素进行超体素聚类融合,将同一切片轮廓中的体素按照其体素中心的x值和y值进行排序,对其中相同体素分辨率的邻接体素进行x方向的融合,x方向完全融合后,再以y方向对相同体素分辨率的邻接体素进行融合,最后对3d打印模型的所有切片层进行z方向的相同体素分辨率的邻接体素融合,获得多级体素模型。

    31、第二方面,本发明提供一种基于轮廓识别的扫描线填充方法,该扫描线填充方法为内外轮廓扫描线填充方法,包括以下内容:

    32、通过切片轮廓线段栅格化获得所有栅格点,同时采用图像识别法对切片轮廓进行处理,通过边缘检测或阈值化处理的方式分辨内、外轮廓,将外轮廓所占据的对应栅格标记为外轮廓体素on,n为该栅格所在的第n个外轮廓环,体素元素值记为n+1;内轮廓所占据的对应栅格标记为内轮廓体素im,m为该栅格所在的第m个内轮廓环,体素元素值记-m-1;

    33、切片轮廓完全处理后,利用扫描线进行内部体素填充,以一个粗级体素的宽度wt作为x方向扫描线的间距,向y方向依次进行x方向扫描线填充,对在一条扫描线上体素元素值为-1和体素元素值为-2的两个栅格之间的体素元素值记为1,记为1的均作为内部体素,在全部扫描线填充完成后,其余体素元素值为空的栅格的体素元素值记为0,作为外部体素,实现填充。

    34、与现有技术相比,本发明的有益效果是:

    35、针对一般的3d打印模型的体素化方法,模型的体素化由统一大小的体素组成,使用统一体素大小的体素化算法对3d打印模型的体素化过程具有较高的时间复杂度,因为随着模型的精细化,体素点大小逐渐减小,这将导致体素模型具有数量庞大的体素点,模型体素化的时间成本和存储成本呈指数增加,计算时间也将大大增加,本发明通过改变体素分辨率,调整体素模型表面轮廓的辨识度,能够大大降低时间复杂度。

    36、本发明针对3d打印模型的特点,对其体素化过程中的内部填充过程进行优化,并针对体素模型表征性能出现的问题提出了解决办法,实现了体素模型的优化表征。


    技术特征:

    1.一种3d打印模型的多级体素化实现方法,其特征在于,该方法包括以下内容:

    2.根据权利要求书1所述的3d打印模型的多级体素化实现方法,其特征在于,所述将原三维模型笛卡尔坐标系转换为体素空间坐标系的过程是:3d打印模型在分层切片前,将原三维模型笛卡尔坐标系转换为体素空间坐标系的过程中,先求出3d打印模型的最小包围盒,以此求得3d打印模型在x、y、z三个方向上的最小值bxmin、bymin、bzmin,然后将3d打印模型整体平移,令3d打印模型上的所有元素的坐标值分别与之前获得的最小值作差,所求结果即为转换后的体素空间坐标,则处于笛卡尔坐标系第i处元素的体素空间坐标值为:

    3.根据权利要求书1所述的3d打印模型的多级体素化实现方法,其特征在于,所述粗级体素尺寸是基于体素最大分辨率进行设定,设定粗级体素的体素尺寸的长、宽、高为lt×wt×ht,体素级别数值上从0开始取值,将粗级体素的体素级别设定为0,后续每一次体素尺寸分割会使体素级别数值上加1,每个体素级别对应着相应的体素尺寸大小,根据公式(2)求得任意体素级别的体素尺寸:

    4.根据权利要求书1所述的3d打印模型的多级体素化实现方法,其特征在于,所述的扫描线填充算法包括:通过切片轮廓线段栅格化获得所有栅格点,同时采用图像识别的方法对切片轮廓进行处理,通过边缘检测或阈值化处理的方式分辨内、外轮廓;将外轮廓所占据的对应栅格标记为外轮廓体素on,n为该栅格所在的第n个外轮廓环,体素元素值记为n+1;内轮廓所占据的对应栅格标记为内轮廓体素im,m为该栅格所在的第m个内轮廓环,体素元素值记-m-1;

    5.根据权利要求书1所述的3d打印模型的多级体素化实现方法,其特征在于,所述x-y平面分割处理的过程是:

    6.根据权利要求书5所述的3d打印模型的多级体素化实现方法,其特征在于,不包含轮廓的精细子体素属于模型的内部或外部的判断过程是:

    7.根据权利要求书5所述的3d打印模型的多级体素化实现方法,其特征在于,包含轮廓的精细子体素的全部有效多边形面积的累加和结果与当前体素x-y面积和有效面积系数k的乘积结果大小比较的判断过程是:

    8.根据权利要求书7所述的3d打印模型的多级体素化实现方法,其特征在于,所述的体素的有效边的确定过程是:

    9.根据权利要求书1所述的3d打印模型的多级体素化实现方法,其特征在于,还包括同级体素进行超体素聚类融合过程:再对具有精细表面体素的多级体素模型中的同级体素进行超体素聚类融合,将同一切片轮廓中的体素按照其体素中心的x值和y值进行排序,对其中相同体素分辨率的邻接体素进行x方向的融合,x方向完全融合后,再以y方向对相同体素分辨率的邻接体素进行融合,最后对3d打印模型的所有切片层进行z方向的相同体素分辨率的邻接体素融合,获得多级体素模型。

    10.一种基于轮廓识别的扫描线填充方法,其特征在于,该扫描线填充方法为内外轮廓扫描线填充方法,包括以下内容:


    技术总结
    本发明为一种3D打印模型的多级体素化实现方法,该方法包括以下内容:对3D打印模型进行分层切片,根据粗级体素尺寸,对分层切片获得的切片轮廓进行离散栅格化,识别模型表面的边界轮廓栅格,得到3D打印模型的粗级表面体素点;设定体素级别上限和体素最小尺寸;利用扫描线填充算法对各分层切片的内、外轮廓进行内部填充获得内部体素点;设定有效面积系数k,分别将3D打印模型的各层切片轮廓栅格在X‑Y平面作分割处理,计算切片轮廓在各个子区域中的面积占比并判断该子区域的体素有效性,并对保留的未达到体素最小尺寸的子区域继续进行分割处理,将达到体素最小尺寸的失效轮廓体素向模型内部进行扩散,获得多级体素模型。能够大大降低时间复杂度。

    技术研发人员:杨伟东,蔡子行
    受保护的技术使用者:河北工业大学
    技术研发日:
    技术公布日:2024/4/29
    转载请注明原文地址:https://wp.8miu.com/read-94684.html

    最新回复(0)