一种利用软件主动式保存和恢复打印状态的方法及系统与流程

文档序号:11063324阅读:426来源:国知局
一种利用软件主动式保存和恢复打印状态的方法及系统与制造工艺

本发明涉及3D打印技术领域,尤其是涉及一种利用软件主动式保存和恢复打印状态的方法及系统。



背景技术:

3D打印的基本原理是将要打印的物体划分为若干层,按层进行打印,每层有一定的厚度,所有的层堆积起来就形成要打印的物体。3D打印机的喷头是沿着软件计算好的轨迹运行并喷出熔融材料打印出每一层,当完成一层的打印后,打印平台会下降一层或者打印头会上升一层,进行新的一个层的打印,直到物体完成。

现代3D打印机都是通过电能驱动,打印过程中可能遇到各种随机断电情况,如果正在工作中的打印机没有断电续打的功能,软件系统会突然停止工作,无法记录打印状态,此时,喷头可能停止在某一层的一个位置,即使来电后,由于没有保存打印状态,打印机也无法从喷头停止的位置恢复打印,只能把物体整个重新再打印一遍,会造成停电前已经打印的物料浪费。

如果要解决这个问题,现在的打印机只有两种处理办法,一种方法是通过提供专用独立电源供电,避免停电。第二种方法是在打印机中添加UPS电源,通过检测外部电源情况,如果外部电源断电则会利用打印机的UPS电源提供的一定时间的电量让打印机对现在的打印状态进行保存,打印机再进入待机状态等待停电,来电后再从喷头停止的位置继续打印。无论是通过提供专用独立电源供电还是添加UPS电源,都需要增加电源硬件,增加打印机硬件成本。

一种3D打印机及其断电续打的控制方法,采用储能模块向控制模块供电,控制模块在断电状态时,记录挤出喷头的位置信息,采用断电检测模块监测是否断电,当恢复供电时,检测到断电标记则将挤出喷头恢复至断电时的位置并继续打印。该方案只能被动保存打印状态,在监测到断电时,才记录喷头位置信息,因此需要断电检测的装置,还需要储能装置进行供电以供控制模块在断电时候进行记录喷头位置信息,断电检测的装置和储能装置增加了打印机硬件成本,不适合应用于低端机型和普及推广。

如果利用软件方法主动实时保存打印喷头的位置信息和待打印文件的数据位置,在断电后恢复供电时,再提取断电时实时保存的位置信息和数据位置,即可实现准确恢复断电时的打印状态并继续打印,这种方案虽然不需要添加专用硬件,但是需要实时保存,保存的次数多,而且保存的位置信息和数据位置复杂,导致存储数据量很大,有可能损坏控制主板的硬件,造成系统老化、耗损。



技术实现要素:

本发明的目的在于克服上述技术不足,提出一种利用软件主动式保存和恢复打印状态的方法及系统,解决现有技术的断电续打方法中,被动式保存打印状态时,需要增加硬件成本,而一般的主动式保存打印状态时,需保存的数据量较大,会损耗硬件的技术问题。

为达到上述技术目的,本发明的技术方案提供一种利用软件主动式保存和恢复打印状态的方法,其中包括:

S1、打印待打印文件:执行所述待打印文件对应的打印代码,同时,生成空的临时文件,打印代码由多个代码段以及在打印代码末端的删除代码组成,执行所述一代码段可对应的打印出物体的一层,所述不同的层对应不同的层高;

S2、获取所述待打印文件的文件名,获取正在打印的层的所述层高,将获取的所述文件名和所述层高写入空的临时文件中;

S3、每当一层打印完毕开始打印下一层时,获取下一层的所述层高,并将所述临时文件中存储的所述层高替换成获取的下一层的所述层高;

S4、如果所述待打印文件打印完成,识别并执行打印代码末端的所述删除代码,删除所述临时文件;

S5、如果打印机重新启动,则查找所述临时文件并获取所述临时文件中存储的所述文件名和所述层高,由S5中获取的所述文件名查找对应的所述待打印文件,然后获取所述待打印文件对应的所述打印代码,再查找所述打印代码中S5中获取的所述层高对应的层的代码段及该代码段之后的所有代码;

S6、执行S5中获取的代码段和该代码段之后的所有代码,对S5中获取的所述层高对应的层重新打印,对S5中获取的所述层高对应的层之后的层进行打印。

一种利用软件主动式保存和恢复打印状态的系统,其中,包括:

执行与生成模块:执行所述待打印文件对应的打印代码,同时,生成空的临时文件,打印代码由多个代码段以及在打印代码末端的删除代码组成,执行所述一代码段可对应的打印出物体的一层,所述不同的层对应不同的层高;

写入模块:获取所述待打印文件的文件名,获取正在打印的层的所述层高,将获取的所述文件名和所述层高写入空的临时文件中;

