3d打印c语言与g代码混合编程,一种CT切片直接转换成3D打印G代码的方法与流程

cf599667a069ab9875bb04c242e866c0.gif

本发明涉及3D打印领域,具体是一种CT切片直接转换成3D打印G代码的方法。

背景技术:

目前,工业CT与3D打印的集成路径主要有2条:1)工业CT切片图像→CAD模型→STL文件→3D打印数据,该方式中3维CAD模型重构占反求时间的90%~95%,而数字化扫描只占5%~10%,同时STL文件的轮廓信息有大量的冗余数据甚至错误;2)工业CT切片图像→STL文件→3D打印数据,该方式虽然不用进行CAD建模,但却无法避免STL文件的缺陷。

技术实现要素:

本发明的目的是解决现有技术中存在的问题。

为实现本发明目的而采用的技术方案是这样的,一种CT切片直接转换成3D打印G代码的方法,主要包括以下步骤:

1)获取待3D打印对象的若干CT切片图像。

2)对每个CT切片图像进行预处理,从而获取切片图像的几何信息。

所述几何信息主要包括实体、外轮廓、内轮廓、片段和点集。其中实体由内轮廓和外轮廓组成。内轮廓和外轮廓由片段组成。片段由若干点组成。

3)对相邻的切片图像进行实体匹配。

实体匹配的方法是计算相邻的切片的重合度。实体匹配包括一对一、一对二、或一对多匹配。

4)对相邻的切片图像进行外轮廓匹配和内轮廓匹配。匹配完成后,判断相邻切片图像是否存在分叉,若存在,则转入步骤5,若不存在,则跳转至步骤6。

内轮廓或外轮廓匹配时,以树结构记录轮廓。树的深度表示轮廓的嵌套关系。

内轮廓或外轮廓匹配包括一对一、一对二、或一对多匹配。

判断是否存在分叉的方法为:判断相邻切片图像的对应关系是否为一对一,若是,则不存在分叉,若否,则存在分叉。

5)对具有分叉的相邻切片图像进行分叉匹配,使相邻切片图像为一对一的对应关系。

分叉匹配的方法如下:

I)把相邻切片图像实体的内轮廓和外轮廓拆分为片段。

将内轮廓和外轮廓拆分为片段的方法如下:

a)计算外轮廓或内轮廓各点的曲率。

b)曲率相同的点构成一个片段。

II)匹配相邻切片图像片段,从而把切片图像的对应关系由一对二或一对多转换为一对一。

6)对相邻的两层切片图像进行层间插值处理。

7)对每一层数据进行填充和扫描,得到扫描线,并把扫描线编码成用于3D打印的G代码。

本发明的技术效果是毋庸置疑的。本发明针对工业CT和3D打印的特点,实现了由工件工业CT切片图像直接生成用于3D打印的G代码格式文件。本发明有效地避开了样件的3维CAD建模与STL文件的生成,简化了数据处理过程,缩短了反求的周期。本发明采用分割片段的方法,在有效地解决分叉问题的同时,还提高了匹配的精度。本发明对层间轮廓进行线性插值后得到的G代码模型表面过渡比较平滑,提高了3D打印件质量。

附图说明

图1为CT切片直接转换成3D打印G代码的方法流程图;

图2为切片中几何信息示意图;

图3为实体重合度示意图;

图4为轮廓嵌套关系与对应的树形图I;

图5为轮廓嵌套关系与对应的树形图II;

图6为轮廓嵌套关系与对应的树形图III;

图7为片段示意图;

图8为插值处理示意图;

图9为轮毂切片的G代码转换过程示意图。

具体实施方式

下面结合实施例对本发明作进一步说明,但不应该理解为本发明上述主题范围仅限于下述实施例。在不脱离本发明上述技术思想的情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的保护范围内。

实施例1:

参见图1,一种CT切片直接转换成3D打印G代码的方法,主要包括以下步骤:

1)获取待3D打印对象的若干CT切片图像。

2)对每个CT切片图像进行预处理,从而获取切片图像的几何信息。

所述几何信息主要包括实体、外轮廓、内轮廓、片段和点集。其中实体由内轮廓和外轮廓组成。内轮廓和外轮廓由片段组成。片段由若干点组成。几何信息如图2所示。

3)对相邻的切片图像进行实体匹配。

实体匹配的方法是计算相邻的切片的重合度,如图3所示,A、B分别为相邻切片图像的实体,C表示相邻切片图像的重合度。实体匹配包括一对一、一对二、或一对多匹配。

4)对相邻的切片图像进行外轮廓匹配和内轮廓匹配。匹配完成后,判断相邻切片图像是否存在分叉,若存在,则转入步骤5,若不存在,则跳转至步骤6。

内轮廓或外轮廓匹配时,以树结构记录轮廓。树的深度表示轮廓的嵌套关系。例如,图4和图5中,轮廓1内包含轮廓3、轮廓4、轮廓8,轮廓2包括轮廓5、轮廓6、轮廓7、轮廓9,轮廓3内包含轮廓8,轮廓6内包含轮廓9,因此,树形结构如图6所示。

内轮廓或外轮廓匹配包括一对一、一对二、或一对多匹配。

判断是否存在分叉的方法为:判断相邻切片图像的对应关系是否为一对一,若是,则不存在分叉,若否,则存在分叉。

5)对具有分叉的相邻切片图像进行分叉匹配,使相邻切片图像为一对一的对应关系。

I)把相邻切片图像实体的内轮廓和外轮廓拆分为片段。

将内轮廓和外轮廓拆分为片段的方法如下:

a)计算外轮廓或内轮廓各点的曲率。

b)曲率相同的点构成一个片段。

II)匹配相邻切片图像片段,从而把切片图像的对应关系由一对二或一对多转换为一对一。

6)对相邻的两层切片图像进行层间插值处理。如图8所示,U表示上层切片图像,B表示下层切片图像,U表示线性插值。

7)对每一层数据进行填充和扫描,得到扫描线,并把扫描线编码成用于3D打印的G代码。

实施例2:

一种CT切片直接转换成3D打印G代码方法打印轮毂的实验,主要步骤如下:

1)获取轮毂的若干CT切片图像。

2)对每个CT切片图像进行预处理,从而获取切片图像的几何信息。

3)对相邻的切片图像进行实体匹配。

4)对相邻的切片图像进行外轮廓匹配和内轮廓匹配。匹配完成后,判断相邻切片图像是否存在分叉,若存在,则转入步骤5,若不存在,则跳转至步骤6。

5)对具有分叉的相邻切片图像进行分叉匹配,使相邻切片图像为一对一的对应关系。

I)把相邻切片图像实体的内轮廓和外轮廓拆分为片段,如图7所示。

II)匹配相邻切片图像片段,从而把切片图像的对应关系由一对二或一对多转换为一对一。

6)对相邻的两层切片图像进行层间插值处理。

7)对每一层数据进行填充和扫描,得到扫描线,并把扫描线编码成用于3D打印的G代码,如图9所示。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值