999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

3D打印切片控制一體化集成策略

2021-01-13 12:17:34龔雨晨趙圓圓譚躍剛
裝備制造技術(shù) 2020年10期
關(guān)鍵詞:引擎用戶系統(tǒng)

龔雨晨,趙圓圓,張 帆,譚躍剛

(武漢理工大學(xué)機(jī)電工程學(xué)院,武漢430070)

3D打印技術(shù)是一種始于20世紀(jì) 80年代中期的增材制造技術(shù)[1]。利用3D打印技術(shù)實現(xiàn)三維模型的立體成型主要有上層切片和底層控制兩個環(huán)節(jié),但是傳統(tǒng)切片控制的實現(xiàn)需借助兩種不同的軟件,操作復(fù)雜且切片控制數(shù)據(jù)不互通,實現(xiàn)3D打印切片控制一體化,不僅可以消除從上層切片規(guī)劃環(huán)節(jié)到底層控制打印環(huán)節(jié)之間的數(shù)據(jù)壁壘,打通數(shù)據(jù)的交互流程,還可以讓從模型導(dǎo)入到執(zhí)行打印的操作環(huán)節(jié)更加透明,簡化用戶操作。

針對切片和控制問題,國內(nèi)外學(xué)者進(jìn)行了許多相關(guān)研究。在切片的路徑優(yōu)化方面,F(xiàn)ok等使用Christofides算法對打印路徑進(jìn)行優(yōu)化,通過縮短路徑長度的方式實現(xiàn)路徑優(yōu)化[2]。尚雯等把偏置填充路徑進(jìn)行螺旋化處理,得到具有較少跳轉(zhuǎn)點的螺旋偏置填充路徑,極大提高了打印效率[3]。在固件控制方面,國外研發(fā)團(tuán)隊推出了目前主流的Marlin固件系統(tǒng),有大量的工程人員進(jìn)行維護(hù),持續(xù)更新,廣泛應(yīng)用于直角坐標(biāo)系的3D打印機(jī)上[4]。RepRap固件是早期支持32位板的固件之一,高度模塊化,具有很好的借鑒意義,為后續(xù)不同用途3D打印機(jī)的控制系統(tǒng)研究提供了基礎(chǔ)[5]。國內(nèi)外學(xué)者雖然在切片控制領(lǐng)域取得了大量的研究成果,但是對于切片控制的一體化集成以及一體化流程中的數(shù)據(jù)傳輸方式,目前研究成果較少,傳統(tǒng)的立體模型切片過程需在電腦上完成,對用戶的操作提出了較高要求。

因此,有必要提出一種切片控制一體化集成策略,基于此策略設(shè)計切片控制一體化系統(tǒng),并脫離電腦基于安卓屏設(shè)計出一套友好的交互界面,使得3D打印在滿足個性化需求的前提下,進(jìn)一步降低成本,簡化用戶操作,提高打印樂趣。

13 D打印切片控制一體化集成策略

1.1 3D打印切片

三維立體模型雖然是3D打印的基礎(chǔ),但不是3D打印的直接輸入文件,在進(jìn)行3D打印前,需要切片引擎對模型進(jìn)行切片處理生成路徑規(guī)劃指令,路徑規(guī)劃算法是完成3D打印成型的必要步驟,算法的合理性與模型的成型效率、質(zhì)量以及性能等重要指標(biāo)密切相關(guān)[6],3D打印切片的流程如圖1所示。

圖1 切片引擎工作流程

切片引擎首先獲取STL模型并將其解析為三角形面片信息,根據(jù)層高對三維模型進(jìn)行分層處理,從面片信息找到頂點的z坐標(biāo)最小值,以這個點建立一個垂直于z軸的平面,將這個平面逐漸往上平移一個等同于層高的值,這些平面與三角形面片相交達(dá)到分層效果。

分層結(jié)束后,三角形面片被分為若干層,每一層形成獨有的二維輪廓,二維輪廓本質(zhì)上是點的集合。接著,切片引擎根據(jù)用戶設(shè)置的填充方式以及填充密度對二維輪廓進(jìn)行進(jìn)一步劃分,將二維輪廓的點根據(jù)運算法則分為內(nèi)外墻、填充、上下表面以及支撐六部分之一并將對應(yīng)的點信息保存至不同組件的數(shù)據(jù)結(jié)構(gòu)。

