本發(fā)明涉及3D打印技術(shù)領(lǐng)域,尤其是涉及一種利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的方法及系統(tǒng)。
背景技術(shù):
3D打印的基本原理是將要打印的物體劃分為若干層,按層進(jìn)行打印,每層有一定的厚度,所有的層堆積起來就形成要打印的物體。3D打印機(jī)的噴頭是沿著軟件計(jì)算好的軌跡運(yùn)行并噴出熔融材料打印出每一層,當(dāng)完成一層的打印后,打印平臺(tái)會(huì)下降一層或者打印頭會(huì)上升一層,進(jìn)行新的一個(gè)層的打印,直到物體完成。
現(xiàn)代3D打印機(jī)都是通過電能驅(qū)動(dòng),打印過程中可能遇到各種隨機(jī)斷電情況,如果正在工作中的打印機(jī)沒有斷電續(xù)打的功能,軟件系統(tǒng)會(huì)突然停止工作,無法記錄打印狀態(tài),此時(shí),噴頭可能停止在某一層的一個(gè)位置,即使來電后,由于沒有保存打印狀態(tài),打印機(jī)也無法從噴頭停止的位置恢復(fù)打印,只能把物體整個(gè)重新再打印一遍,會(huì)造成停電前已經(jīng)打印的物料浪費(fèi)。
如果要解決這個(gè)問題,現(xiàn)在的打印機(jī)只有兩種處理辦法,一種方法是通過提供專用獨(dú)立電源供電,避免停電。第二種方法是在打印機(jī)中添加UPS電源,通過檢測外部電源情況,如果外部電源斷電則會(huì)利用打印機(jī)的UPS電源提供的一定時(shí)間的電量讓打印機(jī)對現(xiàn)在的打印狀態(tài)進(jìn)行保存,打印機(jī)再進(jìn)入待機(jī)狀態(tài)等待停電,來電后再從噴頭停止的位置繼續(xù)打印。無論是通過提供專用獨(dú)立電源供電還是添加UPS電源,都需要增加電源硬件,增加打印機(jī)硬件成本。
一種3D打印機(jī)及其斷電續(xù)打的控制方法,采用儲(chǔ)能模塊向控制模塊供電,控制模塊在斷電狀態(tài)時(shí),記錄擠出噴頭的位置信息,采用斷電檢測模塊監(jiān)測是否斷電,當(dāng)恢復(fù)供電時(shí),檢測到斷電標(biāo)記則將擠出噴頭恢復(fù)至斷電時(shí)的位置并繼續(xù)打印。該方案只能被動(dòng)保存打印狀態(tài),在監(jiān)測到斷電時(shí),才記錄噴頭位置信息,因此需要斷電檢測的裝置,還需要儲(chǔ)能裝置進(jìn)行供電以供控制模塊在斷電時(shí)候進(jìn)行記錄噴頭位置信息,斷電檢測的裝置和儲(chǔ)能裝置增加了打印機(jī)硬件成本,不適合應(yīng)用于低端機(jī)型和普及推廣。
如果利用軟件方法主動(dòng)實(shí)時(shí)保存打印噴頭的位置信息和待打印文件的數(shù)據(jù)位置,在斷電后恢復(fù)供電時(shí),再提取斷電時(shí)實(shí)時(shí)保存的位置信息和數(shù)據(jù)位置,即可實(shí)現(xiàn)準(zhǔn)確恢復(fù)斷電時(shí)的打印狀態(tài)并繼續(xù)打印,這種方案雖然不需要添加專用硬件,但是需要實(shí)時(shí)保存,保存的次數(shù)多,而且保存的位置信息和數(shù)據(jù)位置復(fù)雜,導(dǎo)致存儲(chǔ)數(shù)據(jù)量很大,有可能損壞控制主板的硬件,造成系統(tǒng)老化、耗損。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服上述技術(shù)不足,提出一種利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的方法及系統(tǒng),解決現(xiàn)有技術(shù)的斷電續(xù)打方法中,被動(dòng)式保存打印狀態(tài)時(shí),需要增加硬件成本,而一般的主動(dòng)式保存打印狀態(tài)時(shí),需保存的數(shù)據(jù)量較大,會(huì)損耗硬件的技術(shù)問題。
為達(dá)到上述技術(shù)目的,本發(fā)明的技術(shù)方案提供一種利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的方法,其中包括:
S1、打印待打印文件:執(zhí)行所述待打印文件對應(yīng)的打印代碼,同時(shí),生成空的臨時(shí)文件,打印代碼由多個(gè)代碼段以及在打印代碼末端的刪除代碼組成,執(zhí)行所述一代碼段可對應(yīng)的打印出物體的一層,所述不同的層對應(yīng)不同的層高;
S2、獲取所述待打印文件的文件名,獲取正在打印的層的所述層高,將獲取的所述文件名和所述層高寫入空的臨時(shí)文件中;
S3、每當(dāng)一層打印完畢開始打印下一層時(shí),獲取下一層的所述層高,并將所述臨時(shí)文件中存儲(chǔ)的所述層高替換成獲取的下一層的所述層高;
S4、如果所述待打印文件打印完成,識別并執(zhí)行打印代碼末端的所述刪除代碼,刪除所述臨時(shí)文件;
S5、如果打印機(jī)重新啟動(dòng),則查找所述臨時(shí)文件并獲取所述臨時(shí)文件中存儲(chǔ)的所述文件名和所述層高,由S5中獲取的所述文件名查找對應(yīng)的所述待打印文件,然后獲取所述待打印文件對應(yīng)的所述打印代碼,再查找所述打印代碼中S5中獲取的所述層高對應(yīng)的層的代碼段及該代碼段之后的所有代碼;
S6、執(zhí)行S5中獲取的代碼段和該代碼段之后的所有代碼,對S5中獲取的所述層高對應(yīng)的層重新打印,對S5中獲取的所述層高對應(yīng)的層之后的層進(jìn)行打印。
一種利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的系統(tǒng),其中,包括:
執(zhí)行與生成模塊:執(zhí)行所述待打印文件對應(yīng)的打印代碼,同時(shí),生成空的臨時(shí)文件,打印代碼由多個(gè)代碼段以及在打印代碼末端的刪除代碼組成,執(zhí)行所述一代碼段可對應(yīng)的打印出物體的一層,所述不同的層對應(yīng)不同的層高;
寫入模塊:獲取所述待打印文件的文件名,獲取正在打印的層的所述層高,將獲取的所述文件名和所述層高寫入空的臨時(shí)文件中;
替換模塊:每當(dāng)一層打印完畢開始打印下一層時(shí),獲取下一層的所述層高,并將所述臨時(shí)文件中存儲(chǔ)的所述層高替換成獲取的下一層的所述層高;
刪除模塊:如果所述待打印文件打印完成,識別并執(zhí)行打印代碼末端的所述刪除代碼,刪除所述臨時(shí)文件;
查找與獲取模塊:如果打印機(jī)重新啟動(dòng),則查找所述臨時(shí)文件并獲取所述臨時(shí)文件中存儲(chǔ)的所述文件名和所述層高,由查找與獲取模塊中獲取的所述文件名查找對應(yīng)的所述待打印文件,然后獲取所述待打印文件對應(yīng)的所述打印代碼,再查找所述打印代碼中查找與獲取模塊中獲取的所述層高對應(yīng)的層的代碼段及該代碼段之后的所有代碼;
重新打印模塊:執(zhí)行查找與獲取模塊中獲取的代碼段和該代碼段之后的所有代碼,對查找與獲取模塊中獲取的所述層高對應(yīng)的層重新打印,對查找與獲取模塊中獲取的所述層高對應(yīng)的層之后的層進(jìn)行打印。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果包括:生成臨時(shí)文件,在臨時(shí)文件中保存待打印文件的文件名和正在打印的層的層高,并在打印下一層時(shí),用下一層的層高替換臨時(shí)文件中的層高,僅需要主動(dòng)保存文件名和層高,不需要實(shí)時(shí)保存復(fù)雜的噴頭位置信息和待打印文件的數(shù)據(jù)位置,需要保存的數(shù)據(jù)量很小,對硬件耗損?。辉诨謴?fù)供電打印機(jī)重新啟動(dòng)時(shí),查找并獲取臨時(shí)文件中的文件名、層高,并由此獲得斷電時(shí)噴頭所在層及之后的層對應(yīng)的代碼,執(zhí)行該代碼將物體打印完成,利用軟件方法主動(dòng)保存斷電時(shí)打印狀態(tài)并恢復(fù)打印,不需要添加額外的硬件設(shè)備,節(jié)約硬件成本,適宜于應(yīng)用在低端打印機(jī)型,有利于推廣普及。
附圖說明
圖1是本發(fā)明提供的一種利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的方法流程圖;
圖2是本發(fā)明提供的一種利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的系統(tǒng)結(jié)構(gòu)框圖。
附圖中:1、利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的系統(tǒng),11、執(zhí)行與生成模塊,12、寫入模塊,13、替換模塊,14、刪除模塊,15、查找與獲取模塊,16、重新打印模塊。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
3D打印的基本原理是將要打印的物體劃分為若干層,按層進(jìn)行打印,每層有一定的厚度,所有的層堆積起來就形成要打印的物體。3D打印機(jī)的噴頭是沿著軟件計(jì)算好的軌跡運(yùn)行并噴出熔融材料打印出每一層,當(dāng)完成一層的打印后,打印平臺(tái)會(huì)下降一層或者打印頭會(huì)上升一層,進(jìn)行新的一個(gè)層的打印,直到物體完成。
假設(shè)標(biāo)記A的位置為某層設(shè)定的打印起點(diǎn),標(biāo)記B的位置為該層設(shè)定的打印終點(diǎn),打印噴頭從A位置沿計(jì)算好的軌跡打印到C位置,C位置介于A位置和B位置之間,此時(shí)突然斷電,打印噴頭停止在C位置,A位置到C位置為該層打印完成的區(qū)域,有已成型材料,C位置到B位置為該層未打印的區(qū)域。
經(jīng)過物理實(shí)驗(yàn),如果對斷電時(shí)噴頭停止在的該層重新打印,即從位置A開始再次打印到位置B,打印噴頭經(jīng)過AC已打印區(qū)域后,AC已打印區(qū)域及已打印物體并不會(huì)出現(xiàn)損壞,因?yàn)槿廴谔匦砸约皢螌訉痈咻^低,單層層高往往低于0.3mm,所以高溫會(huì)將已打印過的材料再次融化,此處會(huì)有少許材料溢出,但可在物體打印完成后進(jìn)行處理,而重新打印的層可以與原來未打印完成的層結(jié)合完整,與直接打印無明顯區(qū)別。假如打印噴頭從A位置開始打印,較短時(shí)間后發(fā)生斷電,AC已打印區(qū)域較小,此時(shí)對AC已打印區(qū)域重新打印,打印材料的溢出很少,幾乎不需要處理。
本發(fā)明提供一種利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的方法,其中,包括:
S1、打印待打印文件:執(zhí)行待打印文件對應(yīng)的打印代碼,同時(shí),生成空的臨時(shí)文件,打印代碼由多個(gè)代碼段以及在打印代碼末端的刪除代碼組成,執(zhí)行一代碼段可對應(yīng)的打印出物體的一層,不同的層對應(yīng)不同的層高;
S2、獲取待打印文件的文件名,獲取正在打印的層的層高,將獲取的文件名和層高寫入空的臨時(shí)文件中;
S3、每當(dāng)一層打印完畢開始打印下一層時(shí),獲取下一層的層高,并將臨時(shí)文件中存儲(chǔ)的層高替換成獲取的下一層的層高;
S4、如果待打印文件打印完成,識別并執(zhí)行打印代碼末端的刪除代碼,刪除臨時(shí)文件;
S5、如果打印機(jī)重新啟動(dòng),則查找臨時(shí)文件并獲取臨時(shí)文件中存儲(chǔ)的文件名和層高,由S5中獲取的文件名查找對應(yīng)的待打印文件,然后獲取待打印文件對應(yīng)的打印代碼,再查找打印代碼中S5中獲取的層高對應(yīng)的層的代碼段及該代碼段之后的所有代碼;
S6、執(zhí)行S5中獲取的代碼段和該代碼段之后的所有代碼,對S5中獲取的層高對應(yīng)的層重新打印,對S5中獲取的層高對應(yīng)的層之后的層進(jìn)行打印。
本發(fā)明所述的一種利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的方法,步驟S1包括:
執(zhí)行一代碼段可對應(yīng)的打印出物體的一層,每一層都有一定的厚度,不同的層的層高不同。
本發(fā)明所述的一種利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的方法,步驟S2包括:
第一次獲取的正在打印的層的層高為第一層的層高。
本發(fā)明所述的利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的方法,步驟S3包括:
臨時(shí)文件存儲(chǔ)的層高改變時(shí),進(jìn)行一次保存操作;
臨時(shí)文件中保存的層高隨著噴頭打印的層的變化而更新,當(dāng)發(fā)生斷電時(shí),臨時(shí)文件中保存的層高為斷電時(shí)噴頭停止所在的層的層高。
本發(fā)明所述的利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的方法,步驟S5、S6包括:
如果打印機(jī)斷電后再次啟動(dòng),則查找臨時(shí)文件,查找臨時(shí)文件失敗時(shí),說明待打印文件已經(jīng)打印完成,臨時(shí)文件已經(jīng)被刪除,此時(shí)不進(jìn)行續(xù)打;
當(dāng)查找臨時(shí)文件成功時(shí),說明待打印文件并未打印完成,則獲取臨時(shí)文件中存儲(chǔ)的文件名和層高,該層高為斷電時(shí)噴頭停止在的層的層高,由文件名查找待打印文件,由待打印文件獲取打印代碼,由獲取的層高和打印代碼獲取斷電時(shí)噴頭停止在的層及之后的層的對應(yīng)的代碼并進(jìn)行打印;在打印完成,識別到刪除代碼后,刪除臨時(shí)文件,待打印文件續(xù)打完成。
本發(fā)明提供一種利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的系統(tǒng)1,其中,包括:
執(zhí)行與生成模塊11:執(zhí)行待打印文件對應(yīng)的打印代碼,同時(shí),生成空的臨時(shí)文件,打印代碼由多個(gè)代碼段以及在打印代碼末端的刪除代碼組成,執(zhí)行一代碼段可對應(yīng)的打印出物體的一層,不同的層對應(yīng)不同的層高;
寫入模塊12:獲取待打印文件的文件名,獲取正在打印的層的層高,將獲取的文件名和層高寫入空的臨時(shí)文件中;
替換模塊13:每當(dāng)一層打印完畢開始打印下一層時(shí),獲取下一層的層高,并將臨時(shí)文件中存儲(chǔ)的層高替換成獲取的下一層的層高;
刪除模塊14:如果待打印文件打印完成,識別并執(zhí)行打印代碼末端的刪除代碼,刪除臨時(shí)文件;
查找與獲取模塊15:如果打印機(jī)重新啟動(dòng),則查找臨時(shí)文件并獲取臨時(shí)文件中存儲(chǔ)的文件名和層高,由查找與獲取模塊15中獲取的文件名查找對應(yīng)的待打印文件,然后獲取待打印文件對應(yīng)的打印代碼,再查找打印代碼中查找與獲取模塊15中獲取的層高對應(yīng)的層的代碼段及該代碼段之后的所有代碼;
重新打印模塊16:執(zhí)行查找與獲取模塊15中獲取的代碼段和該代碼段之后的所有代碼,對查找與獲取模塊15中獲取的層高對應(yīng)的層重新打印,對查找與獲取模塊15中獲取的層高對應(yīng)的層之后的層進(jìn)行打印。
本發(fā)明所述的利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的系統(tǒng)1,替換模塊13:
臨時(shí)文件存儲(chǔ)的層高改變時(shí),進(jìn)行一次保存操作。
本發(fā)明所述的利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的系統(tǒng)1,查找與獲取模塊15:
如果打印機(jī)斷電后再次啟動(dòng),則查找臨時(shí)文件,查找臨時(shí)文件失敗時(shí),不進(jìn)行其他操作。
本發(fā)明所述的利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的系統(tǒng)1,重新打印模塊16:
執(zhí)行查找與獲取模塊15中獲取的代碼段和該代碼段之后的所有代碼,識別到刪除代碼后,刪除臨時(shí)文件。
本發(fā)明所述的一種利用軟件主動(dòng)式保存和恢復(fù)打印狀態(tài)的方法及系統(tǒng)在使用過程中,首先執(zhí)行待打印文件對應(yīng)的打印代碼,同時(shí),生成空的臨時(shí)文件,打印代碼由多個(gè)代碼段以及在打印代碼末端的刪除代碼組成,執(zhí)行一代碼段可對應(yīng)的打印出物體的一層,不同的層對應(yīng)不同的層高;獲取待打印文件的文件名,獲取正在打印的層的層高,將獲取的文件名和層高寫入空的臨時(shí)文件中;每當(dāng)一層打印完畢開始打印下一層時(shí),獲取下一層的層高,并將臨時(shí)文件中存儲(chǔ)的層高替換成獲取的下一層的層高;如果待打印文件打印完成,識別并執(zhí)行打印代碼末端的刪除代碼,刪除臨時(shí)文件;如果打印機(jī)重新啟動(dòng),則查找臨時(shí)文件并獲取臨時(shí)文件中存儲(chǔ)的文件名和層高,由獲取的文件名查找對應(yīng)的待打印文件,然后獲取待打印文件對應(yīng)的打印代碼,再查找打印代碼中獲取的層高對應(yīng)的層的代碼段及該代碼段之后的所有代碼;執(zhí)行獲取的代碼段和該代碼段之后的所有代碼,對臨時(shí)文件中獲取的層高對應(yīng)的層重新打印,對臨時(shí)文件中獲取的層高對應(yīng)的層之后的層進(jìn)行打印。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果包括:生成臨時(shí)文件,在臨時(shí)文件中保存待打印文件的文件名和正在打印的層的層高,并在打印下一層時(shí),用下一層的層高替換臨時(shí)文件中的層高,僅需要主動(dòng)保存文件名和層高,不需要實(shí)時(shí)保存復(fù)雜的噴頭位置信息和待打印文件的數(shù)據(jù)位置,需要保存的數(shù)據(jù)量很小,對硬件耗損小;在恢復(fù)供電打印機(jī)重新啟動(dòng)時(shí),查找并獲取臨時(shí)文件中的文件名、層高,并由此獲得斷電時(shí)噴頭所在層及之后的層對應(yīng)的代碼,執(zhí)行該代碼將物體打印完成,利用軟件方法主動(dòng)保存斷電時(shí)打印狀態(tài)并恢復(fù)打印,不需要添加額外的硬件設(shè)備,節(jié)約硬件成本,適宜于應(yīng)用在低端打印機(jī)型,有利于推廣普及。
以上所述本發(fā)明的具體實(shí)施方式,并不構(gòu)成對本發(fā)明保護(hù)范圍的限定。任何根據(jù)本發(fā)明的技術(shù)構(gòu)思所做出的各種其他相應(yīng)的改變與變形,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。