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