劃分組件完畢后,切片引擎會對不同組件數(shù)據(jù)結(jié)構(gòu)中的點信息按照對應(yīng)的路徑規(guī)劃算法實現(xiàn)層面路徑規(guī)劃,即將每個二維輪廓中無序的點集合轉(zhuǎn)化為有序的點序列,常見的路徑規(guī)劃算法有平行線填充、網(wǎng)格填充以及偏置填充,如圖2所示。

圖2 常見路徑規(guī)劃算法

最后,切片引擎會將每一層的點序列進(jìn)行匯總并按照分層順序進(jìn)行排列,將所有點序列封裝成gcode格式,根據(jù)用戶提供的文件輸出路徑實現(xiàn)gcode文件的輸出。

1.2 3D打印控制

3D打印的路徑規(guī)劃由切片引擎完成,但包含打印軌跡的gcode文件本身卻無法進(jìn)行3D打印設(shè)備的驅(qū)動,進(jìn)一步解析G代碼并控制3D打印設(shè)備運動的工作由固件系統(tǒng)完成,以RepRap固件為例,其控制流程如圖3所示。

圖3 RepRap固件控制流程

固件首先需要獲取G代碼并解析其中的信息,具體包括固件系統(tǒng)的初始化、G代碼循環(huán)監(jiān)聽以及G代碼的解析與運動信息的存儲,主函數(shù)會調(diào)用幾個初始化相關(guān)類的子函數(shù)完成整個環(huán)境配置以及初始化工作,除主函數(shù)外,固件系統(tǒng)由不同類組成,每個類負(fù)責(zé)不同的功能,G代碼的接收主要通過Gcodes類實現(xiàn),Gcodes類有一個Spin()函數(shù)用來實現(xiàn)對G代碼的不斷接收,主函數(shù)建立無限循環(huán)并在循環(huán)部分調(diào)用Gcodes類的Spin()函數(shù)從而實現(xiàn)G代碼的循環(huán)監(jiān)聽。G代碼的解析與儲存主要由Gcode類的GCodeBuffer::Seen(charc)和 GCodeBuffer::GetIValue()兩個函數(shù)完成,這兩個函數(shù)在完成G代碼解析的基礎(chǔ)上會把解析出的運動信息儲存至數(shù)組緩沖區(qū)moveBuffer[]中,為G代碼的下一步傳遞奠定基礎(chǔ)。

固件在完成G代碼解析并保存后,會根據(jù)G代碼關(guān)鍵字的不同將信息傳遞到與之對應(yīng)的控制引腳,具體包括運動信息的讀取以及運動信息往引腳的傳遞。運動信息的讀取與進(jìn)一步傳遞在Move類中完成,在Move類中通過調(diào)用Gcodes類中的Read-Move()函數(shù)獲得 moveBuffer[]中運動信息,得到的運動信息經(jīng)過Move類中的雙向循環(huán)鏈表處理會被傳遞到對應(yīng)的引腳處。

當(dāng)運動信息傳遞到對應(yīng)控制引腳后,固件系統(tǒng)會完成最后的工作,即實現(xiàn)運動信息的響應(yīng),響應(yīng)工作在Platform類中完成,通過調(diào)用Ardunio庫中的digitalWriteNonDue()底層驅(qū)動函數(shù)完成對電機(jī)引腳的直接控制,并基于函數(shù)內(nèi)規(guī)定的中斷響應(yīng)方法實現(xiàn)對電機(jī)的控制,其控制算法。

1.3 3D打印切片控制一體化集成策略

3D打印切片控制一體化的重點是切片引擎的路徑規(guī)劃以及固件系統(tǒng)的控制驅(qū)動,但是一體化的整個流程是從用戶導(dǎo)入立體模型開始,一直到打印機(jī)執(zhí)行打印,除了切片控制這些關(guān)鍵環(huán)節(jié),還涉及到用戶對引擎的調(diào)用以及切片控制交互,切片控制一體化整體流程如圖4所示。

圖4 切片控制一體化整體流程

切片控制一體化流程中的數(shù)據(jù)傳輸主要體現(xiàn)在用戶設(shè)置參數(shù)并調(diào)用切片引擎。用戶調(diào)用引擎時,完整的參數(shù)傳遞包含切片參數(shù)設(shè)置、打印機(jī)參數(shù)設(shè)置、選用的立體模型以及輸出的Gcode文件名四部分,系統(tǒng)會調(diào)用切片引擎預(yù)留的接口實現(xiàn)引擎的調(diào)用和參數(shù)的傳遞,引擎首先根據(jù)立體模型的路徑找到對應(yīng)STL文件并將其解析為三角形面片信息,接著根據(jù)切片參數(shù)順利完成路徑規(guī)劃過程,利用噴頭直徑等打印機(jī)參數(shù)確保路徑規(guī)劃算法與打印設(shè)備的匹配度,最后利用用戶預(yù)設(shè)的Gcode文件名實現(xiàn)輸出路徑的拼接,確保Gcode文件的順利生成。

