本發(fā)明涉及3D打印領(lǐng)域,尤其涉及的是一種用于3D打印模型自動(dòng)排版的方法和系統(tǒng)。
背景技術(shù):
為了盡量減少打印成本,目前3D打印機(jī)打印模型時(shí)需要將多個(gè)3D模型在有限的版面上進(jìn)行編排,編排保證各個(gè)3D模型互相不碰撞,編排的數(shù)量盡可能多,同時(shí)還要求盡量減少3D模型的支撐,這些都是通過人工進(jìn)行手工排版,人工手工排版無法準(zhǔn)確核算支持量,僅僅憑排版人員經(jīng)驗(yàn)排版,常常會(huì)導(dǎo)致模型打印方位不合適,延長打印時(shí)間或增加支持量。同時(shí)由于人工排版效率非常低,人工成本費(fèi)用昂貴,而且打印完成后,手工核對(duì)部件也非常麻煩。
因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種用于3D打印模型自動(dòng)排版的方法和系統(tǒng),旨在解決現(xiàn)有的3D模型人工排版精確度低,費(fèi)時(shí)費(fèi)力,效率低,打印完成后需要核對(duì)部件的問題。
本發(fā)明的技術(shù)方案如下:
一種用于3D打印模型自動(dòng)排版的方法,其中,包括以下步驟:
步驟A1:錄入3D模型的排版數(shù)據(jù);
步驟B1:逐一計(jì)算每個(gè)3D模型不同放置方式所對(duì)應(yīng)的支撐量,得到全部3D模型不同放置方式所對(duì)應(yīng)的支撐量;
步驟C1:選取各3D模型支撐量最少的放置方式,確定各3D模型的高度值;
步驟D1:判斷各高度值出現(xiàn)的概率,通過加權(quán)平均值方法計(jì)算得到標(biāo)準(zhǔn)高度值,同時(shí)設(shè)定3D模型高度值的打印浮動(dòng)范圍;
步驟E1:比較各3D模型高度值是否大于標(biāo)準(zhǔn)高度值,并執(zhí)行相應(yīng)操作;
步驟G1:嘗試將各3D模型進(jìn)行初步排版,判斷該排版是否滿足預(yù)設(shè)要求,否,對(duì)排版進(jìn)行調(diào)整,是,執(zhí)行步驟J1;
步驟J1:判斷排版是否需要修改,是,執(zhí)行步驟K1,否,執(zhí)行步驟K2;
步驟K1:對(duì)排版進(jìn)行修改,修改無誤后進(jìn)行3D模型的打??;
步驟K2:進(jìn)行3D模型的打印。
所述的用于3D打印模型自動(dòng)排版的方法,其中,所述步驟A1中,錄入3D模型的排版數(shù)據(jù),其中3D模型的排版數(shù)據(jù)包括3D模型的尺寸參數(shù)和排版版面的尺寸參數(shù),得到各3D模型的尺寸參數(shù)和排版版面的尺寸參數(shù)。
所述的用于3D打印模型自動(dòng)排版的方法,其中,所述3D模型的尺寸參數(shù)包括3D模型的長、寬、高數(shù)值。
所述的用于3D打印模型自動(dòng)排版的方法,其中,所述步驟D1中,通過加權(quán)平均值方法計(jì)算得到的標(biāo)準(zhǔn)高度值的計(jì)算公式為:其中,h為各個(gè)3D模型的高度,n為需要排版的3D模型的個(gè)數(shù)。
所述的用于3D打印模型自動(dòng)排版的方法,其中,所述步驟E1包括以下步驟:
步驟E11:比較各3D模型高度值是否大于標(biāo)準(zhǔn)高度值,是,執(zhí)行步驟F11,否,執(zhí)行步驟F14:
步驟F11:調(diào)整3D模型的高度,使其高度小于標(biāo)準(zhǔn)高度值,并判斷該尺寸修改是否在打印浮動(dòng)范圍內(nèi),是,執(zhí)行步驟F12,否,執(zhí)行步驟F13,其中,浮動(dòng)范圍為標(biāo)準(zhǔn)高度值的5%;
步驟F12:執(zhí)行步驟G1;
步驟F13:把該3D模型從這次排版中剔除,并執(zhí)行步驟G1;
步驟F14:不改變3D模型的高度,并執(zhí)行步驟G1。
所述的用于3D打印模型自動(dòng)排版的方法,其中,所述步驟G1包括以下步驟:
步驟G11:嘗試將各3D模型進(jìn)行初步排版,判斷該排版是否將同一個(gè)客戶需要的3D模型排在同一區(qū)域,否,執(zhí)行步驟G12,是,執(zhí)行步驟G13;
步驟G12:將同一個(gè)客戶需要的3D模型排在同一區(qū)域,并執(zhí)行步驟G13;
步驟G13:判斷所有3D模型是否超出排版版面,是,執(zhí)行步驟G14,否,執(zhí)行步驟G15;
步驟G14:對(duì)3D模型進(jìn)行調(diào)整,并執(zhí)行步驟G15;
步驟G15:判斷相鄰3D模型之間在三維空間上是否接觸,是,執(zhí)行步驟G16,否,執(zhí)行步驟J1;
步驟G16:對(duì)3D模型進(jìn)行調(diào)整,并執(zhí)行步驟J1。
所述的用于3D打印模型自動(dòng)排版的方法,其中,所述步驟G14包括以下步驟:
步驟G141:判斷超出排版版面的3D模型是否可以刪除,是,執(zhí)行步驟G142,否,執(zhí)行步驟G143;
步驟G142:刪除超出排版版面的3D模型,并執(zhí)行步驟G15;
步驟G143:判斷是否可以刪除排版版面內(nèi)的其他3D模型,是,執(zhí)行步驟G144,否,執(zhí)行步驟G145;
步驟G144:刪除排版版面內(nèi)的其他3D模型,并把超出排版版面的3D模型調(diào)整到排版版面內(nèi),執(zhí)行G15;
步驟G145:放棄本次排版操作。
所述的用于3D打印模型自動(dòng)排版的方法,其中,所述步驟G16包括以下步驟:
步驟G161:判斷是否可以通過刪除3D模型以使剩下的3D模型在三維空間上互不接觸,是,執(zhí)行步驟G162,否,執(zhí)行步驟G163;
步驟G162:刪除3D模型,并執(zhí)行步驟J1;
步驟G163:放棄本次排版操作。
所述的用于3D打印模型自動(dòng)排版的方法,其中,所述步驟G1-步驟J1之間還包括以下步驟:
步驟H11:判斷相鄰3D模型之間的空間是否可以放入適合尺寸的3D模型,是,執(zhí)行步驟I11,否,執(zhí)行步驟I12;
步驟I11:在相鄰3D模型之間的空間放入適合尺寸的3D模型,確定排版并執(zhí)行步驟J1;
步驟I12:不改變當(dāng)前排版并執(zhí)行步驟J1。
一種采用如上述任一項(xiàng)所述的用于3D打印模型自動(dòng)排版的方法的系統(tǒng),其中,包括:
用于控制整個(gè)系統(tǒng)正常運(yùn)行的中央控制模塊;
用于獲得錄入的3D模型的排版數(shù)據(jù)的參數(shù)模塊;
用于根據(jù)3D模型各種放置方式計(jì)算3D模型支撐量的支撐量計(jì)算模塊;
根據(jù)計(jì)算出的支撐量選取支撐量最少的放置方式,并確定各3D模型高度的高度確定模塊;
根據(jù)各3D模型高度值出現(xiàn)的概率計(jì)算出標(biāo)準(zhǔn)高度值的標(biāo)準(zhǔn)高度計(jì)算模塊;
比較各3D模型高度值與準(zhǔn)高度值的大小,并根據(jù)比較結(jié)果調(diào)整3D模型高度值的高度調(diào)整模塊;
對(duì)各3D模型進(jìn)行初步排版,并判斷排版是否滿足預(yù)設(shè)要求的排版判斷模塊;
判斷是否可以在相鄰3D模型之間的空間放入適合尺寸的3D模型的3D模型插入模塊;
所述參數(shù)模塊、支撐量計(jì)算模塊、高度確定模塊、標(biāo)準(zhǔn)高度計(jì)算模塊、高度調(diào)整模塊、排版判斷模塊和3D模型插入模塊分別都與中央控制模塊連接,由中央控制模塊控制運(yùn)行。
本發(fā)明的有益效果:本發(fā)明通過提供一種用于3D打印模型自動(dòng)排版的方法和系統(tǒng),通過將需要打印的3D模型輸入電腦,得到各3D模型的尺寸參數(shù),系統(tǒng)根據(jù)預(yù)設(shè)的條件進(jìn)行優(yōu)化自動(dòng)排版,代替人工手工排版,不但省時(shí)省力,效率大大提高,而且打印的準(zhǔn)確性高,打印后無需進(jìn)行核對(duì)部件,方便快捷。
附圖說明
圖1是本發(fā)明中用于3D打印模型自動(dòng)排版的方法的步驟流程圖。
圖2是本發(fā)明中用于3D打印模型自動(dòng)排版的系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚、明確,以下參照附圖并舉實(shí)施例對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
如圖1所示,一種用于3D打印模型自動(dòng)排版的方法,包括以下步驟:
步驟A1:錄入3D模型的排版數(shù)據(jù);
步驟B1:逐一計(jì)算每個(gè)3D模型不同放置方式所對(duì)應(yīng)的支撐量,得到全部3D模型不同放置方式所對(duì)應(yīng)的支撐量;
步驟C1:選取各3D模型支撐量最少的放置方式,確定各3D模型的高度值;
步驟D1:判斷各高度值出現(xiàn)的概率,通過加權(quán)平均值方法計(jì)算得到標(biāo)準(zhǔn)高度值,同時(shí)設(shè)定3D模型高度值的打印浮動(dòng)范圍;
步驟E1:比較各3D模型高度值是否大于標(biāo)準(zhǔn)高度值,并執(zhí)行相應(yīng)操作;
步驟G1:嘗試將各3D模型進(jìn)行初步排版,判斷該排版是否滿足預(yù)設(shè)要求,否,對(duì)排版進(jìn)行調(diào)整,是,執(zhí)行步驟J1;
步驟J1:判斷排版是否需要修改,是,執(zhí)行步驟K1,否,執(zhí)行步驟K2;
步驟K1:對(duì)排版進(jìn)行修改,修改無誤后進(jìn)行3D模型的打??;
步驟K2:進(jìn)行3D模型的打印。
具體地,在A1步驟中,通過錄入排版的數(shù)據(jù)(包括3D模型的尺寸參數(shù)和排版版面的尺寸參數(shù)),得到各3D模型的尺寸參數(shù)和排版版面的尺寸參數(shù),系統(tǒng)自動(dòng)按照參數(shù)自動(dòng)調(diào)整得到最優(yōu)的排版方案。本實(shí)施例中,所述3D模型的尺寸參數(shù)包括3D模型的長、寬、高數(shù)值。
具體地,所述步驟D1中,通過加權(quán)平均值方法計(jì)算得到的標(biāo)準(zhǔn)高度值的計(jì)算公式為:其中,h1為第1個(gè)3D模型的高度值,h2為第2個(gè)3D模型的高度值,hn為第n個(gè)3D模型的高度值,n為需要排版的3D模型的個(gè)數(shù)。
具體地,所述步驟E1包括以下步驟:
步驟E11:比較各3D模型高度值是否大于標(biāo)準(zhǔn)高度值,是,執(zhí)行步驟F11,否,執(zhí)行步驟F14:
步驟F11:調(diào)整3D模型的高度,使其高度小于標(biāo)準(zhǔn)高度值,并判斷該尺寸修改是否在打印浮動(dòng)范圍內(nèi),是,執(zhí)行步驟F12,否,執(zhí)行步驟F13,其中,浮動(dòng)范圍為標(biāo)準(zhǔn)高度值的5%;
步驟F12:執(zhí)行步驟G1;
步驟F13:把該3D模型從這次排版中剔除,并執(zhí)行步驟G1;
步驟F14:不改變3D模型的高度,并執(zhí)行步驟G1。
具體地,所述步驟G1包括以下步驟:
步驟G11:嘗試將各3D模型進(jìn)行初步排版,判斷該排版是否將同一個(gè)客戶需要的3D模型排在同一區(qū)域,否,執(zhí)行步驟G12,是,執(zhí)行步驟G13;
步驟G12:將同一個(gè)客戶需要的3D模型排在同一區(qū)域,并執(zhí)行步驟G13;
步驟G13:判斷所有3D模型是否超出排版版面,是,執(zhí)行步驟G14,否,執(zhí)行步驟G15;
步驟G14:對(duì)3D模型進(jìn)行調(diào)整,并執(zhí)行步驟G15;
步驟G15:判斷相鄰3D模型之間在三維空間上是否接觸,是,執(zhí)行步驟G16,否,執(zhí)行步驟J1;
步驟G16:對(duì)3D模型進(jìn)行調(diào)整,并執(zhí)行步驟J1。
具體地,所述步驟G14包括以下步驟:
步驟G141:判斷超出排版版面的3D模型是否可以刪除,是,執(zhí)行步驟G142,否,執(zhí)行步驟G143;
步驟G142:刪除超出排版版面的3D模型,并執(zhí)行步驟G15;
步驟G143:判斷是否可以刪除排版版面內(nèi)的其他3D模型,是,執(zhí)行步驟G144,否,執(zhí)行步驟G145;
步驟G144:刪除排版版面內(nèi)的其他3D模型,并把超出排版版面的3D模型調(diào)整到排版版面內(nèi),執(zhí)行G15;
步驟G145:放棄本次排版操作。
具體地,所述步驟G16包括以下步驟:
步驟G161:判斷是否可以通過刪除3D模型以使剩下的3D模型在三維空間上互不接觸,是,執(zhí)行步驟G162,否,執(zhí)行步驟G163;
步驟G162:刪除3D模型,并執(zhí)行步驟J1;
步驟G163:放棄本次排版操作。
為了使進(jìn)一步提高排版的有效率,所述步驟G1-步驟J1之間還包括以下步驟:
步驟H11:判斷相鄰3D模型之間的空間是否可以放入適合尺寸的3D模型,是,執(zhí)行步驟I11,否,執(zhí)行步驟I12;
步驟I11:在相鄰3D模型之間的空間放入適合尺寸的3D模型,確定排版并執(zhí)行步驟J1;
步驟I12:不改變當(dāng)前排版并執(zhí)行步驟J1。
如圖2所示,一種關(guān)于上述所述的用于3D打印模型自動(dòng)排版的方法的系統(tǒng),包括:
用于控制整個(gè)系統(tǒng)正常運(yùn)行的中央控制模塊100;
用于獲得錄入的3D模型的排版數(shù)據(jù)的參數(shù)模塊200;
用于根據(jù)3D模型各種放置方式計(jì)算3D模型支撐量的支撐量計(jì)算模塊300;
根據(jù)計(jì)算出的支撐量選取支撐量最少的放置方式,并確定各3D模型高度的高度確定模塊400;
根據(jù)各3D模型高度值出現(xiàn)的概率計(jì)算出標(biāo)準(zhǔn)高度值的標(biāo)準(zhǔn)高度計(jì)算模塊500;
比較各3D模型高度值與準(zhǔn)高度值的大小,并根據(jù)比較結(jié)果調(diào)整3D模型高度值的高度調(diào)整模塊600;
對(duì)各3D模型進(jìn)行初步排版,并判斷排版是否滿足預(yù)設(shè)要求的排版判斷模塊700;
判斷是否可以在相鄰3D模型之間的空間放入適合尺寸的3D模型的3D模型插入模塊800;
所述參數(shù)模塊200、支撐量計(jì)算模塊300、高度確定模塊400、標(biāo)準(zhǔn)高度計(jì)算模塊500、高度調(diào)整模塊600、排版判斷模塊700和3D模型插入模塊800分別都與中央控制模塊100連接,由中央控制模塊100控制運(yùn)行。
本用于3D打印模型自動(dòng)排版的方法通過將需要打印的3D模型輸入電腦,得到各3D模型的尺寸參數(shù),系統(tǒng)根據(jù)預(yù)設(shè)的條件進(jìn)行優(yōu)化自動(dòng)排版,代替人工手工排版,不但省時(shí)省力,效率大大提高,而且打印的準(zhǔn)確性高,打印后無需進(jìn)行核對(duì)部件,方便快捷。
應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對(duì)本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。