專利名稱:用于優(yōu)化加工仿真的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明總體涉及加工仿真,更具體涉及確定距離場的最優(yōu)子集以優(yōu)化對加工過程的仿真。
背景技術(shù):
數(shù)控銑削對數(shù)控(NC)加工(例如,銑削或車削)的過程的仿真在計算機輔助設(shè)計(CAD)和計算機輔助制造(CAM)中具有根本的重要性。在仿真中,工件的計算機模型被利用如NC銑削工具的工具和一組工具的運行而編輯,仿真加工過程。該仿真將工件的模型和工具的表示可視化,以檢測諸如工件和工具支架的部件之間的可能的沖突,并驗證工件的最終形狀。工件的最終形狀受工具和工具的運行的選擇所影響。通常利用計算機輔助制造系統(tǒng)根據(jù)希望的工件的最終形狀的圖形表示來生成用于控制運行的指令。通常使用數(shù)控編程語言實施所述運行,該數(shù)控編程語言也被稱為預(yù)編碼(preparatory code)或G碼,參見以下的標(biāo)準(zhǔn) RS274D 和 DIN 66025/IS0 6983。由計算機輔助制造系統(tǒng)生成的G碼可能無法生成對希望的最終形狀的精確復(fù)制。另外,通過NC加工系統(tǒng)的馬達(dá)控制工具的運轉(zhuǎn),該馬達(dá)具有受限的速度、運行范圍以及加速和減速能力,從而實際的工具運行有時不精確遵從NC加工指令。工件的實際最終形狀與工件的希望最終形狀之間的不一致可能非常小,并且難于看出。在一些情況中,這些不一致導(dǎo)致在工件的最終形狀的表面上的不希望有的溝鑿(gouge)或刻痕(nick),該溝鑿或刻痕的尺寸為幾微米的深度和寬度、和幾十微米的長度的量級。通常,在加工希望的部件前,通過加工由較軟且較便宜的材料制成的測試工件而測試NC加工指令集。如果對測試工件的視覺檢查發(fā)現(xiàn)測試工件中的不希望的不一致,則相應(yīng)地修改NC加工指令。然而,該手動測試是耗時且昂貴的。用于加工單個測試工件的時間可能為數(shù)小時的量級,并且在獲得可接受的NC加工指令集之前可能需要若干的重復(fù)。從而,期望的是,利用基于計算機的仿真和呈現(xiàn)(rendering)來對這些不一致進(jìn)行測試。在美國專利申請No. 12/495,588和No. 12/468, 607中描述了基于計算機的仿真的實例,其在此引入作為參考。工具圖2A示出NC銑削中使用的一組典型工具202、204、206和208。當(dāng)工具相對于工件210移動時,工具從工件切取材料。這里,工具202、204、206和208從工件除去對應(yīng)于表面212、214、216和218的統(tǒng)稱為“掃過體”(sw印t volume)的材料。由各個工具除去的材料的形狀由工具的形狀和工具相對于工件的路徑而決定。掃過體
在加工中,工具根據(jù)工具的規(guī)定運行(即工具路徑)而相對于工件移動,其中工具路徑可包括關(guān)于相對于工件的工具的相對位置、方向和其它形狀數(shù)據(jù)的信息。當(dāng)工具沿著工具路徑移動時,工具切除掃過體。在加工中,當(dāng)工具沿著工具路徑移動時,由掃過體橫穿的工件的體積的部分被除去??梢栽谟嬎銠C中將該材料切除建模為構(gòu)造的立體幾何(CSG, constructive solid geometry)差分運算,其中利用從工件減去掃過體的CSG減法運算從工件除去工件的部分。圖2B示出沿路徑252移動的具有形狀250的掃過體260。路徑252指定形狀250的特定點的位置作為時間的函數(shù)。該路徑能夠指定形狀的方向256、257和258作為時間的函數(shù)。該路徑還可以指定形狀的比例或形狀的任意變形作為時間的函數(shù)。在圖2B中,隨著形狀250沿著路徑移動,形狀250的初始位置、方向和幾何形狀被轉(zhuǎn)換為最終位置、方向和幾何形狀。圖3A示出線性路徑,其中工具302沿直線304移動。 圖3B示出圓弧路徑,其中工具302的末端沿著圓弧312移動,并且工具的初始軸方向314在路徑末尾被轉(zhuǎn)換到最終軸方向316。圖3C示出曲線路徑,其中工具302的末端310沿著曲線320移動。其它可能的路徑形式,僅舉幾例,包括將工具定位在一點、沿著已知為折線的連續(xù)的線移動工具、沿著螺旋或盤旋曲線移動工具、沿著多項式曲線移動工具,所述多項式曲線諸如為二次Bezier曲線或三次Bezier曲線、或者已知為(用于僅命名少量的)分段多項式曲線的連續(xù)的多項式曲線。可以考慮能夠被仿真的任何形式的路徑,包括諸如受工件的形狀或材料組成影響的路徑等由過程限定的路徑。距離場對象的距離場d(p)是標(biāo)量場,在空間中點P處的d(p)的值為從點P到對象表面的距離?,F(xiàn)有技術(shù)中已知多種可能的距離場,而最常見且有用的為歐氏距離場,其中所述距離為到對象表面的最小距離,被定義為d(ps)=0。另外,對距離場添加符號以區(qū)分對象的外側(cè)和內(nèi)側(cè),例如,d(p)>0表示內(nèi)側(cè),d(p)〈0表示外側(cè)。另外,點P處的距離場的梯度向量指向最小距離的方向,并且在對象的表面,歸一化梯度向量等于表面的法向向量。如在此引入作為參考的美國專利No. 6,396,492、6,724,393,6, 826,024和7,042, 458中所述,距離場有隱函數(shù)的形式、并且是用于呈現(xiàn)和編輯形狀的有效表示。自適應(yīng)米樣距離場(ADF,adaptively sampled distance field)使用細(xì)節(jié)指向米樣(detail-directed sampling)以提供對距離場的空間和時間的高效的表示。ADF在多個單元的空間層級中存儲距離場。每個單元包含距離數(shù)據(jù)和用于重構(gòu)與該單元相關(guān)的距離場的部分的重構(gòu)方法。距離數(shù)據(jù)可以包括距離場的值,以及距離場的梯度和偏導(dǎo)數(shù)。可以根據(jù)需要重構(gòu)單元的距離場,以減少存儲器和計算需求。ADF可用于利用CSG運算仿真銑削。可以將待銑削的工件和銑削工具表示為ADF。仿真的銑削處理可以例如通過修改工件的ADF而明確地生成仿真工件的ADF??蛇x地,可以將仿真的工件隱含地表示為復(fù)合ADF。復(fù)合ADF存儲工件和銑削工具的距離場、如用于銑削工具的CSG減法算子等對應(yīng)于距離場的算子、以及在呈現(xiàn)或其它處理期間根據(jù)要求合成存儲的距離場的距離場重構(gòu)方法。
可以通過工具距離場表示銑削工具??梢酝ㄟ^參數(shù)函數(shù)表示工具路徑。掃過體距離場被定義為表示通過沿路徑移動銑削工具產(chǎn)生的掃過體,其中根據(jù)掃過體重構(gòu)方法以連續(xù)的方式定義掃過體距離場。掃過體重構(gòu)方法可以重構(gòu)采樣點處的掃過體距離場。特定關(guān)注的采樣點的實例是距離場的值d等于零、即d=0的任何對象的距離場的等值面上的點。如本文所述,對象的距離場的零值等值面為該對象的邊界,例如工件的邊界,或掃過體的邊界。圖IA是對復(fù)合ADF 100的2D圖示,該復(fù)合ADF 100包括例如101、102和103的
單元的空間層級,表示工件的體積的部分以及距離場,其中距離場的邊界被示出。在該實例中,距離場104-107是定義初始工件的邊界的平面。距離場108-110是表示球端銑削工具的掃過的三個距離場。復(fù)合ADF中的每個單元與表示初始工件和銑削工具的掃過體的距離場的集合的子集相關(guān)。例如,距離場104、108和109與單元111相關(guān),距離場104、108和109共同確定單元111中的復(fù)合表面。例如CSG差分等過程重構(gòu)方法也與單元相關(guān),該方法用于合成距離場集合的子集以重構(gòu)工件的復(fù)合距離場。該復(fù)合表面被定義為工件的仿真邊 界,其由初始工件距離場和掃過工具距離場的邊界的拼接片構(gòu)成??赏ㄟ^多種方法選擇與單元相關(guān)的距離場子集。例如,該子集可僅限于這樣的距離場,其中從該單元的中心到邊界的距離的絕對值小于完全包圍該單元的球體的直徑??蛇x地是,子集可僅限于這樣的距離場,該距離場表示具有如下邊界的掃過體,其中所述邊界的至少部分與單元相交??梢岳缤ㄟ^利用邊界/單元相交測試來取回單元中距離場等于零的點,而確定這些距離場。期望的是,與單元相關(guān)的距離場集合的子集僅包括實際形成單元內(nèi)的復(fù)合表面的距離場,其中通過最小化在例如呈現(xiàn)的幾何運算期間必須處理的距離場的數(shù)目而最大化仿真器性能。然而,上述確定單元的距離場子集的方法可能導(dǎo)致差的仿真器性能,因為通過這些方法找出的子集的多個距離場可能表示進(jìn)入單元但不形成工件邊界的部分的掃過體。圖IB示出對工件的部分的常規(guī)表示的實例。表示工件的復(fù)合ADF包括單元的集合,例如單元101,以及距離場的集合102-105,其表示如掃過體110等工具的掃過體。工件107的部分由單元101和掃過體距離場103-105的子集表示。由于掃過體距離場102不與單元的邊界相交,所以該距離場通常不被包括在子集中。然而,如該實例所示,掃過體距離場103-104不形成工件的邊界的部分,從而也不應(yīng)被包括在子集中。作為具體實例,考慮與X、y和z軸對齊、邊長為400微米的立方單元,以及在x、y平面以平行于X軸的平行掃過移動的半徑為2mm的球形工具,其中所述掃過以50微米為間隔,并且工具高度為使得工具的最小點位于單元底部的略微上方。從而,56個工具掃過體在單元內(nèi)具有邊界,但是這些掃過體中僅有9個形成工件的邊界。從而,為了優(yōu)化對銑削處理的仿真的性能,需要優(yōu)化與單元相關(guān)的距離場子集。
發(fā)明內(nèi)容
本發(fā)明的目的為優(yōu)化對銑削處理的仿真的性能。本發(fā)明的另一目的為優(yōu)化表示工件和掃過體的距離場子集。在本發(fā)明的各個實施例中,由距離場表示工件和掃過體。與單元相關(guān)的為距離場子集,其初始包括表示與單元相交的邊界的距離場。本發(fā)明的實施例對子集進(jìn)行優(yōu)化,該子集形成包括表示形成工件的復(fù)合表面的邊界的距離場的最優(yōu)子集。實施例基于這樣的認(rèn)識如果對單元內(nèi)的通過從工件除去掃過體O形成的工件的復(fù)合表面施加入射到單元和/或復(fù)合表面的光線,則這些光線與掃過體的邊界和復(fù)合表面的交點表示實際形成復(fù)合表面的掃過體。本發(fā)明的一個實施例公開了一種用于優(yōu)化對通過從工件的主體(volume)除去掃過體的集合而實施的對工件的加工的仿真的方法,其中所述工件的主體被分為單元的集合,所述方法包括以下步驟對于每個單元,將表示與該單元相交的掃過體子集的距離場子集與該單元相關(guān),其中所述掃過體子集的至少部分形成所述單元的復(fù)合表面;對所述單元施加從至少一個方向入射到所述單元的光線的集合,其中各個光線表示直線的傳播;以及將所述距離場子集中的一個距離場選入到與所述單元相關(guān)的最優(yōu)子集中,其中由所述距離場表示的所述掃過體的邊界在位于所述復(fù)合表面上的交點處與至少一個光線相交,其中由處理器實施所述方法的步驟。另一個實施例公開了一種用于優(yōu)化對通過從工件的主體除去掃過體的集合而實 施的對工件的銑削的仿真的方法,其中所述主體被分成單元的集合,并且各個單元跟與該單元相交的掃過體子集相關(guān),使得所述掃過體子集的至少部分形成所述單元的復(fù)合表面,該方法包括以下步驟對所述單元施加入射到所述單元的光線的集合,其中光線表示朝向所述單元的直線的傳播;以及將所述掃過體子集中的一個掃過體選入到與所述單元相關(guān)的最優(yōu)子集中,其中所述掃過體的邊界在位于所述復(fù)合表面上的交點處與至少一個光線相交。另一個實施例公開了一種用于優(yōu)化對通過從工件的主體除去掃過體的集合而實施的對工件的銑削的仿真的系統(tǒng),其中所述主體被分為單元的集合,所述系統(tǒng)包括用于將表示與各個單元相交的掃過體子集的距離場子集與單元相關(guān)的裝置,其中所述掃過體子集的至少部分形成所述單元的復(fù)合表面;用于對所述單元施加從至少一個方向入射到所述單元的光線的集合的裝置,其中各個光線表示直線的傳播;以及處理器,被配置為將所述距離場子集中的一個距離場選入到與所述單元相關(guān)的最優(yōu)子集中,其中由所述距離場表示的所述掃過體的邊界在位于所述復(fù)合表面上的交點處與至少一個光線相交。
圖IA為表示加工的工件的復(fù)合ADF的示意圖;圖IB為對工件的部分的常規(guī)表示的實例的示意圖;圖2A為用于銑削的工具和通過沿路徑移動工具從工件除去的掃過體的示意圖;圖2B為通過沿曲線路徑掃過2D形狀所確定的掃過體的示意圖;圖3A-3C為銑削工具的不同路徑的示意圖;圖4A是根據(jù)本發(fā)明實施例的具有形成工件邊界的多個邊界的單元的2D示意圖;圖4B-4C是示出根據(jù)本發(fā)明實施例的光線與單元內(nèi)的邊界相交的2D示意圖;圖5A為工業(yè)環(huán)境中的本發(fā)明的實施例的示意圖;圖5B為根據(jù)本發(fā)明實施例的用于確定正確表不纟先削工件的復(fù)合表面所需的掃過工具邊界的最小列表的方法的流程圖;圖6是示出根據(jù)本發(fā)明實施例的在規(guī)則地隔開的柵格上的光線的集合的2D示意圖;圖7是示出根據(jù)本發(fā)明實施例的用于確定光線的集合的方法的2D示意圖;圖8是根據(jù)本發(fā)明實施例的計算機存儲器的結(jié)構(gòu)的實例;以及圖9是用于利用存儲器確定最優(yōu)子集的方法900的流程圖;以及圖10和11A-11C是根據(jù)本發(fā)明實施例的確定表示形成復(fù)合表面的邊界的距離場的結(jié)果的實例。
具體實施例方式系統(tǒng)概述圖4A示出通過本發(fā)明實施例處理的問題。在單元400中,邊界402定義在對工件 的銑削的仿真開始時的工件401的初始表面。在仿真期間,三個掃過體403、404和405的邊界與單元相交。因此,從由單元表示的工件的主體除去掃過體。由邊界402和邊界405形成包圍工件的內(nèi)部407的工件406的復(fù)合表面。在本發(fā)明的各個實施例中,由距離場表示工件和掃過體。單元與距離場子集551相關(guān)450,該距離場子集551初始包括表示與單元相交的邊界402-405的距離場。本發(fā)明的實施例對子集進(jìn)行優(yōu)化500,該子集形成包括表示形成工件的復(fù)合表面的邊界的距離場的最優(yōu)子集559,所述邊界例如邊界402和405。通過距離場的零值等值面定義所述邊界。另外,在常見的符號慣例中,距離場在掃過體內(nèi)為正,在邊界上為零,并且在外部為負(fù)。然而,在對銑削處理的仿真中,由于與掃過體相交的工件表面的任何部分都被除去,掃過體的內(nèi)部在工件的復(fù)合表面的外部。從而,本發(fā)明的實施例對表示掃過體的距離場取負(fù),即乘以一I。因此,原始表面的邊界402和掃過體的邊界405形成單元的最優(yōu)子集并包圍工件的內(nèi)部,其中工件的復(fù)合距離場在任何位置大于零。邊界403和404在復(fù)合表面的外部,SP,在單元內(nèi)的這些邊界上的每個點具有到工件的復(fù)合表面的負(fù)的距離。光線本發(fā)明實施例基于這樣的認(rèn)識如果對由單元表示的、且通過從工件除去掃過體而形成的工件的復(fù)合表面施加入射到單元和/或復(fù)合表面的光線,則這些光線與掃過體的邊界和復(fù)合表面的交點表示實際形成復(fù)合表面的掃過體。光線是與直線一致的數(shù)學(xué)構(gòu)造。光線來源于3D空間中的原點R。,并在由向量Rd給定的方向上沿直線傳播??赏ㄟ^類時坐標(biāo)(time-like coordinate)s將光線的傳播參數(shù)化,使得由R(s)=R0+Rds定義3D空間中光線的位置。圖4B示出光線與掃過體的邊界相交的二維(2D)圖示。例如,光線408起始于點409,沿直線傳播,并在點410、412和413處與掃過體的邊界相交,以及在點411處與初始表面的邊界相交?;诰喙饩€與每個邊界的交點的距離場的值,確定光線的哪個交點在復(fù)合表面上。由使得掃過體的距離場為零值、即d(R(s))=0的s來確定光線與掃過體的邊界的交點。確定交點的問題可以被表述為在現(xiàn)有技術(shù)中已知的具有不同解法的常規(guī)求根問題。本發(fā)明一個實施例以解析方式確定交叉。另一個實施例使用迭代過程,諸如牛頓法和/或試位法(falseposition(regula falsi)method),以確定光線與掃過體的邊界的交點。圖4C示出在現(xiàn)有技術(shù)中已知為球形投影(sphere casting)的光線表面相交方法。光線430起始于點431,并在點432處與單元相交,通過解析光線/平面相交可以容易地找到該點432。在點432處,根據(jù)該其距離場確定到掃過體433的距離,該距離由434示出。通過沿光線移動距離434確定新的測試點435。然后通過計算距離436,然后計算新的測試點437以及之后另外的測試點,直到找到交點438,來迭代地重復(fù)所述處理。在一個實施例中,距離場551的子集包括由i e [I, N]索引的N個距離場,使得在交點P處的距離場的值i為Cli(P)。然后,當(dāng)且僅當(dāng)對于i=j e [I, N]的特定值屯(口)=0且對于全部i幸j,φ(ρ) > O時,點P才位于復(fù)合表面406上。另外,j是形成由光線408表示的復(fù)合表面的距離場的索引。例如,點413在復(fù)合表面上,并且全部其它點在復(fù)合表面的外部,因為從邊界與光線的交點的其它各點、即點410-412到邊界405的距離,例如距離460,是正的。因此,如這里所定義的,如果距離場的邊界與光線的交點在單元內(nèi),并且在交點與 子集中的剩余掃過體之間的距離的集合中的每個距離為正,則來自距離場子集中的一個距離場形成復(fù)合表面的部分。如果表示邊界的距離場的值在交點處為正,則距離是正的。通常,對單元施加來自至少一個方向的光線的集合。所述光線的集合中的光線相互平行并隔開以確定形成復(fù)合表面的全部邊界。例如,另一光線414起始于點415,且平行于光線408傳播。光線414僅在點416處與邊界402相交,該點416如光線414所示在復(fù)合表面上。從而,起始于不同點的和/或在不同方向傳播的光線能夠各自確定邊界中的哪些(如果有的話)形成復(fù)合表面。在一些例子中,光線的子集不表示復(fù)合表面的邊界。例如,起始于點418的光線417在點421、422和423處與邊界403、404和405相交。然而,所有這些交點都在單元的復(fù)合表面的外側(cè)。另外,光線可以在單元外側(cè)的點(未示出)處與邊界相交。單元外側(cè)的交點不是與單元相關(guān)的復(fù)合表面上的有效點。另外,邊界可以與單元相交但不形成復(fù)合表面。例如,邊界403不與工件的初始表面的邊界402相交,并且不形成復(fù)合表面。邊界404確實與邊界402相交,并且可能在仿真中之前已經(jīng)形成復(fù)合表面的部分。然而,在圖4B所示的實例的時間點,邊界404在單元內(nèi)的復(fù)合表面的外側(cè)。從而,僅邊界402和405是單元的距離場的最優(yōu)子集559的元素。確定距離場的最優(yōu)子集圖5A示出了本發(fā)明的一個實施例。將加工指令501的集合提供到NC加工控制器502,所述加工指令的集合為經(jīng)由網(wǎng)絡(luò)、來自⑶或DVD、或通過現(xiàn)有技術(shù)中其它已知方法的文件??刂破?02包括處理器503、存儲器504和用于示出機器的運行的顯示器505。在處理器上運行加工仿真器506,其接收銑削指令501并使用本發(fā)明的實施例500以在顯示器505上生成仿真工件的圖像507。圖5B為用于確定與單元400相關(guān)的距離場的最優(yōu)子集559的方法500的框圖。將距離場子集551和光線的集合555輸入到該方法。距離場子集表示與單元相交的掃過體的邊界。通過現(xiàn)有技術(shù)中已知的處理器503執(zhí)行該方法。在各個實施例中,單元400具有不同的形狀和/或尺寸。利用例如上述邊界/單元相交法從距離場的集合中選擇距離場子集。在一個實施例中,邊界/單元相交法確定單元內(nèi)的掃過體的邊界的表面法線向量的X、y和Z分量各自的絕對值的最大值。由原點和傳播方向確定光線的集合中的每個光線552。將該光線的集合確定554為使得光線入射到單元400。在一個實施例中,基于子集551和單元內(nèi)的邊界的方向553的范圍來確定所述光線的集合。本發(fā)明各個實施例使用不同的方法以確定所述光線的集合。例如,在一個實施例中,僅當(dāng)在特定方向的邊界的表面法線的最大分量大于閾值時,所述集合包括從該特定方向傳播的光線。對于光線的集合中的每個光線552,實施例使用上述解析和/或迭代方法以確定570光線與邊界551之間的交點的集合575。如果確定580光線與邊界的一個交點576在復(fù)合表面上,則將表示邊界的距離場585選入590到最優(yōu)子集559中。在處理了光線的集合中的全部光線之后,確定距離場的最優(yōu)子集559。 確定光線的集合圖6示出根據(jù)本發(fā)明一個實施例的確定光線的集合555的子集611和622的實例。光線的子集611起始于單元的第一邊界610外側(cè)的方形的、均勻隔開的柵格點,并且與第一邊界垂直地傳播通過單元。光線的集合的另一子集622起始于單元的與第一邊界垂直的第二邊界620的外側(cè),并且與第二邊界垂直地傳播。在實施例的3D實現(xiàn)中,光線的集合的第三子集起始于垂直于之前兩個邊界的第三邊界的外側(cè),并且與第三邊界垂直地傳播。在一個實施例中,這樣的光線的規(guī)則的集合足以確定最優(yōu)子集。然而,其它實施例修改了所述光線的規(guī)則的集合。例如,在一個實施例中,一組平端銑削工具掃過以相同的高度和工具方向移動通過單元,使得單元內(nèi)的掃過體的邊界在局部彼此相同。在該實施例中,單個光線足以確定最優(yōu)子集。圖7示出了本發(fā)明的可選實施例。在該實施例中,光線701和702傳播,并確定邊界704和705在最優(yōu)子集中。然而,也作為最優(yōu)子集的一部分的邊界706被遺漏,從而產(chǎn)生不正確的復(fù)合表面。為避免由不完全的光線子集導(dǎo)致的復(fù)合表面的缺陷,一個實施例包括圖5B所示的調(diào)適處理580。在確定580期間,調(diào)適處理確定通過光線進(jìn)行的對復(fù)合表面的采樣是否足以獲得精確的最優(yōu)子集。如果不是,則傳播較少的或額外的光線。例如,光線701與邊界704的交點707和光線702與邊界705的交點接近邊界706,從而在點707和708處的、邊界704和705的表面的法線表示邊界704和705在光線701和702之間的點709處穿過邊界706。從而,附加的光線703傳播,以增加對復(fù)合表面的采樣,從而改善最優(yōu)子集的精度。緩存本發(fā)明的一個實施例在每當(dāng)單元的距離場子集551改變時確定最優(yōu)子集。例如,銑削仿真器對于銑削程序中的每個指令,生成工件的復(fù)合表面的更新圖像。為了最小化呈現(xiàn)圖像的時間,需要對通過由銑削指令產(chǎn)生的新的距離場改變的ADF的每個單元更新距離場的最優(yōu)子集。實施例的一個變形在存儲器561中緩存例如交點575的數(shù)據(jù)以加快方法550。存儲561可以是現(xiàn)有技術(shù)中已知的任何存儲器,諸如隨機存取存儲器(RAM)。對于每個銑削指令,更新最優(yōu)子集,即增加和/或除去距離場,或者不改變最優(yōu)子集。
圖8示出分配作為存儲器的計算機存儲器的塊800的實例。該塊被細(xì)分為M個尺寸相同的子塊801,所述子塊各自可以存儲關(guān)于一個單元的數(shù)據(jù)。每個子塊還被細(xì)分為N個存儲單元(location) 803。每個存儲單元與一個光線相關(guān)。例如,數(shù)據(jù)為光線與復(fù)合表面的交點和唯一標(biāo)識其邊界在光線處形成復(fù)合表面的距離場的數(shù)值。對于沒有復(fù)合表面的光線,存儲例如數(shù)值一 I的標(biāo)示值代替距離場標(biāo)識符。每個子塊與子塊ID 804相關(guān),子塊ID 804用作其數(shù)據(jù)當(dāng)前被存儲在子塊中的單元的標(biāo)識符。例如,在一個實施例中,根據(jù)工件中的單元的位置的x、y和z坐標(biāo)的組合形成唯一單元標(biāo)識符數(shù)值。圖9是用于利用存儲器確定最優(yōu)子集的方法900的流程圖。形成單元標(biāo)識符901。散列函數(shù)902將單元標(biāo)識符從大范圍映射到與緩存子塊的數(shù)值對應(yīng)的希望范圍
。散列函數(shù)的實例為out (k) =k模M,其利用取模數(shù)學(xué)函數(shù)將輸入單元標(biāo)識符值k映射到在希望范圍內(nèi)的輸出值“out”。來自散列函數(shù)的輸出值被用作存儲關(guān)于單元的數(shù)據(jù)的緩存子塊
的地址903。為了確認(rèn)子塊存儲了關(guān)于正確單元的數(shù)據(jù),從緩存904取回子塊ID并將其與單元標(biāo)識符905比較。如果標(biāo)識符不匹配,則子塊被清空以由當(dāng)前的單元使用,并且以單元標(biāo)識符906寫入子塊ID。對最優(yōu)子集的確定907以上述非緩存的方式進(jìn)行,并且關(guān)于每個光線908的數(shù)據(jù)被存儲在緩存器909中以用于更新最優(yōu)子集910??蛇x地,當(dāng)值匹配時,子塊中的數(shù)據(jù)被用于確定最優(yōu)子集。從而,方法900在全部光線上迭代911。對于每個光線,僅對新距離場計算交點912,并且該交點的點被用于確定對于該光線形成復(fù)合表面的距離場邊界(913)。圖10示出根據(jù)在單元內(nèi)是否有光線與新的距離場的相交和在緩存器中是否存在關(guān)于該光線的數(shù)據(jù),即距離場標(biāo)識符古一 1,來確定913的四種可能的結(jié)果。圖IlA-C示出三種上述情況的實例,因為如果沒有相交且沒有緩存數(shù)據(jù),則從光線不能獲知任何信息。在圖IlA中,當(dāng)前與單元1101相關(guān)的有距離場1102、1103和1104,且距離場1105是新距離場。光線1106在點1107處與距離場1105的邊界相交,并且緩存器不包含關(guān)于光線1106的數(shù)據(jù)。從而,計算當(dāng)前在單元1102-1104內(nèi)的距離場子集的交點1107處的距離場值。如果在交點處的距離場的值都為正,即大于0,則新距離場針對該光線形成復(fù)合表面并被添加到最優(yōu)子集中。在圖IlA所示的實例中,距離場值都為負(fù),所以距離場1105未被添加到最優(yōu)子集中。在圖IlB中,當(dāng)前與單元1121相關(guān)的有距離場1122-1124,且距離場1125是新距離場。光線1126在單元內(nèi)不與距離場1125的邊界相交,但是緩存器包含光線1126與距離場1123的邊界的交點1127。在該情況中,雖然沒有相交,但是緩存器包含關(guān)于該光線的有效數(shù)據(jù),然后在緩存的交點處確定新距離場的值。如果該值為正,則將緩存的距離場添加到最優(yōu)子集。在所示的實例中,交點1127在距離場1125的外側(cè),這表示,緩存的距離場未由于光線1126而被添加到最優(yōu)子集。重要的是理解這并不排除由于另一光線將距離場1126添加到最優(yōu)子集的可能性。最后,在圖IlC中,與當(dāng)前單元1131相關(guān)的有距離場1132-1134,且距離場1135是新距離場。光線1136在單元內(nèi)與距離場1135的邊界在點1138處相交,并且緩存器包含光線1136與距離場1133的邊界的交點1127。在該情況中,存在交點,并且存在有效緩存數(shù)據(jù),然后在新的交點1138處計算緩存的距離場1133的值。如果該值為正,則將新距離場1135添加到最優(yōu)子集。否則,將緩存的距離場1133添加到最優(yōu)子集。在該實例中,交點1138在距離場1133的邊界內(nèi)(即d>0),于是將距離場1135添加到最優(yōu)子集。在處理全部光線之后,將關(guān)于每個光線的數(shù)據(jù)寫入緩存器,并且最優(yōu)子集 910完成。盡管已經(jīng)通過優(yōu)選實施例的實例的方式描述了本發(fā)明,應(yīng)理解,在本發(fā)明的精神和范圍內(nèi)可以進(jìn)行各種其它調(diào)適和修改。從而,所附權(quán)利要求旨在覆蓋落入本發(fā)明實際精神和范圍內(nèi)的全部這樣的變化和修改。
權(quán)利要求
1.一種用于優(yōu)化對通過從工件的主體除去掃過體的集合而實施的對工件的加工的仿真的方法,其中所述工件的主體被分為單元的集合,所述方法包括以下步驟 對于每個單元,將表示與該單元相交的掃過體子集的距離場子集與該單元相關(guān),其中所述掃過體子集的至少部分形成所述單元的復(fù)合表面; 對所述單元施加從至少一個方向入射到所述單元的光線的集合,其中各個光線表示直線的傳播;以及 將所述距離場子集中的一個距離場選入到與所述單元相關(guān)的最優(yōu)子集中,其中由所述距離場表示的所述掃過體的邊界在位于所述復(fù)合表面上的交點處與至少一個光線相交,其中由處理器實施所述方法的步驟。
2.根據(jù)權(quán)利要求I所述的方法,還包括 在交點處確定來自距離場子集的各個距離場的值;以及 如果在所述交點處的距離場的值為零,且所述子集中剩余距離場的值為正,則將該距離場選入所述最優(yōu)子集。
3.根據(jù)權(quán)利要求I所述的方法,其中在所述交點處距離場的值為零,并且在交點處所述子集中的剩余距離場的值為正。
4.根據(jù)權(quán)利要求3所述的方法,其中對于i=je [1,N], φ(ρ) =0,并且對于i古J^di(P)>0,其中距離場子集包括由i e [I, N]索引的N個距離場,Cli(P)定義在交點P處距離場的值,以及j為在最優(yōu)子集中所選擇的距離場的索引。
5.根據(jù)權(quán)利要求I所述的方法,還包括 確定位于所述單元內(nèi)的所述交點。
6.根據(jù)權(quán)利要求I所述的方法,還包括 在所述單元的外側(cè)的點處發(fā)出光線。
7.根據(jù)權(quán)利要求I所述的方法,其中來自一個方向的光線彼此平行,并且來自不同方向的光線彼此垂直。
8.根據(jù)權(quán)利要求I所述的方法,還包括 使所述光線的集合從至少兩個方向向著所述單元傳播。
9.根據(jù)權(quán)利要求I所述的方法,還包括 基于復(fù)合表面的法線來確定所述光線的集合。
10.根據(jù)權(quán)利要求I所述的方法,還包括 更新所述掃過體的集合;以及 響應(yīng)于所述更新,確定所述距離場的最優(yōu)子集。
11.根據(jù)權(quán)利要求10所述的方法,還包括 在存儲器中緩存在確定期間所計算的至少部分?jǐn)?shù)據(jù)。
12.根據(jù)權(quán)利要求11所述的方法,還包括 將所述存儲器細(xì)分為尺寸相同的子塊,每個子塊存儲關(guān)于一個單元的數(shù)據(jù);以及 將所述子塊細(xì)分為多個存儲單元,每個存儲單元與一個光線相關(guān)。
13.根據(jù)權(quán)利要求12所述的方法,其中所述存儲單元中的數(shù)據(jù)標(biāo)識表示在交點處與光線相交的邊界的距離場。
14.根據(jù)權(quán)利要求12所述的方法,其中所述存儲單元中的數(shù)據(jù)標(biāo)識光線不與所述復(fù)合表面相交。
15.根據(jù)權(quán)利要求I所述的方法,其中對于掃過體的內(nèi)部,表示所述掃過體的距離場的值為負(fù)。
16.一種用于優(yōu)化對通過從工件的主體除去掃過體的集合而實施的對工件的銑削的仿真的方法,其中所述主體被分成單元的集合,并且各個單元跟與該單元相交的掃過體子集相關(guān),使得所述掃過體子集的至少部分形成所述單元的復(fù)合表面,該方法包括以下步驟 對所述單元施加入射到所述單元的光線的集合,其中光線表示朝向所述單元的直線的傳播;以及 將所述掃過體子集中的一個掃過體選入到與所述單元相關(guān)的最優(yōu)子集中,其中所述掃過體的邊界在位于所述復(fù)合表面上的交點處與至少一個光線相交。
17.根據(jù)權(quán)利要求15所述的方法,還包括 確定在邊界的交點、和光線與子集中剩余掃過體的邊界的交點之間的距離的集合;以及 如果所述距離的集合中的各個距離為正,則將所述掃過體選入所述最優(yōu)子集中。
18.一種用于優(yōu)化對通過從工件的主體除去掃過體的集合而實施的對工件的銑削的仿真的系統(tǒng),其中所述主體被分為單元的集合,所述系統(tǒng)包括 用于將表示與各個單元相交的掃過體子集的距離場子集與單元相關(guān)的裝置,其中所述掃過體子集的至少部分形成所述單元的復(fù)合表面; 用于對所述單元施加從至少一個方向入射到所述單元的光線的集合的裝置,其中各個光線表示直線的傳播;以及 處理器,被配置為將所述距離場子集中的一個距離場選入到與所述單元相關(guān)的最優(yōu)子集中,其中由所述距離場表示的所述掃過體的邊界在位于所述復(fù)合表面上的交點處與至少一個光線相交。
19.根據(jù)權(quán)利要求18所述的系統(tǒng),還包括 用于在交點處確定來自所述距離場子集的各個距離場的值的裝置;以及 用于選擇的裝置,如果在所述交點處的距離場的值為零,且子集中剩余距離場的值為正,則該用于選擇的裝置將該距離場選入最優(yōu)子集。
20.根據(jù)權(quán)利要求18所述的系統(tǒng),還包括 用于在存儲器中緩存由用于確定的裝置計算的數(shù)據(jù)的至少一部分的裝置; 用于將存儲器細(xì)分為尺寸相同的子塊的裝置,其中每個子塊存儲關(guān)于一個單元的數(shù)據(jù);以及 用于將所述子塊細(xì)分為存儲單元的裝置,其中每個存儲單元與一個光線相關(guān)。
全文摘要
一種用于優(yōu)化對通過從工件的主體除去掃過體的集合而實施的對工件的加工的仿真的方法,其中所述主體被分為單元的集合,所述方法包括以下步驟對于每個單元,將表示與該單元相交的掃過體子集的距離場子集與該單元相關(guān),其中所述掃過體子集的至少部分形成所述單元的復(fù)合表面;對所述單元施加從至少一個方向入射到所述單元的光線的集合;以及將所述距離場子集的距離場選入到與所述單元相關(guān)的最優(yōu)子集中,其中由所述距離場表示的所述掃過體的邊界在位于所述復(fù)合表面上的交點處與至少一個光線相交。
文檔編號G05B19/4093GK102822756SQ201180016378
公開日2012年12月12日 申請日期2011年3月16日 優(yōu)先權(quán)日2010年3月31日
發(fā)明者A·蘇里萬, W·S·葉拉祖尼斯 申請人:三菱電機株式會社