切片控制一體化流程中的數(shù)據(jù)交互主要指切片控制之間的數(shù)據(jù)交互過程,上層切片中預(yù)留的G代碼傳輸接口,負(fù)責(zé)實現(xiàn)上層切片往底層固件中進(jìn)行G代碼文件的傳輸。在切片引擎將所有的點序列封裝成Gcode格式的文件后,會基于用戶預(yù)設(shè)的輸出文件名,調(diào)用相關(guān)函數(shù)完成Gcode文件完整輸出路徑的拼接,這個Gcode路徑會調(diào)用上層切片中預(yù)留的G代碼傳輸接口,從而順利根據(jù)路徑將對應(yīng)的Gcode文件進(jìn)行數(shù)據(jù)流的轉(zhuǎn)換并通過串口傳至底層固件中,再由固件完成解析和驅(qū)動工作。

底層固件系統(tǒng)中預(yù)留的接口,使切片控制一體化系統(tǒng)可以利用打印數(shù)據(jù)對切片規(guī)劃進(jìn)行調(diào)整,在固件系統(tǒng)與傳感器交互,獲取到打印噴頭的溫度以及三軸的位置等實時數(shù)據(jù)后,會調(diào)用底層預(yù)留的數(shù)據(jù)反饋接口將這些實時數(shù)據(jù)傳至上層切片引擎中,為溫度實時監(jiān)控以及打印狀態(tài)預(yù)覽功能的實現(xiàn)奠定基礎(chǔ)。

2 3D打印切片控制一體化系統(tǒng)實現(xiàn)及測試

基于切片控制一體化集成策略,分別從軟硬件兩方面完成切片控制一體化系統(tǒng)設(shè)計,并對此系統(tǒng)進(jìn)行功能測試。

2.1 系統(tǒng)硬件

大型工業(yè)級設(shè)備通常使用PLC、CNC或者是兩者的結(jié)合作為其控制系統(tǒng)[7],這對于小型打印機(jī)系統(tǒng)并不適用的。對于3D打印系統(tǒng),常用的系統(tǒng)處理器主要有單芯片微處理器、DSP以及ARM[8],單片機(jī)處理器的性能較差,無法支持切片控制一體化系統(tǒng)的集成,而DSP主要應(yīng)用于數(shù)字信號的處理,對于本項目并不適合,因此本次設(shè)計使用基于4核Cortex-A7 ARM的HW33-070安卓屏,硬件結(jié)構(gòu)如圖5所示。架構(gòu)與主流android手機(jī)相同,所以切片控制一體化系統(tǒng)可以直接安裝在HW33-070使用。

圖5 HW33-070安卓屏結(jié)構(gòu)圖

2.2 系統(tǒng)軟件總體框架

系統(tǒng)前端開發(fā)基于.xml文件實現(xiàn),主要負(fù)責(zé)控件的聲明與id的定義,用戶點擊控件即可根據(jù)id觸發(fā)相應(yīng)的后臺業(yè)務(wù)。系統(tǒng)的后臺開發(fā)基于java,由于切片引擎是基于C++完成的,需要進(jìn)行交叉編譯,因此引入JNI技術(shù)完成切片引擎的調(diào)用。切片過程完成后生成的gcode文件并不能直接驅(qū)動打印設(shè)備運動,只有將G代碼發(fā)送至打印機(jī)主板中的固件系統(tǒng)中進(jìn)行二次解析才能實現(xiàn)設(shè)備驅(qū)動,因此需要將gcode文件解析為數(shù)據(jù)流的形式并通過串口傳輸,此功能引入Serial_Port庫實現(xiàn)。為進(jìn)一步提升用戶的交互體驗,本系統(tǒng)支持三維模型的預(yù)覽,此功能使用OpenGL庫實現(xiàn),軟件總體框架如圖6所示。

圖6 切片控制一體化系統(tǒng)軟件總體框架

2.3 系統(tǒng)測試

