本發(fā)明涉及3d打印智能建造,特別涉及一種3d打印過程結(jié)構(gòu)變化形心數(shù)據(jù)的獲取方法、系統(tǒng)。
背景技術(shù):
1、混凝土3d打印技術(shù)是一種建筑領(lǐng)域中的新型建造方式。相比傳統(tǒng)的施工方式,混凝土3d打印技術(shù)具有建造速度快、材料利用率高、施工成本低等優(yōu)勢,同時(shí)還能實(shí)現(xiàn)復(fù)雜形狀的建筑物制造。目前,混凝土3d打印技術(shù)已經(jīng)在建筑領(lǐng)域得到廣泛研究和應(yīng)用。
2、許多研究人員致力于改進(jìn)混凝土材料的打印路徑、打印性能、提高打印速度、優(yōu)化結(jié)構(gòu)設(shè)計(jì)等方面的問題。由于3d打印混凝土材料的特殊性,含有懸挑構(gòu)造的異形打印結(jié)構(gòu)在打印過程中容易出現(xiàn)整體或局部失穩(wěn)從而導(dǎo)致坍塌的問題。根據(jù)現(xiàn)有研究資料,考慮到3d打印建造是結(jié)構(gòu)動態(tài)累積的過程,對于持續(xù)成型的結(jié)構(gòu)來說,其重心也會隨著打印進(jìn)展不斷變化,而重心位置是影響結(jié)構(gòu)穩(wěn)定性的一大因素,因此,在此類構(gòu)件的打印路徑設(shè)計(jì)過程中,一些設(shè)計(jì)方法需要結(jié)合打印構(gòu)件變化的重心數(shù)據(jù)進(jìn)而完成打印路徑設(shè)計(jì)。形心指平面圖形的面積中心或立體圖形的體積中心,即物體的幾何中心,一般情況下,對于3d打印結(jié)構(gòu)重心位置的理論計(jì)算時(shí),可認(rèn)為材料分布均勻,即重心與形心重合。因此,通過獲取打印過程中變化的結(jié)構(gòu)形心數(shù)據(jù)指導(dǎo)打印路徑設(shè)計(jì),能充分規(guī)劃打印過程中打印層的重心位置變化,防止打印過程中結(jié)構(gòu)發(fā)生坍塌,進(jìn)而提高存在懸挑等構(gòu)造的柱狀結(jié)構(gòu)的打印成功率。
3、現(xiàn)有技術(shù)中對打印過程中各層片及不同打印進(jìn)度下層積結(jié)構(gòu)形心的獲取可以采用計(jì)算二維圖形和三維結(jié)構(gòu)幾何中心的數(shù)學(xué)方法計(jì)算,但不同打印進(jìn)程下打印層片或?qū)臃e結(jié)構(gòu)的幾何中心計(jì)算數(shù)量較多,若分別提取出所需計(jì)算的相應(yīng)平面或模型,再通過可用的數(shù)學(xué)軟件逐一進(jìn)行分析計(jì)算,不僅存在跨軟件的模型數(shù)據(jù)格式轉(zhuǎn)換難題,影響計(jì)算效率和數(shù)據(jù)使用的便捷性,且轉(zhuǎn)換后的數(shù)據(jù)格式與原始模型會存在難以避免的形狀偏差,進(jìn)而導(dǎo)致計(jì)算結(jié)果不準(zhǔn)確。此外,對于復(fù)雜模型的幾何中心計(jì)算常規(guī)方法難以實(shí)現(xiàn)。因此,這種形心獲取方法存在計(jì)算及獲取效率低,得到的重心數(shù)據(jù)準(zhǔn)確性低等問題。grasshopper是3d打印從建模、切片、路徑規(guī)劃到打印控制信息轉(zhuǎn)化的常用軟件,目前暫未發(fā)現(xiàn)基于該軟件實(shí)現(xiàn)獲取打印過程中打印結(jié)構(gòu)變化形心數(shù)據(jù)的方法。因此,需要開發(fā)一種基于grasshopper軟件的快速獲取3d打印過程結(jié)構(gòu)變化形心數(shù)據(jù)的方法。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于解決現(xiàn)有技術(shù)中缺少基于3d打印建模及路徑規(guī)劃軟件grasshopper的模型打印過程變化的形心數(shù)據(jù)獲取方法的問題,提供一種3d打印過程結(jié)構(gòu)變化形心數(shù)據(jù)的獲取方法、系統(tǒng)。
2、為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供了以下技術(shù)方案:
3、一種3d打印過程結(jié)構(gòu)變化形心數(shù)據(jù)的獲取方法,所述獲取方法是通過grasshopper插件實(shí)現(xiàn),包括以下步驟:
4、輸入打印結(jié)構(gòu)的模型數(shù)據(jù)和打印層厚度數(shù)據(jù);
5、對輸入的打印結(jié)構(gòu)模型進(jìn)行解構(gòu),得到模型解構(gòu)后的頂點(diǎn)數(shù)據(jù),根據(jù)頂點(diǎn)數(shù)據(jù)獲取所述打印結(jié)構(gòu)模型沿打印層積方向的坐標(biāo)值范圍,計(jì)算得到所述打印結(jié)構(gòu)模型的打印高度;
6、根據(jù)打印高度數(shù)據(jù)、打印層厚度數(shù)據(jù),計(jì)算獲取各切片平面沿打印層積方向的坐標(biāo)值,利用各切片平面沿打印層積方向的坐標(biāo)值創(chuàng)建與打印層積方向垂直的平面,即得到分層切片平面數(shù)據(jù);
7、若需要獲取打印層片形心數(shù)據(jù),基于打印結(jié)構(gòu)模型數(shù)據(jù)、分層切片平面數(shù)據(jù),得到各分層切片平面與所述打印結(jié)構(gòu)模型的相交面,獲取各相交面的幾何中心位置,作為不同打印層片的形心數(shù)據(jù);
8、若需要獲取層積結(jié)構(gòu)整體形心數(shù)據(jù),基于打印結(jié)構(gòu)模型數(shù)據(jù)、分層切片平面數(shù)據(jù),得到分割面,采用各分割面對所述打印結(jié)構(gòu)模型進(jìn)行分割,然后篩選出不同打印進(jìn)度下已打印完成的層積結(jié)構(gòu)模型,獲取各層積結(jié)構(gòu)模型的體積中心位置,作為不同層積結(jié)構(gòu)整體形心數(shù)據(jù)。
9、在本發(fā)明的技術(shù)方案中,根據(jù)輸入的打印結(jié)構(gòu)模型進(jìn)行解構(gòu),得到頂點(diǎn)數(shù)據(jù),以此進(jìn)行打印高度的計(jì)算,并根據(jù)打印高度、打印層厚度數(shù)據(jù),對打印結(jié)構(gòu)模型進(jìn)行分層,創(chuàng)建不同的分層切片平面,明確各分層切片平面的位置,然后基于打印結(jié)構(gòu)模型數(shù)據(jù)、分層切片平面數(shù)據(jù),分別獲取打印層片形心數(shù)據(jù)或?qū)臃e結(jié)構(gòu)整體形心數(shù)據(jù),通過獲取打印過程中變化的結(jié)構(gòu)形心數(shù)據(jù),以指導(dǎo)結(jié)構(gòu)的打印路徑設(shè)計(jì),防止打印過程中結(jié)構(gòu)發(fā)生坍塌,進(jìn)而提高存在懸挑等構(gòu)造的柱狀結(jié)構(gòu)的打印成功率。
10、grasshopper是基于rhino平臺運(yùn)行的可視化編程插件,是通過參數(shù)化編制程序算法進(jìn)行運(yùn)算處理并通過rhino平臺實(shí)現(xiàn)可視化的插件,通過輸入?yún)?shù)、計(jì)算處理和輸出結(jié)果的基本邏輯來進(jìn)行,在需要考慮形心變化的打印路徑設(shè)計(jì)方法中,可以直接依托該軟件調(diào)用模型形心計(jì)算所得的相關(guān)數(shù)據(jù),為打印結(jié)構(gòu)打印過程變化形心數(shù)據(jù)的獲取提供了高效且便捷的途徑,可以避免現(xiàn)有形心獲取方法存在的計(jì)算及獲取效率低,得到的重心數(shù)據(jù)準(zhǔn)確性低等問題。本發(fā)明的方法通過grasshopper插件實(shí)現(xiàn),實(shí)現(xiàn)打印過程中變化模型的處理、模型數(shù)據(jù)調(diào)用、形心數(shù)據(jù)的批量計(jì)算、可視化等,顯著提高了數(shù)據(jù)的獲取效率,避免了跨軟件計(jì)算存在的數(shù)據(jù)轉(zhuǎn)換難以及格式轉(zhuǎn)換后帶來的模型誤差所導(dǎo)致的計(jì)算結(jié)果偏差等問題,且所得數(shù)據(jù)可直接作為后續(xù)打印路徑設(shè)計(jì)的依據(jù)數(shù)據(jù)源,簡化流程。
11、需要說明的是沿打印層積方向是指打印過程中垂直打印平面的方向,各打印層片的形心數(shù)據(jù)是指各分層切片平面與打印結(jié)構(gòu)模型相交面的形心坐標(biāo)數(shù)據(jù)。層積結(jié)構(gòu)是指當(dāng)前已完成打印的打印層堆疊形成的結(jié)構(gòu),當(dāng)所有的打印層打印完成時(shí),層積結(jié)構(gòu)即為整個(gè)打印結(jié)構(gòu)。層積結(jié)構(gòu)整體形心數(shù)據(jù)是指在不同分層切片平面高度處,已打印完成的層積結(jié)構(gòu)整體的形心數(shù)據(jù)。
12、作為本發(fā)明的優(yōu)選方案,所述打印結(jié)構(gòu)模型通過rhino平臺端或grasshopper插件構(gòu)建。
13、作為本發(fā)明的優(yōu)選方案,在grasshopper環(huán)境下,所述打印結(jié)構(gòu)模型數(shù)據(jù)是通過brep運(yùn)算器進(jìn)行參數(shù)輸入,打印層厚度數(shù)據(jù)是通過number?slider運(yùn)算器進(jìn)行參數(shù)輸入。
14、作為本發(fā)明的優(yōu)選方案,在grasshopper環(huán)境下,通過運(yùn)算器deconstruct?brep對所述打印結(jié)構(gòu)模型進(jìn)行解構(gòu),輸出端vertices得到模型解構(gòu)后的頂點(diǎn)數(shù)據(jù)。
15、作為本發(fā)明的更優(yōu)選方案,所述打印結(jié)構(gòu)模型打印高度的獲取方法為:在grasshopper環(huán)境下,利用運(yùn)算器deconstruct讀取頂點(diǎn)數(shù)據(jù)中沿打印層積方向的坐標(biāo),利用運(yùn)算器bounds統(tǒng)計(jì)頂點(diǎn)數(shù)據(jù)沿打印層積方向坐標(biāo)值范圍,并利用運(yùn)算器deconstructdomain提取坐標(biāo)值范圍的最小值和最大值,然后通過運(yùn)算器subtraction計(jì)算最大值和最小值的差值,以差值作為打印高度數(shù)據(jù)。
16、作為本發(fā)明的優(yōu)選方案,獲取各切片平面沿打印層積方向的坐標(biāo)值的方法為:對于等層厚打印,基于頂點(diǎn)數(shù)據(jù)中坐標(biāo)最小值、打印層厚度數(shù)據(jù)建立等差數(shù)列,得到各分層切片平面沿打印層積方向的坐標(biāo)值,即首個(gè)切片平面對應(yīng)的沿打印層積方向坐標(biāo)值為首項(xiàng),以打印層厚度數(shù)據(jù)為公差建立等差數(shù)列,數(shù)列中的各項(xiàng)值即為各切片平面沿打印層積方向的坐標(biāo)值;對于不等層厚打印,基于頂點(diǎn)數(shù)據(jù)中坐標(biāo)最小值、打印層厚度數(shù)據(jù)建立不等差數(shù)列,得到各分層切片平面的沿打印層積方向的坐標(biāo)值,即首個(gè)切片平面對應(yīng)的沿打印層積方向坐標(biāo)值為首項(xiàng),沿打印層積方向?qū)⒏鞔蛴雍穸葦?shù)據(jù)分別作為相鄰兩項(xiàng)之間的差值,建立不等差數(shù)列,數(shù)列中的各項(xiàng)指即為各切片平面沿打印層積方向的坐標(biāo)值。
17、作為本發(fā)明的優(yōu)選方案,在grasshopper環(huán)境下,對于等層厚打印,基于打印層厚度數(shù)據(jù)和打印高度,通過運(yùn)算器division及round得到打印層數(shù),將頂點(diǎn)數(shù)據(jù)中坐標(biāo)最小值、打印層厚度數(shù)據(jù)以及打印層數(shù)輸入series運(yùn)算器,實(shí)現(xiàn)以頂點(diǎn)數(shù)據(jù)中坐標(biāo)最小值,即首個(gè)切片平面對應(yīng)的沿打印層積方向坐標(biāo)值為首項(xiàng)、打印層厚度為公差的等差數(shù)列構(gòu)建,得到不同打印層對應(yīng)的各切片平面沿打印層積方向的坐標(biāo)值數(shù)據(jù);對于不等層厚打印,基于打印層厚度數(shù)據(jù)、頂點(diǎn)數(shù)據(jù)中坐標(biāo)最小值,通過massaddition及addition運(yùn)算器連接,實(shí)現(xiàn)以頂點(diǎn)數(shù)據(jù)中坐標(biāo)最小值為首項(xiàng),沿打印層積方向?qū)⒏鞔蛴雍穸葦?shù)據(jù)分別作為相鄰兩項(xiàng)之間差值的不等差數(shù)列構(gòu)建,得到不同打印層對應(yīng)的各切片平面沿打印層積方向的坐標(biāo)值數(shù)據(jù)。
18、作為本發(fā)明的更優(yōu)選方案,創(chuàng)建分層切片平面的方法為:將得到的各切片平面沿打印層積方向的坐標(biāo)值zi通過construct?point運(yùn)算器生成一系列點(diǎn)(0,0,zi),然后通過xyplane運(yùn)算器創(chuàng)建分別經(jīng)過各點(diǎn)且與打印層積方向垂直的平面,即得到不同的分層切片平面。
19、作為本發(fā)明的優(yōu)選方案,獲取打印層片的形心數(shù)據(jù)的方法:在grasshopper環(huán)境下,基于打印結(jié)構(gòu)模型數(shù)據(jù)、分層切片平面數(shù)據(jù),通過brep?plane運(yùn)算器,獲取各分層切片平面與所述打印結(jié)構(gòu)模型的相交面,然后通過area運(yùn)算器計(jì)算獲取各相交面的幾何中心坐標(biāo)信息,作為不同打印層片的形心數(shù)據(jù)。
20、作為本發(fā)明的優(yōu)選方案,獲取層積結(jié)構(gòu)整體形心數(shù)據(jù)的方法:在grasshopper環(huán)境下,基于輸入的分層切片平面數(shù)據(jù)及打印結(jié)構(gòu)模型數(shù)據(jù),通過plane?through?shape運(yùn)算器在各分層切片平面創(chuàng)建能夠包裹住打印結(jié)構(gòu)模型的矩形面,作為分割面,將分割面數(shù)據(jù)與打印結(jié)構(gòu)模型數(shù)據(jù)輸入split?brep運(yùn)算器,得到分割后的兩部分模型,將其輸入treestatistics運(yùn)算器返回兩部分模型數(shù)據(jù)在數(shù)據(jù)結(jié)構(gòu)中對應(yīng)的數(shù)據(jù)路徑名稱,然后基于treestatistics運(yùn)算器返回的數(shù)據(jù)路徑名稱,通過split?tree運(yùn)算器篩選出已打印完成的層積結(jié)構(gòu)模型,輸入volume運(yùn)算器計(jì)算獲取各層積結(jié)構(gòu)模型的體積中心坐標(biāo)信息。
21、本發(fā)明的另一方面提供了一種3d打印過程結(jié)構(gòu)變化形心數(shù)據(jù)的獲取系統(tǒng),包括至少一個(gè)處理器,以及與至少一個(gè)處理器通信連接的存儲器;存儲器存儲有能夠被至少一個(gè)處理器執(zhí)行的指令,所述指令被至少一個(gè)處理器執(zhí)行,以使至少一個(gè)處理器能夠執(zhí)行所述的3d打印過程結(jié)構(gòu)變化形心數(shù)據(jù)的獲取方法。
22、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果:
23、1、本發(fā)明提供了3d打印過程結(jié)構(gòu)變化形心數(shù)據(jù)的獲取方法,解構(gòu)輸入的打印結(jié)構(gòu)模型得到頂點(diǎn)數(shù)據(jù),以此進(jìn)行打印高度的計(jì)算,并根據(jù)打印高度、打印層厚度數(shù)據(jù),對打印結(jié)構(gòu)模型進(jìn)行分層,創(chuàng)建不同的分層切片平面,然后基于打印結(jié)構(gòu)模型數(shù)據(jù)、分層切片平面數(shù)據(jù),分別獲取打印層片形心數(shù)據(jù)或?qū)臃e結(jié)構(gòu)整體形心數(shù)據(jù)。獲取方法通過grasshopper插件實(shí)現(xiàn),實(shí)現(xiàn)對打印過程中變化模型的處理、模型數(shù)據(jù)調(diào)用、形心數(shù)據(jù)的批量計(jì)算等,顯著提高了數(shù)據(jù)的獲取效率,避免了跨軟件計(jì)算存在的數(shù)據(jù)轉(zhuǎn)換難以及格式轉(zhuǎn)換后帶來的模型誤差所導(dǎo)致的計(jì)算結(jié)果偏差等問題,簡化流程。
24、2、采用本發(fā)明方法獲取的形心數(shù)據(jù),覆蓋打印進(jìn)度中各切片平面對應(yīng)高度的層片及層積結(jié)構(gòu)形心數(shù)據(jù),適用于平行切片的不同打印結(jié)構(gòu)。獲取的形心數(shù)據(jù)可直接作為后續(xù)打印路徑設(shè)計(jì)的依據(jù)數(shù)據(jù)源,從而在路徑設(shè)計(jì)過程中將結(jié)構(gòu)重心位置偏移的波動控制在一定范圍內(nèi),有效降低打印建造過程中結(jié)構(gòu)傾覆、局部塌陷等打印失效概率,達(dá)到提升打印過程穩(wěn)定性及提高打印成功率的目的。