首页> 中国专利> 一种基于纹理贴图的全彩色3D打印机控制方法

一种基于纹理贴图的全彩色3D打印机控制方法

摘要

本发明涉及一种基于纹理贴图的全彩色3D打印机控制方法,该控制系统针对FDM工艺的、使用双喷头的全彩色3D打印机进行设计,全彩色3D打印机具有打印喷头和喷墨喷头分别用于基材打印和轮廓上色。本发明的控制方法主要包括轨迹文件的分割处理;偏置彩色截面轮廓,获得一定厚度的彩色轮廓;精确匹配基材位置坐标与彩色截面轮廓的位置,确保像素在打印平台上的位置精度;向全彩色3D打印机的下位机按层交替发送轨迹文件和全彩色截面轮廓图像,实现逐层打印,逐层上色功能。

著录项

  • 公开/公告号CN112721145A

    专利类型发明专利

  • 公开/公告日2021-04-30

    原文格式PDF

  • 申请/专利权人 中国科学院沈阳自动化研究所;

    申请/专利号CN201910972379.5

  • 发明设计人 田同同;李论;赵吉宾;周波;

    申请日2019-10-14

  • 分类号B29C64/118(20170101);B29C64/393(20170101);B33Y50/02(20150101);G06K9/00(20060101);G06T15/04(20110101);G06T15/06(20110101);

  • 代理机构21002 沈阳科苑专利商标代理有限公司;

  • 代理人许宗富

  • 地址 110016 辽宁省沈阳市沈河区南塔街114号

  • 入库时间 2023-06-19 10:49:34

说明书

技术领域

本发明涉及3D打印机,具体地说是一种基于纹理贴图的全彩色3D打印机控制方法。

背景技术

随着3D打印技术的发展,3D打印在越来越多的领域广泛应用,与此同时,在各个领域内3D打印技术也进行了更加深度的研究与实验,进一步促进了3D 打印机技术的快速发展。近几年,在设计等领域要求3D打印机能够在打印的同时对模型进行喷墨上色,最终完成全彩色3D模型。

现阶段要通过FDM工艺的3D打印的方式获得彩色三维模型有以下几种方法: 1.先打印出单色模型,后期通过人工手动上色;2.使用单一的、彩色的线材,打印出的模型虽然是彩色,但是彩色出现的位置是不受控制的,具有随机性; 3.使用多个单一颜色的线材,根据颜色的混合理论将这些单色的线材在打印头中根据比例,严格控制各种颜色的流量进行混色,这样从打印头挤出的基材也是彩色的。这三种方法的缺点也是很明显的:第一种方法费时费力,而且严重依赖于操作者的熟练程度;第二种方法根本无法按照设计意图打印出颜色匹配的三维模型;第三种方法不仅需要单独设计挤出头,还要精确控制基材流量,不仅技术难度非常大,而且混色效果严重依赖线材颜色。

要实现全彩色3D打印必须对现有的控制系统进行改进和创新,让控制系统能够直接控制颜色像素信息是全彩色3D打印机的核心所在。

发明内容

本发明的目的在于解决以上技术缺陷,本发明提供一种基于纹理贴图的全彩色3D打印控制方法。所采用的技术方案是:基于纹理贴图的全彩色3D打印机控制方法,包括以下步骤:

A.读取包含彩色截面轮廓坐标的G代码文件,按关键字以层为单位进行分割,逐层生成若干子文件;

B.逐层识别当前彩色截面中各轮廓的内外关系,根据内外轮廓的不同选择偏置方向、偏置厚度,求解偏置后的彩色截面轮廓坐标,附加颜色信息生成用于上色的彩色截面轮廓图像;

C.向全彩色3D打印机的下位机按层交替发送G代码文件和全彩色截面轮廓图像,用于交替驱动全彩色3D打印机的打印头和喷墨头分别进行基材的打印和轮廓的上色。

所述关键字为G代码中该层的段首和段尾标识。

所述步骤B包括:

B1.采用“射线跟踪法”对当前截面各个轮廓的包容识别关系;对当前截面的各个轮廓建立基于包容关系的树状结构;遍历轮廓树,查找轮廓在树状结构中的深度,识别该轮廓是内轮廓或外轮廓;