替换模块:每当一层打印完毕开始打印下一层时,获取下一层的所述层高,并将所述临时文件中存储的所述层高替换成获取的下一层的所述层高;

删除模块:如果所述待打印文件打印完成,识别并执行打印代码末端的所述删除代码,删除所述临时文件;

查找与获取模块:如果打印机重新启动,则查找所述临时文件并获取所述临时文件中存储的所述文件名和所述层高,由查找与获取模块中获取的所述文件名查找对应的所述待打印文件,然后获取所述待打印文件对应的所述打印代码,再查找所述打印代码中查找与获取模块中获取的所述层高对应的层的代码段及该代码段之后的所有代码;

重新打印模块:执行查找与获取模块中获取的代码段和该代码段之后的所有代码,对查找与获取模块中获取的所述层高对应的层重新打印,对查找与获取模块中获取的所述层高对应的层之后的层进行打印。

与现有技术相比,本发明的有益效果包括:生成临时文件,在临时文件中保存待打印文件的文件名和正在打印的层的层高,并在打印下一层时,用下一层的层高替换临时文件中的层高,仅需要主动保存文件名和层高,不需要实时保存复杂的喷头位置信息和待打印文件的数据位置,需要保存的数据量很小,对硬件耗损小;在恢复供电打印机重新启动时,查找并获取临时文件中的文件名、层高,并由此获得断电时喷头所在层及之后的层对应的代码,执行该代码将物体打印完成,利用软件方法主动保存断电时打印状态并恢复打印,不需要添加额外的硬件设备,节约硬件成本,适宜于应用在低端打印机型,有利于推广普及。

附图说明

图1是本发明提供的一种利用软件主动式保存和恢复打印状态的方法流程图;

图2是本发明提供的一种利用软件主动式保存和恢复打印状态的系统结构框图。

附图中:1、利用软件主动式保存和恢复打印状态的系统,11、执行与生成模块,12、写入模块,13、替换模块,14、删除模块,15、查找与获取模块,16、重新打印模块。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

3D打印的基本原理是将要打印的物体划分为若干层,按层进行打印,每层有一定的厚度,所有的层堆积起来就形成要打印的物体。3D打印机的喷头是沿着软件计算好的轨迹运行并喷出熔融材料打印出每一层,当完成一层的打印后,打印平台会下降一层或者打印头会上升一层,进行新的一个层的打印,直到物体完成。

假设标记A的位置为某层设定的打印起点,标记B的位置为该层设定的打印终点,打印喷头从A位置沿计算好的轨迹打印到C位置,C位置介于A位置和B位置之间,此时突然断电,打印喷头停止在C位置,A位置到C位置为该层打印完成的区域,有已成型材料,C位置到B位置为该层未打印的区域。

经过物理实验,如果对断电时喷头停止在的该层重新打印,即从位置A开始再次打印到位置B,打印喷头经过AC已打印区域后,AC已打印区域及已打印物体并不会出现损坏,因为熔融特性以及单层层高较低,单层层高往往低于0.3mm,所以高温会将已打印过的材料再次融化,此处会有少许材料溢出,但可在物体打印完成后进行处理,而重新打印的层可以与原来未打印完成的层结合完整,与直接打印无明显区别。假如打印喷头从A位置开始打印,较短时间后发生断电,AC已打印区域较小,此时对AC已打印区域重新打印,打印材料的溢出很少,几乎不需要处理。

本发明提供一种利用软件主动式保存和恢复打印状态的方法,其中,包括:

S1、打印待打印文件:执行待打印文件对应的打印代码,同时,生成空的临时文件,打印代码由多个代码段以及在打印代码末端的删除代码组成,执行一代码段可对应的打印出物体的一层,不同的层对应不同的层高;

S2、获取待打印文件的文件名,获取正在打印的层的层高,将获取的文件名和层高写入空的临时文件中;

S3、每当一层打印完毕开始打印下一层时,获取下一层的层高,并将临时文件中存储的层高替换成获取的下一层的层高;

S4、如果待打印文件打印完成,识别并执行打印代码末端的删除代码,删除临时文件;

S5、如果打印机重新启动,则查找临时文件并获取临时文件中存储的文件名和层高,由S5中获取的文件名查找对应的待打印文件,然后获取待打印文件对应的打印代码,再查找打印代码中S5中获取的层高对应的层的代码段及该代码段之后的所有代码;

S6、执行S5中获取的代码段和该代码段之后的所有代码,对S5中获取的层高对应的层重新打印,对S5中获取的层高对应的层之后的层进行打印。

本发明所述的一种利用软件主动式保存和恢复打印状态的方法,步骤S1包括:

执行一代码段可对应的打印出物体的一层,每一层都有一定的厚度,不同的层的层高不同。