利用2.1所述的安卓屏硬件接口完成測試平臺搭建,經(jīng)測試,系統(tǒng)的前端界面可以正常顯示,同時用戶可以通過此交互界面完成從模型導(dǎo)入到控制打印機(jī)的一體化流程。模型庫前端界面如圖7所示。

圖7 模型庫界面

當(dāng)用戶點擊上圖中的圖片即可完成對應(yīng)模型的切片,經(jīng)測試,使用此系統(tǒng)進(jìn)行切片在參數(shù)相同的情況下生成的gcode文件與使用Cura等傳統(tǒng)切片軟件幾乎一致,證明了此系統(tǒng)的功能可行性,gcode對比如圖8所示。

圖8 gcode對比圖

3 結(jié)論

在分析了傳統(tǒng)3D打印的切片控制實現(xiàn)方法后,提出了切片控制一體化集成策略?;诖瞬呗酝瓿上到y(tǒng)設(shè)計,利用平板設(shè)計友好交互界面,使切片控制過程擺脫對電腦的依賴,簡化用戶操作。并利用串口傳輸打破了切片控制之間的數(shù)據(jù)壁壘,在同一系統(tǒng)下完成切片數(shù)據(jù)到打印過程的傳輸,同時可以利用打印數(shù)據(jù)對切片規(guī)劃進(jìn)行調(diào)整。對切片控制一體化系統(tǒng)進(jìn)行功能測試,發(fā)現(xiàn)使用此系統(tǒng)不僅操作簡單,還能實現(xiàn)從模型導(dǎo)入到驅(qū)動打印設(shè)備的一體化流程,這為3D打印技術(shù)的普及提供了基礎(chǔ)。

猜你喜歡
引擎用戶系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
藍(lán)谷: “涉藍(lán)”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發(fā)
主站蜘蛛池模板: 亚洲swag精品自拍一区| 成人综合久久综合| 国产在线视频二区| 国内99精品激情视频精品| 国产主播一区二区三区| 亚国产欧美在线人成| 无码乱人伦一区二区亚洲一| 欧美激情成人网| 亚洲一区二区黄色| aⅴ免费在线观看| 啦啦啦网站在线观看a毛片| 亚洲欧美日韩成人高清在线一区| 国产亚洲欧美在线人成aaaa| 日韩欧美国产区| 毛片免费观看视频| 亚洲AV无码一区二区三区牲色| 多人乱p欧美在线观看| 国产成人免费手机在线观看视频| 波多野结衣在线se| 日韩天堂视频| 日本午夜三级| 久久精品中文字幕少妇| 91色国产在线| 婷婷亚洲综合五月天在线| 91精品福利自产拍在线观看| 国产成人一区在线播放| 国产乱人伦AV在线A| 伊人大杳蕉中文无码| 3D动漫精品啪啪一区二区下载| 日韩精品成人在线| 国产在线拍偷自揄观看视频网站| 国产性爱网站| 99re这里只有国产中文精品国产精品 | 亚洲h视频在线| 欧美性猛交一区二区三区| 亚洲永久色| 久久综合九九亚洲一区| 国产精品冒白浆免费视频| 国产在线视频自拍| 国产精品成人一区二区| 免费不卡在线观看av| 91精品专区国产盗摄| 亚洲欧美国产视频| 麻豆精品视频在线原创| 热re99久久精品国99热| 欧美三级不卡在线观看视频| 亚洲小视频网站| 92精品国产自产在线观看| 亚洲欧美精品在线| 欧美激情第一欧美在线| 专干老肥熟女视频网站| 青草午夜精品视频在线观看| 毛片一区二区在线看| 亚洲看片网| 欧美一级高清片欧美国产欧美| 国产精品视频3p| 人妻丰满熟妇AV无码区| 国产精品毛片一区视频播| 日韩中文欧美| 中文字幕在线观| 亚洲欧美另类日本| 精品久久人人爽人人玩人人妻| 国产精品欧美激情| 国产精品手机在线观看你懂的| 亚洲男人天堂2020| 欧美a在线| 亚洲欧美综合在线观看| 国产一级做美女做受视频| 免费无码AV片在线观看中文| 97视频在线观看免费视频| 欧美一区二区三区欧美日韩亚洲 | 国产美女在线观看| 国产精品密蕾丝视频| 白浆免费视频国产精品视频| 色综合五月| 国产一级α片| 精品1区2区3区| 国产精品美女在线| 国产美女91视频| 国产99视频在线| 亚洲精品视频免费| 青青草国产免费国产|