B2.按照“内轮廓向外偏置,外轮廓向内偏置”的原则,在偏置前后轮廓之间以设定的偏置厚度对轮廓进行偏置处理;

B3.求解偏置后的彩色截面轮廓坐标;

B4.对偏置后的轮廓添加颜色信息。

所述采用“射线跟踪法”对当前截面各个轮廓的包容识别关系,包括:

过当前截面的任一轮廓线C在y轴方向上的极小值点P做水平射线,记录射线与其它轮廓线交点个数;

若射线与其它轮廓线交点个数为偶数,则轮廓线C即为父节点轮廓线;若射线与其它轮廓线交点个数为奇数,则其它轮廓线交点的水平坐标值最小的点所在的轮廓线即为轮廓线C的子节点轮廓;

按照上述步骤遍历当前截面层的各个轮廓,找到各个轮廓的父子包容位置关系。

所述树状结构为根据父节点轮廓和子节点轮廓建立的父子分层树状关系。

所述求解偏置后的彩色截面轮廓坐标包括:

由于切片后形成的轮廓是封闭多边形,偏置后形成的轮廓也是封闭多边形,因此求出每个多边形交线的等距线、并计算交点,得到偏置后的轮廓坐标。

所述求出每个多边形交线的等距线、并计算交点,包括:

设已知点v

建立临时坐标系,在轮廓的任意一顶点v

其中:

假设R是偏置距离,则偏置后的向量L

由于L

本发明具有以下有益效果及优点:

1.硬件实现简单:无需设计复杂的打印头,只需要添加一个普通的彩色喷墨头即可完成截面轮廓的上色功能。

2.稳定性好:本发明上色过程完全自动化,无需人工的干预。

3.可控性好:截面的颜色严格按照设计模型生成,打印出的模型完全符合设计意图。

附图说明

图1为本发明的方法流程图。

图2为分割G代码文件的流程图。

图3为内外轮廓快速识别原理图。

图4为轮廓线包容识别示意图。

图5为内外轮廓偏置方向示意图。

图6为计算偏置后轮廓顶点的示意图。

图7为偏置后获取各顶点颜色示意图。

图8为通信模块流程图。

具体实施方式

下面结合附图及实施例对本发明做进一步的详细说明。

参照图1,一种基于纹理贴图的全彩色3D打印控制方法,包括:

A正确读取G代码文件,按关键字以层为单位进行分割,生成若干子文件;

B将彩色截面轮廓偏置,根据内外轮廓的不同,选择的偏置方向也不同,最终获得具有一定厚度的彩色截面轮廓图像;

C向全彩色3D打印机的下位机按层交替发送G代码文件和全彩色截面轮廓图像,交替驱动全彩色3D打印机的打印头和喷墨头分别进行基材的打印和轮廓的上色。

三维模型经过分层切片软件处理后生成的G代码文件通常是一个整体文件,因此要实现“逐层打印,逐层上色”的功能,需要将这一个整体的文件按层分割成若干子文件。参照图2,所述步骤A中包括:

A1、通过文件名后缀检查纹理贴图三维模型文件的文件格式(.gcode)是否正确,如果正确,逐行读入文件内容;

A2、判断是否到达文件末尾,如果没到达末尾则继续读取,否则结束;

A3、判断行首关键字,如果是layer NUM格式,其中NUM为0,1,2…等数字,则新建一个子文件,命名为NUM.gcode;

A4、继续读取下一行,判断是到达本层末尾,即layer end关键字,如果没到本行末尾,则将本行添加到NUM.gcode文件末尾,否则读取下一行,继续执行步骤A2~A4.

所述步骤B,包括:

B1、识别内外截面轮廓,其基本原理是利用轮廓之间的关系进行内外轮廓区分,参照图3(a)所示是某一层的截面轮廓,将各轮廓线间的位置关系表示为如图3(b)所示的关系树中。从图中可以观察得知:处于关系树偶数层的轮廓线是外轮廓线,处于奇数层的是内轮廓线,即偶数层的子节点。图3(a)中,轮廓截面图它们的外轮廓线为a,g,h,d,内轮廓线为b,c,e,f,i。