本发明所述的一种利用软件主动式保存和恢复打印状态的方法,步骤S2包括:

第一次获取的正在打印的层的层高为第一层的层高。

本发明所述的利用软件主动式保存和恢复打印状态的方法,步骤S3包括:

临时文件存储的层高改变时,进行一次保存操作;

临时文件中保存的层高随着喷头打印的层的变化而更新,当发生断电时,临时文件中保存的层高为断电时喷头停止所在的层的层高。

本发明所述的利用软件主动式保存和恢复打印状态的方法,步骤S5、S6包括:

如果打印机断电后再次启动,则查找临时文件,查找临时文件失败时,说明待打印文件已经打印完成,临时文件已经被删除,此时不进行续打;

当查找临时文件成功时,说明待打印文件并未打印完成,则获取临时文件中存储的文件名和层高,该层高为断电时喷头停止在的层的层高,由文件名查找待打印文件,由待打印文件获取打印代码,由获取的层高和打印代码获取断电时喷头停止在的层及之后的层的对应的代码并进行打印;在打印完成,识别到删除代码后,删除临时文件,待打印文件续打完成。

本发明提供一种利用软件主动式保存和恢复打印状态的系统1,其中,包括:

执行与生成模块11:执行待打印文件对应的打印代码,同时,生成空的临时文件,打印代码由多个代码段以及在打印代码末端的删除代码组成,执行一代码段可对应的打印出物体的一层,不同的层对应不同的层高;

写入模块12:获取待打印文件的文件名,获取正在打印的层的层高,将获取的文件名和层高写入空的临时文件中;

替换模块13:每当一层打印完毕开始打印下一层时,获取下一层的层高,并将临时文件中存储的层高替换成获取的下一层的层高;

删除模块14:如果待打印文件打印完成,识别并执行打印代码末端的删除代码,删除临时文件;

查找与获取模块15:如果打印机重新启动,则查找临时文件并获取临时文件中存储的文件名和层高,由查找与获取模块15中获取的文件名查找对应的待打印文件,然后获取待打印文件对应的打印代码,再查找打印代码中查找与获取模块15中获取的层高对应的层的代码段及该代码段之后的所有代码;

重新打印模块16:执行查找与获取模块15中获取的代码段和该代码段之后的所有代码,对查找与获取模块15中获取的层高对应的层重新打印,对查找与获取模块15中获取的层高对应的层之后的层进行打印。

本发明所述的利用软件主动式保存和恢复打印状态的系统1,替换模块13:

临时文件存储的层高改变时,进行一次保存操作。

本发明所述的利用软件主动式保存和恢复打印状态的系统1,查找与获取模块15:

如果打印机断电后再次启动,则查找临时文件,查找临时文件失败时,不进行其他操作。

本发明所述的利用软件主动式保存和恢复打印状态的系统1,重新打印模块16:

执行查找与获取模块15中获取的代码段和该代码段之后的所有代码,识别到删除代码后,删除临时文件。

本发明所述的一种利用软件主动式保存和恢复打印状态的方法及系统在使用过程中,首先执行待打印文件对应的打印代码,同时,生成空的临时文件,打印代码由多个代码段以及在打印代码末端的删除代码组成,执行一代码段可对应的打印出物体的一层,不同的层对应不同的层高;获取待打印文件的文件名,获取正在打印的层的层高,将获取的文件名和层高写入空的临时文件中;每当一层打印完毕开始打印下一层时,获取下一层的层高,并将临时文件中存储的层高替换成获取的下一层的层高;如果待打印文件打印完成,识别并执行打印代码末端的删除代码,删除临时文件;如果打印机重新启动,则查找临时文件并获取临时文件中存储的文件名和层高,由获取的文件名查找对应的待打印文件,然后获取待打印文件对应的打印代码,再查找打印代码中获取的层高对应的层的代码段及该代码段之后的所有代码;执行获取的代码段和该代码段之后的所有代码,对临时文件中获取的层高对应的层重新打印,对临时文件中获取的层高对应的层之后的层进行打印。

与现有技术相比,本发明的有益效果包括:生成临时文件,在临时文件中保存待打印文件的文件名和正在打印的层的层高,并在打印下一层时,用下一层的层高替换临时文件中的层高,仅需要主动保存文件名和层高,不需要实时保存复杂的喷头位置信息和待打印文件的数据位置,需要保存的数据量很小,对硬件耗损小;在恢复供电打印机重新启动时,查找并获取临时文件中的文件名、层高,并由此获得断电时喷头所在层及之后的层对应的代码,执行该代码将物体打印完成,利用软件方法主动保存断电时打印状态并恢复打印,不需要添加额外的硬件设备,节约硬件成本,适宜于应用在低端打印机型,有利于推广普及。

以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1