背景技術(shù):
已經(jīng)提出了產(chǎn)生三維對象的裝置(包括在市場上被稱為“3d打印機(jī)”的那些)作為潛在的方便方式來生成三維對象。這些裝置通常接收對象模型形式的三維對象的定義。對這種對象模型進(jìn)行處理以指示該裝置利用至少一種生產(chǎn)材料來生成該對象。這些生產(chǎn)材料可以包含生產(chǎn)材料的試劑和粉末物質(zhì)、加熱的聚合物和/或液體溶液的組合。對象模型的處理可以逐層進(jìn)行。生成具有至少一種性質(zhì),例如顏色、機(jī)械和/或結(jié)構(gòu)性質(zhì)的三維對象可能是需要的。對象模型的處理可以基于所裝置的類型和/或所采用生產(chǎn)技術(shù)而不同。以三維形式產(chǎn)生對象面臨著用二維打印裝置所不具有的許多挑戰(zhàn)。
附圖說明
根據(jù)下文的詳細(xì)描述并結(jié)合附圖,本文披露的多個特征將得以顯現(xiàn),該描述和附圖均是以舉例方式說明本文披露內(nèi)容的特征,并且其中:
圖1是示出了根據(jù)一個實例的用于生成三維對象的用于產(chǎn)生控制數(shù)據(jù)的裝置的示意圖;
圖2是示出了根據(jù)一個實例的用于生成三維對象的裝置的示意圖;
圖3是示出了根據(jù)一個實例的可用于產(chǎn)生三維閾值矩陣的結(jié)構(gòu)體積覆蓋表示的一部分的示意圖;
圖4是示出了根據(jù)一個實例的在結(jié)構(gòu)體積覆蓋表示的一部分上進(jìn)行的操作以產(chǎn)生三維矩陣的示意圖;
圖5是示出了根據(jù)一個實例的用于產(chǎn)生三維半色調(diào)閾值矩陣的方法的流程圖;
圖6是示出了根據(jù)一個實例的用于生成三維對象的方法的流程圖;
圖7是示出了根據(jù)一個實例的在三維半色調(diào)處理中使用的電子數(shù)據(jù)結(jié)構(gòu)的示意圖;以及
圖8是一組示例性三維半色調(diào)矩陣的舉例說明。
具體實施方式
在三維對象的生成中,例如在所謂的“3d打印”中,存在的挑戰(zhàn)是控制所產(chǎn)生的對象的結(jié)構(gòu)。例如,產(chǎn)生具有多種結(jié)構(gòu)特性的對象可能是需要的,其會影響所產(chǎn)生對象的材料特性和/或機(jī)械特性,或者受其影響。還希望靈活控制所產(chǎn)生對象的結(jié)構(gòu)。在某些情況下,變化該對象模型的至少一個部分而不需重新設(shè)計或重新產(chǎn)生該對象模型可能是需要的。此外,在對象模型的不同部分的不同預(yù)定結(jié)構(gòu)之間產(chǎn)生平整的、受控的過渡可能是需要的。例如,可以針對第一對象部分來定義第一結(jié)構(gòu),并且針對第二對象部分來定義第二結(jié)構(gòu)。對于兩個部分之間的過渡區(qū),兩個結(jié)構(gòu)的無縫拼接可能是需要的。如所理解的那樣,使用常規(guī)二維打印時并不存在這樣的考慮。
本文中所述的某些實例使得能夠產(chǎn)生三維矩陣以用于半色調(diào)閾值操作中。獲得了結(jié)構(gòu)體積覆蓋表示。該結(jié)構(gòu)體積覆蓋表示參照對應(yīng)于三維對象的至少一部分的至少一個體積元素來定義。該結(jié)構(gòu)體積覆蓋表示包含定義了可用于生成三維對象的至少兩個不同結(jié)構(gòu)的概率分布的數(shù)據(jù)值。該結(jié)構(gòu)體積覆蓋表示可以是基于在三維對象的至少兩個進(jìn)一步的體積元素的多個部分之間預(yù)定義的過渡函數(shù),例如,結(jié)構(gòu)體積覆蓋表示的數(shù)據(jù)值可以代表根據(jù)至少兩個所選部分的數(shù)據(jù)值之間的梯度來確定的中間值。
在某些所述的實例中,將結(jié)構(gòu)體積覆蓋表示的所述數(shù)據(jù)值中的至少一個與預(yù)定的閾值進(jìn)行比較。基于這種比較,然后將與該結(jié)構(gòu)中的一個相關(guān)的半色調(diào)值賦予在半色調(diào)閾值操作中使用的三維矩陣的至少一個相應(yīng)體積元素。因此,在這些實例中的該三維矩陣由這些所賦予的半色調(diào)值產(chǎn)生。然后,可將該三維矩陣應(yīng)用于待生成的對象的數(shù)字表示,例如在半色調(diào)閾值操作中,以產(chǎn)生用于生成該對象的控制數(shù)據(jù)。例如,半色調(diào)閾值操作的輸出可以包含用于添加劑制造系統(tǒng)的沉積或材料形成指令。通過控制用于閾值的三維矩陣的形式,可以控制三維對象的三維結(jié)構(gòu)。此外,通過針對每個體積元素基于可用的預(yù)定義結(jié)構(gòu)的概率分布產(chǎn)生三維矩陣,可以以半色調(diào)水平操作平整結(jié)構(gòu)混合的機(jī)構(gòu)。在這種情況下,“平整”可被定義為連續(xù)變化或接近于連續(xù)變化,例如,當(dāng)隨后數(shù)據(jù)值之間的差低于預(yù)定義的閾值時。在這些實例中,可以針對整個三維對象來操作該機(jī)構(gòu),或者針對三維對象的至少一個過渡區(qū)來操作該機(jī)構(gòu)。過渡區(qū)可被定義為位于具有不同的預(yù)定義結(jié)構(gòu)的至少兩個對象部分之間的區(qū)域。在該過渡區(qū)內(nèi),可以通過這些實例中的機(jī)構(gòu)以半色調(diào)水平獲得結(jié)構(gòu)的平整過渡。
本文中所述的某些實例使得能夠產(chǎn)生具有期望結(jié)構(gòu)混合的三維對象而不需改變對象處理流水線的實質(zhì)部分。這些實例還減少了在對象設(shè)計期間需要做出的具體選擇,例如,當(dāng)對象投產(chǎn)時,設(shè)計的對象的體積或?qū)ο竽P蜔o需表現(xiàn)出結(jié)構(gòu)的所需混合。這可以通過使得在設(shè)計之后對象投產(chǎn)之前在對象處理流水線的階段做出與對象的結(jié)構(gòu)混合相關(guān)的選擇來實現(xiàn),例如,當(dāng)設(shè)計對象被提交為“3d打印任務(wù)”時。因此,可以各種不同的結(jié)構(gòu)、子結(jié)構(gòu)和/或結(jié)構(gòu)混合生成相同的對象。用于對象生成的具體結(jié)構(gòu)混合可以是不同的,取決于以下至少之一:預(yù)定義的梯度函數(shù)、預(yù)定義的混合閾值或混合閾值矩陣、以及至少兩個預(yù)定義結(jié)構(gòu)。在某些情況下,利用基于所需結(jié)構(gòu)混合在生產(chǎn)時間處或附近產(chǎn)生的三維矩陣來對指定對象的體積(體素)所用材料的對象設(shè)計的柵格化版本進(jìn)行半色調(diào)處理。
圖1示出了布置為產(chǎn)生用于生成三維對象的控制數(shù)據(jù)的裝置100的實例。該裝置100包含半色調(diào)生成器110和矩陣生成器120。該半色調(diào)生成器110被布置為接收定義該三維對象的數(shù)據(jù)130并且輸出針對至少一種生產(chǎn)材料的離散指令140。這些指令可以包含沉積指令,例如用于將至少一種試劑沉積在粉末基質(zhì)上或者沉積擠出的聚合物,和/或材料形成或布置指令,例如用于引導(dǎo)激光器件加熱液體或固體材料的控制指令。為了產(chǎn)生沉積指令140,該半色調(diào)生成器110能夠聯(lián)合三維閾值矩陣150一起處理數(shù)據(jù)130。在某些情況下,其可以包含將數(shù)據(jù)130的至少一部分與三維閾值矩陣150的相應(yīng)部分進(jìn)行比較或者等同操作。在一種情況下,該半色調(diào)生成器110能夠利用取自對應(yīng)于該體積的三維閾值矩陣150中的位置的半色調(diào)閾值,在與數(shù)據(jù)130的體積相關(guān)的材料-使用值(例如體素)上實施半色調(diào)閾值操作。在具有雙層沉積機(jī)構(gòu)的添加劑制造系統(tǒng)中,其可以包含“沉積材料”(例如“1”)或“不沉積材料”(例如“0”)形式的輸出沉積指令。例如,如果給定體素的材料-使用值為65%且取回的半色調(diào)閾值為50%,則由于材料-使用值高于閾值,則會針對給定體素輸出“1”的沉積指令。隨著在對應(yīng)于給定體素的輸出位置處生產(chǎn)材料的沉積,這會受到驅(qū)使。在某些系統(tǒng)中,輸出可以包含在生產(chǎn)分辨率下給定體積的三維對象的一組材料形成狀態(tài)中的一個,例如可利用添加劑制造系統(tǒng)訪問的輸出對象的體積和其輸出材料狀態(tài)可通過該系統(tǒng)的選擇性活動改變。
在圖1的實例中,該矩陣生成器120能夠產(chǎn)生供半色調(diào)生成器110使用的三維閾值矩陣150。為了這樣做,矩陣生成器120能夠獲得結(jié)構(gòu)體積覆蓋表示160。參照對應(yīng)于三維對象的至少一個體積元素來定義該結(jié)構(gòu)體積覆蓋表示160。例如,可以結(jié)合該三維對象的數(shù)字表示的至少一個體素來定義該結(jié)構(gòu)體積覆蓋表示160。此外,該結(jié)構(gòu)體積覆蓋表示160包含定義了可用于生成三維對象的至少兩個不同結(jié)構(gòu)的概率分布的數(shù)據(jù)值。該矩陣生成器120能夠?qū)⒔Y(jié)構(gòu)體積覆蓋表示160的至少一個數(shù)據(jù)值與預(yù)定的閾值進(jìn)行比較。該矩陣生成器120進(jìn)一步被布置為基于該比較將與至少兩個結(jié)構(gòu)之一的相關(guān)的數(shù)據(jù)值賦予三維閾值矩陣150的至少一個相應(yīng)體積元素。以這種方式,選擇三維閾值矩陣150的取值,其中可通過半色調(diào)生成器110應(yīng)用該三維閾值矩陣150以通過控制離散材料形成指令140的產(chǎn)生來影響特定結(jié)構(gòu)。因此,根據(jù)離散的材料形成指令140由添加劑制造系統(tǒng)產(chǎn)生的對象展示出取決于三維閾值矩陣150的值的結(jié)構(gòu)特征。
根據(jù)不同的實例,至少兩個不同結(jié)構(gòu)160可以包含兩個不同的半色調(diào)閾值矩陣,例如至少兩個不同的三維閾值矩陣。這些閾值矩陣可以是基于如下閾值矩陣中的至少之一:空隙和聚類(void-and-cluster)矩陣;調(diào)幅(am)矩陣,例如聚類點矩陣;有機(jī)散點型矩陣;和具有預(yù)定義顏色的噪聲矩陣,例如具有不均勻隨機(jī)噪聲的白噪聲矩陣或綠噪聲矩陣(例如利用中頻噪聲分量)。根據(jù)一個實例,不同的結(jié)構(gòu)可以是基于不同單元尺寸的散點。在一種情況下,每一種結(jié)構(gòu)會受到相應(yīng)半色調(diào)閾值矩陣取值的影響。在一個實例中,對應(yīng)于每一種結(jié)構(gòu)的半色調(diào)閾值矩陣可以各自具有相同維度和/或尺寸。
在一個實例中,結(jié)構(gòu)體積覆蓋表示160可以包含至少一個結(jié)構(gòu)體積覆蓋矢量。該結(jié)構(gòu)體積覆蓋矢量可以具有對應(yīng)于至少兩個不同結(jié)構(gòu)的至少兩個矢量分量。在一種情況下,該結(jié)構(gòu)體積覆蓋矢量可以代表至少兩個不同結(jié)構(gòu)矩陣的成比例體積覆蓋。例如,在一個簡單的例子中,結(jié)構(gòu)體積覆蓋矢量可以包含兩個矢量分量[s1,s2],其中每個矢量分量為從0至1的概率值(或者0%至100%的百分比)。在這種情況下,s1可以涉及具有給定半色調(diào)閾值矩陣sm1的第一結(jié)構(gòu)。類似地,s2可以涉及具有給定半色調(diào)閾值矩陣sm2的第二結(jié)構(gòu)。該結(jié)構(gòu)體積覆蓋矢量可以對應(yīng)于一組體積元素中的至少一個第一體積元素,例如根據(jù)特定三維分辨率的一組體素中的一個體素。
在一種情況下,矩陣生成器120可以被布置為基于在至少兩個不同結(jié)構(gòu)之中確定的過渡行為獲得結(jié)構(gòu)體積覆蓋矢量中的至少兩個矢量分量的數(shù)據(jù)值。該過渡行為可被確定為與給定體積元素相關(guān)的位置。在一個實例中,可以基于在至少兩個進(jìn)一步的體積元素的位置之間預(yù)定義的過渡函數(shù)來確定該過渡行為。這些進(jìn)一步的體積元素可以包含三維對象的頂點和/或三維對象的對象屬性幾何形狀中的特定點。可將該過渡行為施加于與每一結(jié)構(gòu)相關(guān)的半色調(diào)閾值矩陣的取值,例如上文中討論的sm1和sm2的取值。在一種情況下,該過渡行為可以代表半色調(diào)閾值矩陣的頂點的取值之間的梯度。根據(jù)一個實例,該過渡行為可以基于給定體積元素的位置距該至少兩個進(jìn)一步的體積元素的位置的確定距離。在一種情況下,該過渡行為可以是基于相對于一組該至少兩個進(jìn)一步的體積元素的一組重心坐標(biāo)。在一個實例中,該過渡行為可以是基于相對于一組該四個進(jìn)一步的體積元素的一組重心坐標(biāo),例如三維形式的單純形(simplex)。在其他的情況下,該過渡行為可以被函數(shù)限定,例如基于立方體頂點之間的對數(shù)或線性過渡函數(shù)。
在一種情況下,可將過渡函數(shù)應(yīng)用于與至少兩個進(jìn)一步的體積元素相關(guān)的數(shù)據(jù)值,該至少兩個進(jìn)一步的體積元素本身就是結(jié)構(gòu)體積覆蓋的指征。在一種情況下,這可以是僅包含至少兩個不同結(jié)構(gòu)矩陣之一的結(jié)構(gòu)體積覆蓋表示。換言之,至少兩個進(jìn)一步的體積元素的結(jié)構(gòu)體積覆蓋矢量可以指示可用結(jié)構(gòu)之一的100%覆蓋和其余可用結(jié)構(gòu)的0%覆蓋。在一個實例中,一個進(jìn)一步的體積元素的結(jié)構(gòu)體積覆蓋矢量可以指示第一可用結(jié)構(gòu)的100%覆蓋,而另一進(jìn)一步的體積元素的結(jié)構(gòu)體積覆蓋矢量可以指示第二可用結(jié)構(gòu)的100%覆蓋。因此,該至少兩個進(jìn)一步的體積元素可以代表在它們之間存在過渡區(qū)的極端位置。在每一極端位置處,該可用結(jié)構(gòu)之一可被定義為100%體積覆蓋。過渡區(qū)中的體積元素針對至少兩個可用的結(jié)構(gòu)可以具有包含非零概率的結(jié)構(gòu)體積覆蓋。
在一個實例中,以類似于其中將二維圖像分為被稱為“像素”的單位面積類似的方式,每一個結(jié)構(gòu)體積覆蓋矢量可以與一系列被稱作“體素”的單位體積相關(guān)。在一種情況下,立方體積可以與體素的每個高度、寬度和深度的常用值(commonvalue)一起使用。在其他的情況下,可以定義自定義單位體積或體素,例如當(dāng)單位體積不是立方的和/或具有彼此不同的高度、寬度和深度的取值(盡管每一個體素與以柵格表示的其他體素具有相同高度、寬度和深度)。在某些情況下,該單位體積或體素可以是非標(biāo)準(zhǔn)的或者自定義的三維形狀,例如體素可以基于德勞內(nèi)鑲嵌(delaunaytessellations)(例如填充對象的四面體)或任何其他空間填充多面體。在這種情況下,該結(jié)構(gòu)體積覆蓋表示可以被儲存為一組數(shù)組(例如以陣列形式的結(jié)構(gòu)),該數(shù)組的一個分量代表三維形式的體素坐標(biāo)(例如質(zhì)心或底角)而該數(shù)組的另外分量代表結(jié)構(gòu)體積覆蓋矢量。
根據(jù)某些實例,矩陣生成器120可被布置為將結(jié)構(gòu)體積覆蓋表示160的至少一個數(shù)據(jù)值與預(yù)定的混合閾值矩陣中的至少一個值進(jìn)行比較。在一種情況下,該預(yù)定的混合閾值矩陣可以與對應(yīng)于至少兩個不同結(jié)構(gòu)中每一個的半色調(diào)閾值矩陣具有相同維度和/或尺寸。在一個實例中,該預(yù)定的混合閾值矩陣中的至少之一和至少兩個半色調(diào)閾值矩陣可以是可重復(fù)的(tileable)。在一種情況下,混合閾值矩陣可以具有不同的粒度。在一個實例中,混合閾值矩陣可以與生成階段體素具有相同的分辨率,例如對于相對高的-分辨率過渡。在另外的實例中,混合閾值矩陣較粗糙的,例如低于生產(chǎn)分辨率的分辨率。在這種情況下,單值可以替換在給定體積(例如立方體體積)內(nèi)變化的一組取值。在這種情況下,單值可以對應(yīng)于立方體乘以用于生產(chǎn)的半色調(diào)閾值矩陣的分辨率。為了舉例說明該實例,使處于生產(chǎn)分辨率的三維對象具有128×128×128的尺寸。為了在兩種結(jié)構(gòu)之間完成混合,可以定義32×32×32混合矩陣,以使得在該特定情況下,在4×4×4打印-分辨率體素的塊上可以使用相同的混合值。換言之,可將相同的混合值應(yīng)用于4×4×4立方體的每一個體素,而不是可能具有不同的值的每一個體素,就像匹配128×128×128打印-分辨率的混合矩陣的情況那樣。
在一種實施方式中,數(shù)據(jù)130包含針對三維對象的至少一個體積的至少一個材料體積覆蓋矢量。材料體積覆蓋矢量代表可用于生成三維對象的添加劑制造系統(tǒng)的材料的概率分布。在一種情況下,每個矢量代表可用于生成三維對象的材料和所述材料的組合的成比例體積覆蓋。例如,對于可用于生成三維對象的k種材料和所述材料的l個離散材料形成狀態(tài),該材料覆蓋矢量包含lk個矢量分量,每一個矢量分量均具有相關(guān)的概率值。在這種情況下,該離散的沉積指令包含來自一組l*k個可用指令值的生產(chǎn)指令,具有生產(chǎn)分辨率的每一個元素針對所述k種材料中的每一種具有l(wèi)個材料形成狀態(tài)指令之一。由材料體積覆蓋矢量定義的該材料和材料組合可以與大量不同的材料類型相關(guān),例如構(gòu)造材料、整理材料、支持或支架材料、試劑和粉末,包括單獨使用的材料、聯(lián)合使用的材料和省略任意材料。
為了解釋材料體積覆蓋矢量的分量,可以考慮一個簡單舉例。在該簡單舉例中,裝置能夠使用兩種材料來產(chǎn)生三維對象:m1和m2。它們可以是被沉積在基材或臺板上的流體構(gòu)造材料,例如排出的或噴射的熔融聚合物,或者其可以包含兩種可沉積的彩色試劑,其被沉積在粉末化構(gòu)造材料的至少一個層上。在后一種情況下,在所制得的三維對象中,每一種“材料”可以對應(yīng)于可沉積試劑和粉末化構(gòu)造材料的固化組合。在前一種情況下,在所制得的三維對象中,每一種“材料”可以對應(yīng)于排出的或噴射的聚合物的凝固部分。在任意情況下,每一種“材料”可通過添加劑制造裝置來沉積,以產(chǎn)生輸出三維對象的所定義的體積(例如以生產(chǎn)分辨率)。
在這個簡單舉例中,如果添加劑制造裝置能夠沉積離散量的每一種材料,例如在二元沉積中,則存在四中不同的材料組合狀態(tài):第一狀態(tài)用于m1而無m2的沉積;第二狀態(tài)用于m2而無m1的沉積;第三狀態(tài)用于m1和m2二者的沉積,例如m2沉積在m1之上或反之亦然;以及第四狀態(tài)用于既無m1也無m2的沉積,例如“空白”(z)或抑制劑。在這種情況下,該材料體積覆蓋矢量具有四個矢量分量:[m1,m2,m1m2,z]。在最后一個矢量分量的情況下,“空白”或“z”可以代表“空”或處理層中不具有材料,例如如果將試劑沉積在構(gòu)造材料的層上,則其可以代表不存在用于處理層的構(gòu)造材料,即使該構(gòu)造材料直至已經(jīng)生成了完整的對象才能被除去。
在另外的實例中,雙-材料系統(tǒng)在[x,y,z]處可以具有材料體積覆蓋矢量(mvoc)[m1:0.2,m2:0.1,m1m2:0.5,z:0.2]且閾值為0.5([0至1]浮點數(shù)值范圍),已經(jīng)確立了mvoc和閾值對應(yīng)于相同的空間位置[x,y,z]。在這個實例中,第一步是將mvoc解釋為從cmvoc[m1:0.2,m2:0.1,m1m2:0.5,z:0.2]到cmvoc[m1:0.2,m2:0.3,m1m2:0.8,z:1.0]的累積的概率分布cmvoc,從而得到對應(yīng)于m1的區(qū)間[0至0.2]、對應(yīng)于m2的(0.2至0.3]、對應(yīng)于m1m2的區(qū)間(0.3至0.8]以及對應(yīng)于z的區(qū)間(0.8至1.0],其中“(“代表開區(qū)間而“]”代表閉區(qū)間。然后將閾值(例如0.5)與這些區(qū)間進(jìn)行比較。在這種具體情況下,0.5落入?yún)^(qū)間(0.3to0.8]中,使得在位置[x,y,z]處選擇m1m2。
在一種情況下,裝置100可以作為添加劑制造系統(tǒng)的一部分來實現(xiàn),例如可以包含“3d打印機(jī)”電子器件或部分嵌入式控制器。在其他情況下,裝置100的至少一個部分可以作為儲存在非暫時性存儲介質(zhì)上的可執(zhí)行代碼來實現(xiàn),其包括指令并且當(dāng)該指令由至少一個處理器執(zhí)行時會使得處理器實施本文所述的裝置100的至少一個部分的功能性。這種可執(zhí)行代碼可以另外地從至少一個易失性或非易失性存儲器存取數(shù)據(jù),例如隨機(jī)存取存儲器、只讀存儲器和/或硬盤驅(qū)動器。該至少一個處理器可以形成添加劑制造系統(tǒng)的部分(例如“3d打印機(jī)”的計算模塊)和/或可以形成通信連接至添加劑制造系統(tǒng)的計算機(jī)設(shè)備的部分(例如被構(gòu)造為控制安裝在計算機(jī)設(shè)備上的“3d打印機(jī)”和/或“3d打印驅(qū)動器”的臺式電腦)。在一種情況下,該計算機(jī)設(shè)備可以包含通信連接至添加劑制造系統(tǒng)的服務(wù)器;例如使用者從移動計算設(shè)備提交定義三維對象的數(shù)據(jù)130以用于“在云端”通過裝置100進(jìn)行處理,然后該裝置100將材料形成指令140經(jīng)由網(wǎng)絡(luò)通信信道發(fā)送至添加劑制造系統(tǒng)。在一種情況下,該裝置100的至少一個部分可以作為至少一個應(yīng)用型專用集成電路(asic)實現(xiàn)。asic可以是標(biāo)準(zhǔn)的、完全定制的或部分定制的。在一個實例中,asic可以具有結(jié)構(gòu)化設(shè)計。該asic可以包含至少一個微處理器和/或至少一個存儲塊。在另外的實例中,asic可以包含至少一個門陣列,例如域可編程門陣列。該域可編程門陣列可以包含可編程邏輯塊的陣列和可重構(gòu)互連的層次。在特定的實例中,可編程邏輯塊的陣列可以包含存儲元件,例如觸發(fā)器。在一個實例中,該asic可被布置成接收定義三維對象的數(shù)據(jù)130。根據(jù)一個實例,該asic可以通信連接至至少一個中央處理器??梢酝ㄟ^至少一個中央處理器來存取數(shù)據(jù)130。該至少一個中央處理器可以包含通用中央處理器和專用中央處理器中的至少一個。根據(jù)某些實例,該asic和/或中央處理器可被布置為操作半色調(diào)生成器110和矩陣生成器120中的至少一個。
現(xiàn)將參照圖2來描述布置為根據(jù)材料形成指令140來生成三維對象裝置的一個實例。圖2示出了布置為生成三維對象260的裝置200的實例。該裝置200能夠接收三維對象的數(shù)據(jù)210,其可以包含如下文所述的材料形成指令140。在一種情況下,裝置200的至少一個可以作為儲存在非暫時性存儲介質(zhì)上的可執(zhí)行代碼來實現(xiàn),其包括指令并且當(dāng)該指令由至少一個處理器執(zhí)行時會使得處理器實施本文所述的裝置200的至少一個部分的功能性。裝置200被示出和描述以用于更好地理解當(dāng)前所述的實例;可以替代性地使用具有本文所述結(jié)構(gòu)體積覆蓋表示的不同形式和/或利用不同技術(shù)的其他裝置。
在圖2中,裝置200包含沉積控制器220和存儲器225。該沉積控制器220可以包含形成嵌入式計算裝置的部分的至少一個處理器,例如適用于控制添加劑制造系統(tǒng)。存儲器225可以包含易失性和/或非易失性存儲器,例如非暫時性存儲介質(zhì),其被布置為存儲計算機(jī)程序代碼,例如以固件的形式。固件可以包含機(jī)器可讀指令和/或可執(zhí)行代碼,其包含至少一個處理器的指令。該沉積控制器220通信連接至布置為構(gòu)成三維對象的裝置的方面(aspects)。其包含沉積機(jī)構(gòu)230。該沉積機(jī)構(gòu)230能夠沉積生產(chǎn)材料以產(chǎn)生三維對象。在當(dāng)前情況下,沉積機(jī)構(gòu)包含基材供給機(jī)構(gòu)235和試劑噴射機(jī)構(gòu)240、245。在其他情況下,沉積機(jī)構(gòu)230可以包含更少的或額外的部件,例如基材供給機(jī)構(gòu)可以與試劑噴射機(jī)構(gòu)分別提供或被省略,或者其他部件,例如沉積機(jī)構(gòu)230可以包含聚合物擠出機(jī)構(gòu)。在圖2的示例性實例中,該試劑噴射機(jī)構(gòu)240、245包含兩個部件:第一部件240用于提供第一試劑(例如上文所述的材料m1)而第二部件245用于提供第二試劑(例如上文所述的材料m2)。本實例中存在兩種材料是為了容易地解釋,但也可以提供任意數(shù)目的材料。試劑形式的類似材料僅僅是處于舉例的目的進(jìn)行描述。基材供給機(jī)構(gòu)235能夠提供至少一個基材層,在該層上通過試劑噴射機(jī)構(gòu)240、245來沉積可用于生產(chǎn)的材料以生成三維對象260。在當(dāng)前情況下,該材料包含施加于粉末基材的試劑,其中試劑和粉末的組合,接著進(jìn)行固化處理,形成對象的部分。然而,其他實施方式也是可能的,例如可將材料沉積形成部分的對象,例如按照上文討論的聚合物的情況。在圖2的實例中,三維對象260在臺板250上逐層構(gòu)造。圖2中所示出的方面和部件的布置并不是限制性的;每個裝置的精確布置將根據(jù)所實施的生產(chǎn)技術(shù)和裝置的模型而變化。
在圖2的實例中,沉積控制器220被構(gòu)造為處理和/或另外地利用數(shù)據(jù)210來控制沉積機(jī)構(gòu)230的至少一個部件。該沉積控制器220可以控制基材供給機(jī)構(gòu)235和試劑噴射機(jī)構(gòu)240、245中的至少一個。例如,可以通過沉積控制器220來使用數(shù)據(jù)140中的離散的材料形成指令以控制試劑噴射機(jī)構(gòu)中的噴嘴。在一種實施方式中,裝置200可被布置為使用分別由試劑噴射機(jī)構(gòu)240、245的部件提供的凝聚試劑和凝聚改性劑。這些試劑使得三維對象具有不同的材料特性。它們可以與至少一種有色粉末狀基材材料組合使用,例如利用噴墨機(jī)構(gòu)來施加至沉積的粉末層,以產(chǎn)生具有不同材料特性的多色對象。如果可以使用多種粉末狀基材材料,則在某些情況下,其也可以形成材料體積覆蓋矢量的“材料”的部分。在這些情況下,可以通過將至少凝聚試劑和凝聚改性劑沉積在基材材料的層上,例如形成z-平面分割的粉末或其他材料的層,之后通過施加能量來粘合材料(例如紅外或紫外光),來構(gòu)造所產(chǎn)生的對象。例如,基材供給機(jī)構(gòu)235和試劑噴射機(jī)構(gòu)240、245中的至少一個可相對于臺板250移動,例如在x、y和z中至少之一的方向上(其中對于圖2,y軸指向紙張內(nèi))。基材供給機(jī)構(gòu)235,試劑噴射機(jī)構(gòu)240、245和臺板250中的至少之一可以是可移動的,在沉積控制器220的控制下可實現(xiàn)這種移動。另外,也可以在固化的和/或未固化的層上沉積至少一層油墨,其中這些油墨也形成材料體積覆蓋矢量的“材料”的部分。在其他的實施方式中,除此之外,該裝置可以包含選擇性激光燒結(jié)系統(tǒng)、立體光刻系統(tǒng)、噴墨系統(tǒng)、熔融沉積模擬系統(tǒng)、任意三維打印系統(tǒng)、噴墨沉積系統(tǒng)和分層對象制造系統(tǒng)的部分。它們包括直接沉積材料的裝置,而不是所述那些使用各種不同試劑的裝置。
在一種情況下,可將裝置100和沉積控制器220的功能性組合于一個嵌入式系統(tǒng),其能夠接收定義三維對象的數(shù)據(jù)130,或可用于產(chǎn)生它的數(shù)據(jù),并且由此控制該裝置200。這可能是因為“獨立(standalone)”裝置能夠接收數(shù)據(jù)210,例如通過物理傳輸和/或在網(wǎng)絡(luò)上,并產(chǎn)生對象。例如,可將這種裝置通信連接至能夠?qū)瑢ο蠖x130或可用于產(chǎn)生對象定義130的數(shù)據(jù)的“打印任務(wù)”發(fā)送至二維打印機(jī)形式的裝置的計算機(jī)設(shè)備。
圖3示意性地示出了根據(jù)一個實例的三維對象體積的結(jié)構(gòu)體積覆蓋矢量的表示300。對于體積,多個獨立的預(yù)定義的結(jié)構(gòu)表示是可用的,包括至少第一結(jié)構(gòu)表示310和第二結(jié)構(gòu)表示320??梢粤硗獾厥褂眠M(jìn)一步的結(jié)構(gòu)表示,直至包括第n結(jié)構(gòu)表示330。在一種情況下,每一個可用的結(jié)構(gòu)表示可以具有用于針對給定體積進(jìn)行半色調(diào)處理操作的相應(yīng)概率。在這種情況下,該相應(yīng)概率由取值a1、a2、…、an給定。例如,結(jié)構(gòu)表示可以在特定的半色調(diào)閾值矩陣中體現(xiàn)。在圖3的實例中,可以存在n個不同的半色調(diào)閾值矩陣。在這種情況下,取值a1代表使用第一結(jié)構(gòu)表示310的概率,取值a2代表使用第二結(jié)構(gòu)表示320的概率;等等直至使用代表第n結(jié)構(gòu)表示330的取值an。每個結(jié)構(gòu)表示可以是獨立的,例如其可以作為包含閾值的單獨數(shù)據(jù)結(jié)構(gòu)被儲存。根據(jù)另外的情況,在半色調(diào)處理操作期間a1、a2、…、an可以是由每一相應(yīng)結(jié)構(gòu)表示代表的給定體積的比例的取值指征??蓪⑷≈礱1、a2、…、an中的至少之一合并以形成至少部分的結(jié)構(gòu)體積覆蓋矢量340。在一個實例中,可將所有的取值a1、a2、…、an組合以形成結(jié)構(gòu)體積覆蓋矢量340。可將形成結(jié)構(gòu)體積覆蓋矢量340的部分的取值a1、a2、…、an各項加和達(dá)到統(tǒng)一。在一個實例中,取值a1、a2、…、an可以來自于概率分布,其可以是連續(xù)表示的。在進(jìn)一步的實例中,可基于預(yù)定義的過渡函數(shù)來確定取值a1、a2、…、an。根據(jù)某些實例,該結(jié)構(gòu)體積覆蓋矢量340可以代表連續(xù)概率分布,例如作為特定的量化值。
根據(jù)圖3中所示出的實例,結(jié)構(gòu)體積覆蓋矢量340形成至少部分的該結(jié)構(gòu)體積覆蓋表示350。在一個實例中,該結(jié)構(gòu)體積覆蓋表示可以包含單個結(jié)構(gòu)體積覆蓋矢量340。在另外的實例中,該結(jié)構(gòu)體積覆蓋表示可以包含多個結(jié)構(gòu)體積覆蓋矢量340。形成結(jié)構(gòu)體積覆蓋表示350的部分的結(jié)構(gòu)體積覆蓋矢量340的數(shù)目可以對應(yīng)于針對三維對象所定義的體積的數(shù)目。例如,可以針對三維對象的柵格化數(shù)字表示中的多個體素中的每一個來定義結(jié)構(gòu)體積覆蓋矢量。在另外的情況下,可以與三維對象的各自多個體積相關(guān)地來定義多個結(jié)構(gòu)體積覆蓋矢量,例如該三維對象的不同部分的表示。在后一種情況下,體積元素可以被幾何定義,例如定義為由于多個點包圍的體積。根據(jù)一個實例,除了至少一個結(jié)構(gòu)體積覆蓋矢量340之外,該結(jié)構(gòu)體積覆蓋表示350可以包含其他的信息、數(shù)據(jù)和/或表示。
圖4示出了根據(jù)一個實例在結(jié)構(gòu)體積覆蓋表示410的一部分上實施的操作400以產(chǎn)生三維矩陣的示意性表示。該結(jié)構(gòu)體積覆蓋表示410包含至少一個結(jié)構(gòu)體積覆蓋矢量420。該結(jié)構(gòu)體積覆蓋矢量420具有n個分量,每一個均對應(yīng)于與n個結(jié)構(gòu)矩陣之一相關(guān)的概率ai,如根據(jù)圖3中所示的實例中所描述的。結(jié)構(gòu)體積覆蓋矢量420由矩陣生成器430獲得。該矩陣生成器430將至少部分的結(jié)構(gòu)體積覆蓋矢量的與預(yù)定義的閾值進(jìn)行比較。基于所述比較,將與n個結(jié)構(gòu)矩陣之一相關(guān)的取值440賦予至三維矩陣。
在特定的實例中,可以針對由矩陣生成器430獲得的每一個結(jié)構(gòu)體積覆蓋矢量為三維矩陣賦值,例如所得的三維半色調(diào)閾值矩陣,例如可以與該結(jié)構(gòu)體積覆蓋表示相同的分辨率產(chǎn)生圖1中的150。在其他的情況下,可以以不同于結(jié)構(gòu)體積覆蓋表示的分辨率產(chǎn)生所得的三維半色調(diào)閾值矩陣,例如通過將基于單個結(jié)構(gòu)體積覆蓋矢量產(chǎn)生的值映射至所得三維半色調(diào)閾值矩陣中的多個體積或者通過針對多個結(jié)構(gòu)體積覆蓋矢量組合取值。
圖5示出了根據(jù)一個實例的在三維對象的生成中使用的用于生成三維半色調(diào)閾值矩陣的方法500。該方法可以通過裝置100和沉積控制器220中的任一種,通過另外的添加劑制造系統(tǒng)或通過布置為控制添加劑制造系統(tǒng)的計算機(jī)設(shè)備來應(yīng)用。在塊510中,獲得了三維對象的結(jié)構(gòu)體積覆蓋表示。該結(jié)構(gòu)體積覆蓋表示包含三維對象的至少一個體積的結(jié)構(gòu)體積覆蓋矢量。該結(jié)構(gòu)體積覆蓋矢量代表至少兩個不同結(jié)構(gòu)矩陣的成比例體積覆蓋。在塊520中,將半色調(diào)閾值賦予至三維半色調(diào)閾值矩陣的對應(yīng)體積。該半色調(diào)閾值對應(yīng)于至少兩個不同結(jié)構(gòu)矩陣之一,例如可以包含來自至少兩個不同結(jié)構(gòu)矩陣之一的值?;诮Y(jié)構(gòu)體積覆蓋矢量與預(yù)定的混合閾值的比較來賦予該半色調(diào)閾值。來自方法500的所得的三維半色調(diào)閾值矩陣可應(yīng)用于三維對象的對象定義,以指示三維對象的生成,例如通過半色調(diào)處理三維對象的數(shù)字對象表示。尤其是,所賦予的半色調(diào)閾值可用于應(yīng)用于對應(yīng)該三維對象的一個層的數(shù)字表示的一部分。
在一種情況下,方法500包含針對三維對象獲得前述數(shù)字表示;利用三維半色調(diào)閾值矩陣來半色調(diào)處理該數(shù)字表示以產(chǎn)生用于生成該三維對象的控制數(shù)據(jù);以及利用所產(chǎn)生的控制數(shù)據(jù)在添加劑制造系統(tǒng)上產(chǎn)生該三維對象。在這種情況下,可以在設(shè)計階段之后打印階段之前實施該半色調(diào)處理,例如接近生產(chǎn)處理流水線的末端,或者在生產(chǎn)處理流水線的晚期。此外,針對不同的所需結(jié)構(gòu)、子結(jié)構(gòu)和/或結(jié)構(gòu)混合可以差異化地產(chǎn)生三維半色調(diào)閾值矩陣,而無需改變?nèi)S對象的數(shù)字表示。這使得能夠靈活地設(shè)計三維對象并且能夠在生產(chǎn)時間附近進(jìn)行結(jié)構(gòu)選擇。在一種情況下,方法500的至少一個部分可以通過儲存在非暫時性存儲介質(zhì)上的可執(zhí)行代碼來實現(xiàn),其包括指令,并且當(dāng)該指令由至少一個處理器執(zhí)行時會使得處理器實施本文所述的方法500的至少一個部分的功能性。在另外的情況下,可以通過至少一個asic來實施方法500的至少一個部分。該asic可以是標(biāo)準(zhǔn)的、完全定制的或部分定制的。在一個實例中,asic可以具有結(jié)構(gòu)化設(shè)計。該asic可以包含至少一個微處理器和/或至少一個存儲塊。在另外的實例中,asic可以包含至少一個門陣列,例如域可編程門陣列。該域可編程門陣列可以包含可編程邏輯塊的陣列和可重構(gòu)互連的層次。在特定的實例中,可編程邏輯塊的陣列可以包含存儲元件,例如觸發(fā)器。在一個實例中,asic可被布置為在塊510處獲得結(jié)構(gòu)體積覆蓋表示。根據(jù)一個實例,該asic可以通信連接至至少一個中央處理器??梢酝ㄟ^至少一個中央處理器在塊520處為該半色調(diào)閾值賦值。該至少一個中央處理器可以包含通用中央處理器和專用中央處理器中的至少一個。
圖6示出了根據(jù)一個實例的在三維對象的生成中使用的用于產(chǎn)生三維半色調(diào)閾值矩陣的方法600。該方法可以通過裝置100和沉積控制器220中的任一種,通過另外的添加劑制造系統(tǒng)或通過布置為控制添加劑制造系統(tǒng)的計算機(jī)設(shè)備來應(yīng)用。該方法始于針對三維對象的數(shù)字表示,例如其可以在預(yù)處理步驟中獲得。該數(shù)字表示可以包含針對三維對象的至少一個體積的至少一個材料體積覆蓋矢量。在塊610中,選擇三維對象的給定體積并且獲得針對該給定體積的局部過渡行為。在一種情況下,可針對該數(shù)字表示的每一定義體積重復(fù)塊610至塊650,例如針對每一輸入體素。根據(jù)一個實例,局部過渡行為可以是基于預(yù)定義的過渡函數(shù)。這個函數(shù)可以在被選擇性應(yīng)用于包含矩陣取值的數(shù)據(jù)的計算機(jī)程序代碼和/或處理電子器件中體現(xiàn)。該預(yù)定義的過渡函數(shù)可以在至少兩個進(jìn)一步的體積的位置之間,例如在對象的三維空間中的至少兩個點之間被預(yù)定義。在一個實例中,該預(yù)定義的過渡函數(shù)可以是對數(shù)函數(shù)、多項式函數(shù)或指數(shù)函數(shù)。在另外的實例中,該預(yù)定義的過渡函數(shù)可以是各種函數(shù)的組合。在特定的實例中,該局部過渡行為可以是基于空間劃分。在一個這樣的實例中,該局部過渡行為可以是基于具有線性四面體插值的空間劃分。在某些情況下,該局部過渡行為可以包含應(yīng)用特定的計算機(jī)程序代碼和/或處理電子器件。
在塊620中,針對三維對象獲得了結(jié)構(gòu)體積覆蓋表示。該結(jié)構(gòu)體積覆蓋表示可以是基于在塊610所獲得的局部過渡行為。例如,可以針對多個體素的每一個獲得局部過渡行為并且這可以被用于針對多個體素的每一個產(chǎn)生結(jié)構(gòu)體積覆蓋矢量(“svoc”)取值。在圖6的實例中,在塊620獲得的結(jié)構(gòu)體積覆蓋表示可以是基于針對相對于一組至少兩個進(jìn)一步的體積的特定給定體積確定的一組重心坐標(biāo),即,三維空間中的位置。在一個實例中,該結(jié)構(gòu)體積覆蓋表示可以是基于針對相對于一組四個進(jìn)一步的體積的給定體積確定的一組重心坐標(biāo)。該四個進(jìn)一步的體積可以是三維簡單形的頂點的表示。在另外的實例中,該進(jìn)一步的體積可以是相對于三維簡單形的頂點的面和或邊的表示。該結(jié)構(gòu)體積覆蓋表示包含針對至少一個體積的結(jié)構(gòu)體積覆蓋矢量,其代表至少兩個不同矩陣的成比例體積覆蓋。一個實例中,該結(jié)構(gòu)體積覆蓋矢量可以包含一組概率,對應(yīng)于該至少兩個結(jié)構(gòu)閾值矩陣之一的每一個概率可用于針對三維對象生成進(jìn)行半色調(diào)操作。在一種情況下,結(jié)構(gòu)體積覆蓋矢量的取值可以基于在至少兩個進(jìn)一步的體積處的至少兩個不同結(jié)構(gòu)矩陣的取值之間的梯度來生成。換言之,該至少兩個進(jìn)一步的體積可被認(rèn)為是結(jié)構(gòu)絕對性(structuralabsolutes),在它們之間存在過渡區(qū)。例如,如果四個不同的可用的結(jié)構(gòu)的四個結(jié)構(gòu)矩陣(smi)表示和局部過渡行為被定義為具有線性四面體插值的空間劃分,則對于定位[x,y,z],結(jié)構(gòu)體積覆蓋矢量在結(jié)構(gòu)劃分中可被計算為重心坐標(biāo)[a1,a2,a3,a4],以使得針對結(jié)構(gòu)體積覆蓋矢量的分量的取值為[s1:a1,s2:a2,s3:a3,s4:a4],其中分量s1至s4涉及各個矩陣sm1至sm4。
結(jié)構(gòu)劃分可以被認(rèn)為是其頂點與結(jié)構(gòu)矩陣相關(guān)的空間位置的幾何劃分。對于示例性舉例,使得存在待施加至立方對象的兩個結(jié)構(gòu)矩陣(sm1和sm2)。在這兩個結(jié)構(gòu)矩陣之一的八個立方體頂點處可以明確地定義為具有100%覆蓋(或100%概率)。例如,sm1可以在頂點[000]、[010]、[100]和[110](例如立方體的底面)處具有100%覆蓋,而sm2可以在頂點[001]、[011]、[101]和[111](例如立方體的頂面)處具有100%覆蓋。對于這個空間可產(chǎn)生三角劃分,產(chǎn)生結(jié)構(gòu)劃分(例如四面體化),其中在每一種情況下頂點中的至少一個來自不同于另外三個。例如,可以產(chǎn)生四面體,以使得[000]、[100]、[101]和[110]為其頂點,在該情況下,三個頂點使用sm1而一個頂點使用sm2??梢越柚谥匦淖鴺?biāo)來計算前述結(jié)構(gòu)劃分(例如四面體)中的任意點,其將通過半色調(diào)處理對象的sm1和sm2來指示各個覆蓋。換言之,結(jié)構(gòu)劃分可被認(rèn)為是結(jié)構(gòu)體積覆蓋被定義處的定位的幾何劃分,從而可以借助于插值來計算中間結(jié)構(gòu)體積覆蓋。
在塊630中,將確定的結(jié)構(gòu)體積覆蓋矢量與預(yù)定的混合閾值進(jìn)行比較以確定用于三維半色調(diào)閾值矩陣的取值。在一個實例中,該預(yù)定的混合閾值可以是基于預(yù)定的過渡閾值矩陣。因此,可將與至少一個體積相關(guān)的結(jié)構(gòu)體積覆蓋矢量與預(yù)定的過渡閾值矩陣中的取值進(jìn)行比較,其中該預(yù)定的過渡閾值矩陣可被定義和/或預(yù)處理為對應(yīng)于定義了結(jié)構(gòu)體積覆蓋表示的分辨率的分辨率,例如以使得可以基于特定的三維坐標(biāo)([xc,yc,zc])取回適當(dāng)?shù)闹怠T谝环N情況下,該預(yù)定的過渡閾值矩陣可以與至少兩個不同結(jié)構(gòu)矩陣中的每一個具有相同等級。在圖6所示的實例中,使得具有兩個可用的結(jié)構(gòu)矩陣(sm1和sm2),每一個具有不同的半色調(diào)閾值。在這種情況下,該結(jié)構(gòu)體積覆蓋矢量可被表示為[s1:a1,s2:a2],其中a1和a2可以是分別與使用sm1和sm2相關(guān)的概率的指征,并且s1和s2可以表示不同的矢量分量。在這種情況下,可以將預(yù)定的混合閾值和/或預(yù)定的過渡閾值矩陣中的取值與塊630中的取值a1和a2進(jìn)行比較。正如能夠理解的,在某些情況下,概率值也可以被間接或者相對地定義,例如前述的結(jié)構(gòu)體積覆蓋矢量可被替代性地表示為[s1:a1,s2:(1-a1)],因為與第二結(jié)構(gòu)矩陣sm2相關(guān)的概率a2可被定義為1-a1,其是與第一結(jié)構(gòu)矩陣sm1相關(guān)的概率。在這些情況下,在塊630中,可將該預(yù)定的混合閾值和/或預(yù)定的過渡閾值矩陣中的取值與單個取值a1進(jìn)行比較。在兩種情況下,在圖6的實例中,如果預(yù)定的混合閾值和/或預(yù)定的過渡閾值矩陣中的取值落入第一范圍內(nèi),例如0至a1之間,則在塊640中將對應(yīng)于第一結(jié)構(gòu)的半色調(diào)閾值,例如結(jié)構(gòu)矩陣sm1在坐標(biāo)[xc,yc,zc]處的值,賦予至三維半色調(diào)閾值矩陣的體積。該三維半色調(diào)閾值矩陣的體積可以對應(yīng)于與用于比較的該結(jié)構(gòu)體積覆蓋矢量相關(guān)的體積(例如可以由兩個矩陣中的坐標(biāo)[xc,yc,zc]來定義該體積)。在塊630中,如果預(yù)定的混合閾值和/或預(yù)定的過渡閾值矩陣中的取值落入第二范圍,例如a1至1之間,則在塊650將對應(yīng)于第二結(jié)構(gòu)的半色調(diào)閾值,例如結(jié)構(gòu)矩陣sm2在坐標(biāo)[xc,yc,zc]處的取值,賦予至三維半色調(diào)閾值矩陣的體積。
在其他的實例中,可以使用多于兩個不同的結(jié)構(gòu)矩陣。在一種情況下,可以使用四個結(jié)構(gòu)矩陣。在這種情況下,該結(jié)構(gòu)體積覆蓋矢量可由[s1:a1,s2:a2,s2:a3,s4:a4](或[s1:a1,s2:a2,s3:a3,s4:(1-a1-a2-a3)])來表示。在這種情況下,如果預(yù)定的混合閾值落入第一范圍,例如0至a1之間,則可將對應(yīng)于第一結(jié)構(gòu)的半色調(diào)閾值,例如結(jié)構(gòu)矩陣sm1,賦予至三維半色調(diào)閾值矩陣的體積。如果預(yù)定的混合閾值落入第二范圍,例如a1至a1+a2之間,則可將對應(yīng)于第二結(jié)構(gòu)的半色調(diào)閾值,例如結(jié)構(gòu)矩陣sm2,賦予至三維半色調(diào)閾值矩陣的體積。如果預(yù)定的混合閾值落入第三范圍,例如a1+a2至a1+a2+a3之間,則可將對應(yīng)于第三結(jié)構(gòu)的半色調(diào)閾值,例如結(jié)構(gòu)矩陣sm3,賦予的至三維半色調(diào)閾值矩陣的體積。最后,如果預(yù)定的混合閾值落入第四范圍,例如a1+a2+a3至1之間,則可將對應(yīng)于第四結(jié)構(gòu)的半色調(diào)閾值,例如結(jié)構(gòu)矩陣sm4,賦予的至三維半色調(diào)閾值矩陣的體積。通常,對于n個可用的結(jié)構(gòu)矩陣,可以使用一組至少n-1個概率值,將范圍0至1之間的范圍分割為n個區(qū)間,每一個結(jié)構(gòu)矩陣針對一個區(qū)間。在一個實例中,可以針對至少一個體積產(chǎn)生n個可用的結(jié)構(gòu)矩陣的累積概率分布。在該實例中,可將預(yù)定的混合閾值和/或預(yù)定的過渡閾值矩陣的取值與累積概率分布進(jìn)行比較,以確定哪個半色調(diào)閾值可以適合于被賦予至三維半色調(diào)閾值矩陣的相應(yīng)體積。
可針對多個體素中的每一個重復(fù)塊610至塊650,以產(chǎn)生具有每一個體素的閾值的完整三維半色調(diào)閾值矩陣。在這個實例中,在塊660中,利用所產(chǎn)生的三維半色調(diào)閾值矩陣基于在塊640和塊650中所賦予的半色調(diào)閾值對三維對象的數(shù)字表示進(jìn)行半色調(diào)處理。該半色調(diào)處理操作產(chǎn)生用于生成三維對象的控制數(shù)據(jù)。在塊670,利用所產(chǎn)生的控制數(shù)據(jù)在添加劑制造系統(tǒng)上生成三維對象。
在一種情況下,三維對象的數(shù)字表示可以至少來自于以基于矢量的格式接收的三維對象模型數(shù)據(jù),例如數(shù)據(jù)來自stereolithography“.stl”文件。在某些情況下,其可被轉(zhuǎn)化為預(yù)定的柵格分辨率。基于矢量的格式利用所定義的幾何模型代表三維對象,例如多邊形的網(wǎng)孔和/或三維形狀模型的組合。例如,“.stl”文件可以包含在三個維度中的一列頂點的形式的矢量表示,連同三角剖分或三個頂點之間關(guān)聯(lián)的形式的表面劃分。該柵格表示可以包含多個定義的單位體素或定制體素,例如至少一個尺寸的定義體積。
圖7示出了根據(jù)一個實例在三維半色調(diào)處理中使用的電子數(shù)據(jù)結(jié)構(gòu)700。該電子數(shù)據(jù)結(jié)構(gòu)700可被儲存在非暫時性計算機(jī)可讀存儲介質(zhì)中,例如易失性存儲器、非易失性存儲器以及磁存儲器或固態(tài)存儲器,以及其他存儲介質(zhì)。該非暫時性計算機(jī)可讀存儲介質(zhì)可被布置為存儲計算機(jī)程序代碼,例如以固件的形式。固件可以包含機(jī)器可讀指令和/或包括指令的可執(zhí)行代碼。在圖7中,該電子數(shù)據(jù)結(jié)構(gòu)700包含連同三維空間中的多個坐標(biāo)720一起定義的數(shù)據(jù)值710。如所示出的,在x、y和z維度上根據(jù)網(wǎng)格分辨率定義坐標(biāo),例如可以包含根據(jù)x、y和z維度的每一個中的預(yù)定分辨率或一組離散值定義的體素的中心或角。在圖7中,數(shù)據(jù)值710包含用于三維半色調(diào)操作的閾值。其為布置為平行于x和y維度的多個z-維度平面的表示,例如圖7中的組730、740和750所示的。組730具有第一常用z坐標(biāo)值(“0”);組740具有第二常用z坐標(biāo)值(“1”);且組750具有第三常用z坐標(biāo)值(“2”)。這可以對于多個z-層重復(fù)。數(shù)據(jù)值710中的至少一個包含至少兩個不同的預(yù)定義空間結(jié)構(gòu)之一的指征。該指征基于針對與所述數(shù)據(jù)值710有關(guān)的坐標(biāo)的至少兩個預(yù)定義空間結(jié)構(gòu)的概率分布來確定。在圖7所示的實例中,組730中的坐標(biāo)分別具有空間結(jié)構(gòu)“1”、“1”和“2”的數(shù)據(jù)值指征。組740中的坐標(biāo)分別具有結(jié)構(gòu)“2”、“1”和“1”的數(shù)據(jù)值指征。如此處示出的,不需要為每個坐標(biāo)明確地賦予與每一空間結(jié)構(gòu)相關(guān)的閾值數(shù)據(jù)值;而是,可以使用引用或索引來使用該值。此處,值為“1”可以指示在給定坐標(biāo)720處將從結(jié)構(gòu)矩陣sm1取回半色調(diào)閾值,而值為“2”可以指示在給定坐標(biāo)720處將從結(jié)構(gòu)矩陣sm2取回半色調(diào)閾值。因此,圖7的電子數(shù)據(jù)結(jié)構(gòu)700可被用于存儲三維半色調(diào)閾值矩陣,以用于圖1的半色調(diào)生成器110使用或者在圖5的方法中使用。
示出了圖7舉例,并且可以使用其他格式來存數(shù)電子數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)值。例如,電子數(shù)據(jù)結(jié)構(gòu)700的緊湊表示可以替代性地包含:三維半色調(diào)閾值矩陣的寬度、深度和高度的定義;橫跨矩陣的指示順序;以及包含閾值的數(shù)據(jù)值710的序列。這不要求多個坐標(biāo)720;它們可以通過其他指示參數(shù)被隱含編碼。
圖8示出了可以利用本文所述的實例制造的三維半色調(diào)矩陣810、820和830的一系列實例。例如,三維半色調(diào)矩陣可以包含圖1中的三維閾值矩陣150的多個版本。每個示例性矩陣810、820和830包含兩個不同結(jié)構(gòu)840和850的混合或摻混。第一結(jié)構(gòu)840包含在三個維度上分布的二維藍(lán)噪聲半色調(diào)矩陣。第二結(jié)構(gòu)850包含在三個維度上定義的藍(lán)噪聲接種的有機(jī)晶格(blue-noise-seededorganiclattice)(hart10-3)。通過各自的三維半色調(diào)閾值矩陣來定義兩種結(jié)構(gòu)的每一種。在附圖的右下方示出了定義第二結(jié)構(gòu)850的三維半色調(diào)閾值矩陣860的實例。圖中上方的兩個實例810和820利用立方距離函數(shù)沿著z-軸具有過渡。實例810使用白噪聲混合閾值矩陣,而實例820使用藍(lán)噪聲混合閾值矩陣。實例830示出了混合,例如過渡函數(shù)(其性質(zhì)上為斜線),其中相同藍(lán)噪聲混合閾值矩陣用作實例820。
本文所述的某些系統(tǒng)部件和方法可以通過可存儲在非暫時性存儲介質(zhì)上計算機(jī)程序代碼的方式來實施。該計算機(jī)程序代碼可以通過包含至少一個處理器的控制系統(tǒng)來實施,該處理器能夠從計算機(jī)可讀存儲介質(zhì)取回數(shù)據(jù)。該控制系統(tǒng)可以包含部分的對象生產(chǎn)系統(tǒng),例如添加劑制造系統(tǒng)。該計算機(jī)可讀存儲介質(zhì)可以包含一組存儲于其上的計算機(jī)可讀指令。該至少一個處理器可被構(gòu)造為將指令加載至用于處理的存儲器中。該指令被布置以使得至少一個處理器實施一系列動作。該指令可指示圖5的方法500和/或本文中所述任何其他塊或工藝。該非暫時性存儲介質(zhì)能夠是任意介質(zhì),其能夠包含、存儲或保持指令執(zhí)行系統(tǒng)使用的或者與指令執(zhí)行系統(tǒng)有關(guān)的程序和數(shù)據(jù)。該機(jī)器可讀媒介能夠包含許多物理介質(zhì)中的任一種,例如電介質(zhì)、磁介質(zhì)、光學(xué)介質(zhì)、電磁介質(zhì)或半導(dǎo)體介質(zhì)。穩(wěn)定機(jī)器可讀媒介的更多具體實例包括,但不限于,硬盤驅(qū)動器、隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、可擦除可編程只讀存儲器、或便攜式光盤。
本文中所述的某些實例使得三維對象的數(shù)字表示(例如三維柵格表示)能夠以產(chǎn)生三維對象中的多個結(jié)構(gòu)的摻混或混合的方式被半色調(diào)處理,其中該摻混或混合可被看作“平整”,即,不連續(xù)性可以低于具體的閾值。這導(dǎo)致具有不同結(jié)構(gòu)性質(zhì)的三維對象以最小化不連續(xù)性的方式,例如在對象不同的部分或體積之間,構(gòu)造上的突然變化。這是通過提供用于產(chǎn)生三維閾值矩陣的裝置和方法來實現(xiàn)的,該三維閾值矩陣可被應(yīng)用于數(shù)字表示。獲得了結(jié)構(gòu)體積覆蓋表示,其包含針對三維對象的至少一個體積元素定義至少兩個不同結(jié)構(gòu)的概率分布的數(shù)據(jù)值。該結(jié)構(gòu)體積覆蓋表示可以基于在三維對象的至少兩個進(jìn)一步的體積元素的位置之間預(yù)定義的過渡函數(shù)。將結(jié)構(gòu)體積覆蓋表示的所述數(shù)據(jù)值中的至少之一與預(yù)定的閾值進(jìn)行比較。基于這種比較,將與該結(jié)構(gòu)之一相關(guān)的半色調(diào)值賦予至三維矩陣的至少一個相應(yīng)體積元素。通過使用該結(jié)構(gòu)體積覆蓋表示,可以半色調(diào)水平應(yīng)用可應(yīng)用于任意數(shù)目預(yù)定義結(jié)構(gòu)的單個機(jī)構(gòu),而不需運算成本高昂的子結(jié)構(gòu)的設(shè)計階段修改。某些實例也使得能夠以運算有效并且可以平行進(jìn)行的方式向三維對象的產(chǎn)生施加結(jié)構(gòu)控制。通過利用結(jié)構(gòu)體積覆蓋表示,可將單獨的半色調(diào)結(jié)構(gòu)分類應(yīng)用于對象的不同部分,以提供結(jié)構(gòu)特性的有效編碼。通過利用本文所述的某些實例,這種編碼進(jìn)一步使得能夠以連續(xù)方式控制材料結(jié)構(gòu)。例如,對象的一個部分可以包含在三個維度上分布的二維藍(lán)噪聲半色調(diào)矩陣,而對象的另外部分可以包含在三個維度上定義的藍(lán)噪聲接種的有機(jī)晶格;因此,本文所述的實例可以用于在對象的不同結(jié)構(gòu)之間提供過渡。在特定的實例中,通過定義梯度或過渡函數(shù)并且然后通過應(yīng)用特定的混合閾值矩陣來實現(xiàn)兩種不同的結(jié)構(gòu)的混合;例如,可將它們定義為待生產(chǎn)的對象(和/或所述對象的部分)的輸入。在特定的實例中,該梯度或過渡函數(shù)被用于定義結(jié)構(gòu)體積覆蓋表示,然后在類似于半色調(diào)處理的操作中對其進(jìn)行處理以產(chǎn)生與對象相關(guān)的半色調(diào)處理材料使用取值的三維閾值矩陣。通過進(jìn)行這種混合,可將幾何形狀(例如由混合閾值矩陣或閾值定義的)從梯度幾何形狀割裂開來,例如在由過渡函數(shù)生成的結(jié)構(gòu)體積覆蓋矢量中表示的。
本文所述的某些實例使得待生成的三維對象具有明確受控混合的多個結(jié)構(gòu)。通過使用基于半色調(diào)處理的結(jié)構(gòu)控制機(jī)構(gòu),所述的實例改變了用于生成三維對象的半色調(diào)輸出,例如在添加劑制造系統(tǒng)中。盡管在某些情況下為了容易解釋,已經(jīng)描述了使用單一生產(chǎn)材料,但本文所述的實例可以擴(kuò)展至多種材料,例如用多種生產(chǎn)材料,包括生產(chǎn)材料的組合。
已經(jīng)做出了前述描述來舉例說明和描述本文所述的基本原則的實例。這種描述并不是意在窮盡或者將這些原則限制為所記載的任意精確形式。根據(jù)上述教導(dǎo)可以進(jìn)行許多改變和變化。結(jié)合一個實例所描述的技術(shù)、功能和方法可以用于其他所述實例中,例如通過應(yīng)用披露內(nèi)容的相關(guān)部分。