基于以上原理,提出一种内外轮廓线快速识别算法,该算法首先对轮廓线进行包容识别,根据识别后的位置关系构建轮廓关系树,最后遍历轮廓关系树进行内外轮廓线区分。所以本算法包括以下三大步骤:

B1.1轮廓线的包容识别:采用类似“射线跟踪法”的方式进行包容识别,参照图4,过轮廓线C在y轴方向上的极小值点P做水平射线,记录射线和其它轮廓线交点个数,当射线与其它轮廓线交点个数为偶数时,应删除这些交点。此时找出射线与各个轮廓线交点横坐标最小值点x

B1.2轮廓关系树的构建:基本思想是首先找到该层截面轮廓的所有轮廓线的y坐标最小的点;过该点做水平射线,记录交点的x坐标,并按由小到大排序,并记录交点所在的轮廓线;如果射线和轮廓线交点个数为偶数,则删除交点,最后计算交点数;若没有交点,则该轮廓线没有父轮廓,若有交点,则x 坐标值最小的点所在的轮廓线即为其父轮廓。具体算法如下:

输入:切片产生的轮廓序列c

输出:具有拓扑关系的轮廓;

Step1过轮廓c

Step2计算射线与轮廓c

Step3计算射线和c

Step4若和c

Step5当交点个数为0时,则轮廓c

Step6当交点个数不为0时,则轮廓c

Step7依次执行步骤1-5,直至所有轮廓被处理,算法结束。

B1.3遍历轮廓树进行轮廓识别:构造出轮廓树之后,即可通过遍历轮廓树进行内外轮廓的识别。在遍历过程中,若节点位于偶数层,那么该层的节点所存储所有的轮廓为外轮廓;若节点位于奇数层,则该层的节点所存储的轮廓为内轮廓。根据这个原则,给上述的轮廓树每层一个树深,如图3(b)所示。本文采用树的前序遍历法进行遍历,即先遍历树的根节点,再访问树的子节点。利用前序遍历访问上述轮廓树可得a,g,h,d处于偶数层,则其为外轮廓;轮廓b,c,e,f,i位于奇数层,因此这些轮廓为内轮廓。

B2确定偏置方向,轮廓偏置的最主要的目的是将轮廓沿某个方向偏置一定的距离,这样便在偏移前和偏移后轮廓之间形成了一定的宽度,便于后期对其进行颜色彩绘。参照图5,在正确识别出内外轮廓后,需要按照“外轮廓向内偏置,内轮廓向外偏置”的原则对内外轮廓分别进行偏置处理;

B3求解偏置后轮廓顶点:由于切片后形成的轮廓是封闭多边形,偏置后形成的轮廓也是封闭多边形,根据这个特点,只需求出每个交线的等距线,并计算交点便得到了偏置后的轮廓。参照图6,已知点v

其中:

假设R是偏置距离(厚度),则偏置后的向量L

由于L

这样便求得了偏置后的轮廓交点在原坐标系中的交点坐标,由此偏置后的轮廓的形状和位置便确定了。

B4向轮廓添加颜色信息:

参照图7,颜色信息是根据纹理坐标从三维模型的纹理贴图中获取,由于每个点对应唯一的几何坐标和纹理坐标,因此很容易获取轮廓上每个点的颜色。另外在偏置过程中只有点的几何坐标发生改变,纹理坐标不变,因此偏置后的轮廓的颜色信息也是确定的。

所述步骤C是由控制系统的通信模块来完成的,参照图8,包括:

C1、检查是否已经连接打印机,如果没有则抛出异常。

C2、判断下位机发送的数据,如果是ok则发送第一层的G代码。

C3、第一层G代码发送完毕后向下位机发送M11查询指令,如果返回“ok H:1”信号,开始下发当前层的彩色截面轮廓图像,如果返回的是“ok T:1”信号,开始下发下一层的G代码。

C4、检查是否所有G代码都发送完毕,如果没有则执行C3,直到所有G代码发送完毕。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号