專利名稱:用于修改實體模型中的幾何關(guān)系的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本文所述的創(chuàng)新的系統(tǒng)一般涉及計算機輔助設(shè)計軟件應(yīng)用程序。更具體而言,所 述系統(tǒng)涉及識別實體模型表示中的幾何關(guān)系。
背景技術(shù):
在當今的計算機輔助設(shè)計(CAD)應(yīng)用程序的世界中,通常以兩種方式基于歷史 或無歷史(history-less)中的一種來設(shè)計部件。基于歷史的系統(tǒng)常常以在19世紀80年 代中期出現(xiàn)的參數(shù)建模范例為特征。在參數(shù)建模系統(tǒng)中,創(chuàng)建配方(recipe)或歷史樹以反 映事物如何彼此相關(guān)。當對一個原始項目進行修改時,在稍后的時間由該原始項目產(chǎn)生的 所有項目被更新。這樣,例如,兩個面可以保持共面,因為其被以在設(shè)計過程期間捕捉且在 更新過程期間簡單地“重放”的此類關(guān)系設(shè)計。圖Ia-Ic舉例說明三維塊的三度投影。參 照圖la,三維(“3D”)的C塊100對于用戶而言可在計算機顯示器上觀看且需要由用戶通過 改變底部支腿105、頂部支腿110、或底部支腿105和頂部支腿110兩者來進行修改。在基 于歷史的系統(tǒng)中,用戶有多容易地修改C塊100取決于其最初在諸如西門子產(chǎn)品生命周期 管理軟件公司的SolidEdge的CAD應(yīng)用程序系統(tǒng)中被如何設(shè)計。通常,原始設(shè)計者創(chuàng)建和/ 或設(shè)計稍后被修改設(shè)計者修改的部分,修改設(shè)計者可能對原始設(shè)計者完全不熟悉。例如,如 果原始設(shè)計者、即最初設(shè)計C塊100的那個人具有將與底部支腿105和頂部支腿110有關(guān) 的面約束為共面的設(shè)計方法意圖,則在圖Ic中舉例說明的修改動作很容易使用對于3D模 型設(shè)計領(lǐng)域的技術(shù)人員來說基本的已知參數(shù)/基于歷史的建模技術(shù)來實現(xiàn),但是用于簡單 的解釋因為兩個面被約束為共面,移動一個面將促使另一面也移動。如果另一方面,修改設(shè) 計者意圖在單獨留下頂部支腿110的同時僅移動與底部支腿105相關(guān)聯(lián)的面,例如,圖lb, 則必須發(fā)生多個附加步驟以去除共面約束,這要求多個附加步驟,從理解如果修改設(shè)計者 不是原始設(shè)計者、那么如何產(chǎn)生C塊100的兩個支腿開始。此外,如果C塊100的原始設(shè)計 者未將底部支腿105和頂部支腿110建模成共面的,而是用諸如距離或公式的某些其它方 法來對支腿進行建模,則如在圖Ic中看到的那樣,要改進兩者將使困難增加至修改設(shè)計者 也可以從頭開始對C塊100進行建模的程度。另一方面,在由類似于例如CoCreate、IronCADjP Kubotek的公司采取的無歷史 或基于主體的方法中修改C塊100未能保持由參數(shù)建模范例使之普及的歷史樹。在無歷史 方法中,明確地對實體模型上的每個項目進行改變。如果C塊100的原始設(shè)計者意圖在于 底部支腿105和頂部支腿110上的面保持共面關(guān)系,則稍后的修改要求用于編輯的面的手 動選擇以保證期望的結(jié)果,如果原始設(shè)計者的意圖是未知或不能確定的,則這是困難的。例 如,修改設(shè)計者可能僅僅通過選擇一個面或單獨地選擇所有其它共面的面來進行圖Ib或 圖IC所示的變化,這在本示例中碰巧是少數(shù)的,但是在復(fù)雜組件模型中可以有幾百個?;蛘?,某些軟件應(yīng)用程序可以允許修改設(shè)計者“使面共面”并在事后在編輯時永久性地捕捉設(shè) 計意圖,但是這也可能是繁瑣的,特別是在具有非常大的模型的情況下。設(shè)計意圖是實體模 型的原始設(shè)計者在如何設(shè)計模型方面的意圖?;蛘?,設(shè)計意圖將影響實體模型的修改設(shè)計 者的意圖。此后一種變化將使日后進行的在圖Ib中看到的修改困難,特別是由于現(xiàn)在設(shè)計 意圖可能被燒固(baked)到與設(shè)計意圖相反的模型中?;跉v史的方法存在的問題是在模型創(chuàng)建時結(jié)合并固定設(shè)計意圖,這可能使在模 型創(chuàng)建時未預(yù)期的稍后進行的改變變得復(fù)雜。相反,無歷史系統(tǒng)在日后的變化方面是靈活 的,但捕捉到關(guān)于事物如何相關(guān)的微乎其微的智能(intelligence)。如果修改設(shè)計者確定 在稍后的時間點手動地捕捉此類智能,則類似于基于歷史的系統(tǒng),該智能被結(jié)合并固定,從 而限制進一步的靈活性。本發(fā)明人有利地認識到對在實體模型上提供直接編輯能力的系統(tǒng)和方法的 需要,其中,檢查當前幾何結(jié)構(gòu)并將其與各種模型約束相聯(lián)合以便實時地對依賴關(guān)系 (dependency)進行定位(localized)。
發(fā)明內(nèi)容
為了解決所識別的需要及相關(guān)問題,一種系統(tǒng)提供用于修改在具有用于設(shè)計的軟 件指令的計算機中操縱的實體模型表示的系統(tǒng),包括計算機系統(tǒng),其中,所述計算機系統(tǒng)包 括存儲器、處理器、用戶輸入設(shè)備、以及顯示設(shè)備;存儲在計算機系統(tǒng)的存儲器中的計算機 生成的幾何模型;并且其中,所述計算機系統(tǒng)接收用戶輸入并訪問具有定義幾何模型的多 個幾何模型定義的至少一個數(shù)據(jù)文件;將幾何模型定義轉(zhuǎn)換成幾何模型的幾何表示;計算 用戶所識別的至少一個幾何結(jié)構(gòu)與幾何模型之間的多個幾何條件以創(chuàng)建一組約束;以及根 據(jù)該組約束來計算具有已修改幾何結(jié)構(gòu)的已修改幾何模型以向用戶進行顯示。所述系統(tǒng), 其中,所述計算機系統(tǒng)還將已修改幾何模型的已修改幾何表示保存到所述至少一個數(shù)據(jù)文 件中。所述系統(tǒng),其中,所述計算機系統(tǒng)還從所述幾何模型去除所述一組約束。所述系統(tǒng), 其中,所述至少一個數(shù)據(jù)文件是幾何建模器(modeler)傳輸文件、建模工具箱(toolkit)信 息文件、以及實體模型部分文件中的一個。所述系統(tǒng),其中,所述幾何表示采取邊界表示格 式。所述系統(tǒng),其中,所述幾何模型是實體模型。所述系統(tǒng),其中,以遞歸方式將所述多個幾 可條件計算到至少——個i只另1J級另 1J (wherein the plurality of geometric conditions are calculated in a recursive manner to at least one level of recognition )0所述系統(tǒng)的其它特征部分地在以下說明書和附圖中闡述,并且部分地通過該系統(tǒng) 的實施了解?,F(xiàn)在參照構(gòu)成其一部分的以下附圖來描述該系統(tǒng)。應(yīng)理解的是在不脫離所述 系統(tǒng)的范圍的情況下,可以利用其它實施例且可以進行修改。
在下文中將結(jié)合附圖來描述系統(tǒng),其中,相同的標識表示相同的組件,并且 圖Ia-Ic舉例說明三維塊的三度投影;
圖2舉例說明樣本虛擬產(chǎn)品開發(fā)環(huán)境;
圖3是其中可以實施所述系統(tǒng)的計算機系統(tǒng)的方框圖4a_4b舉例說明在軟件應(yīng)用程序中體現(xiàn)的軟件編程代碼的一般概念;圖5是實施例所采用的方法的總體視圖的框圖; 圖6舉例說明示例性實體模型修改系統(tǒng);
圖7舉例說明通過使用示例性實體模型修改系統(tǒng)的到平面的變化距離;以及 圖8舉例說明通過使用示例性實體模型修改系統(tǒng)的變化圓弧半徑。
具體實施例方式1.介紹
描述了一種用于修改實體模型中的幾何關(guān)系的方法和系統(tǒng)。在以下說明中,出于解釋 的目的,闡述了許多特定細節(jié)以便提供對所述系統(tǒng)的透徹理解。然而,對于本領(lǐng)域的技術(shù)人 員來說應(yīng)顯而易見的是可以在沒有這些特定細節(jié)的情況下實施該系統(tǒng)。在其它實例中,以 方框圖的形式示出眾所周知的結(jié)構(gòu)和設(shè)備以便避免不必要地使該系統(tǒng)含糊難懂。圖2舉例說明樣本虛擬產(chǎn)品開發(fā)環(huán)境。當今所采用的虛擬開發(fā)環(huán)境通常從創(chuàng)建產(chǎn) 品或?qū)ζ浼右愿倪M的客戶請求或固有期望開始,一般在200處示出。該產(chǎn)品可以是如開瓶 器一樣簡單或如潛水艇一樣復(fù)雜。進一步參照圖2,原始設(shè)計者根據(jù)計算機輔助設(shè)計(CAD) 應(yīng)用程序205所采用的已知方法對期望產(chǎn)品進行建模,在通用計算機上執(zhí)行CAD應(yīng)用程序 205,所述通用計算機隨后變成用于在應(yīng)用程序執(zhí)行和交互時執(zhí)行計算機輔助設(shè)計例行程 序的專用計算環(huán)境,其細節(jié)在下文討論。CAD應(yīng)用程序205優(yōu)選地是都由西門子產(chǎn)品生命周 期管理軟件公司提供以獲得許可的SolidEdge或NX。CAD用戶以眾所周知且被很好地理解 的方式操作CAD應(yīng)用程序205以便虛擬地顯示類似于且符合根據(jù)客戶請求或固有期望確定 的原始設(shè)計要求的實體模型。該實體模型一般是部件的組件和多個組件,其中,所述多個組 件被進一步分解為子組件和/或部件,全部優(yōu)選地具有被存儲在實體模型數(shù)據(jù)文件225中 以供后續(xù)重新調(diào)用的虛擬表示。一旦實體模型被確定為處于與原始設(shè)計要求一致的適當形式,則優(yōu)選地由CAE用 戶使用諸如由西門子產(chǎn)品生命周期管理軟件公司提供的NX CAE或FEMAP的計算機輔助工 程(CAE)應(yīng)用程序210對其進行測試,以便進行部分容錯測試和多種其它工程測試。如果 CAE用戶確定必須對實體模型進行修改以成功地通過容錯測試,則實體模型被返回到CAD 用戶以便在CAD應(yīng)用程序205中進行修改。CAD應(yīng)用程序205和CAE應(yīng)用程序210與各用 戶之間的此迭代是遞歸的,直至實體模型成功地通過必要的設(shè)計要求和工程測試為止。在成功完成之后,處于以其最終設(shè)計形式的實體模型還被設(shè)計為用于諸如都由西 門子產(chǎn)品生命周期管理軟件公司提供的NX CAM或CAM Express的計算機輔助制造(CAM)應(yīng) 用程序215中的實際制造。通過使用CAM應(yīng)用程序215,CAM用戶將對數(shù)控程序、模具、工具 和沖模(die)如何制造實際產(chǎn)品230進行建模。CAM用戶可以具有附加修改以符合原始設(shè) 計要求,例如使用放電加工(EDM)可能要求不同的技術(shù),取決于是否使用線切割EDM還是刻 模(die sinking) EDM來制造實際產(chǎn)品230。為了虛擬地對一部分進行銑磨(mill),CAM應(yīng) 用程序215定義用于EDM過程的軌道的優(yōu)選電極路徑。CAM用戶可以確定為了符合設(shè)計和 工程要求,實體模型要求例如在冷卻之后的尺寸方面的細微修改以允許包括實際產(chǎn)品230 的材料的硬化。在產(chǎn)品的成功虛擬設(shè)計、工程化、和制造之后,制造省可以將所有制造規(guī)則與和產(chǎn) 品有關(guān)的產(chǎn)品工程化鏈接,包括過程布局和設(shè)計、過程模擬/工程化、和利用諸如由西門子產(chǎn)品生命周期管理軟件公司提供的Tecnomatix的數(shù)字工廠應(yīng)用程序200的生產(chǎn)管理。制 造省可能發(fā)現(xiàn)需要改進實際產(chǎn)品230,因為CAM用戶用例如已過時且要求制造商使用5軸圖 靈機(turning machine)來產(chǎn)生必要的坯的EDM系統(tǒng)對產(chǎn)品進行建模,或者制造商已轉(zhuǎn)入 噴射成型而不是壓縮成型來形成包括實際產(chǎn)品230的部分。例如,必須將實體模型修改為 符合制造實際產(chǎn)品230的最終要求。遍及上述虛擬產(chǎn)品開發(fā),產(chǎn)品設(shè)計例如從客戶請求流動至CAD用戶至CAE用戶至 CAD用戶,返回至CAE用戶、至CAM用戶、然后至用于實際產(chǎn)品230的實際生產(chǎn)的制造商。隨 著對實體模型的每次編輯,還修改幾何關(guān)系以便符合例如CAD用戶、CAE用戶、CAM用戶、以 及制造商進行的必要設(shè)計更改。此外,由于CAD/CAE/CAM用戶中的每一個修改實體模型,定 義實體模型的數(shù)據(jù)模型也被修改以適當?shù)亟鉀Q上文所討論的變化并被適當?shù)卮鎯υ趯嶓w 模型數(shù)據(jù)文件225中。然后,制造商根據(jù)原始設(shè)計規(guī)范和后續(xù)工程化修改來繼續(xù)生產(chǎn)實際 產(chǎn)品230。虛擬產(chǎn)品開發(fā)在系統(tǒng)中發(fā)生,其中,用于修改實體模型中的幾何關(guān)系的所述系統(tǒng) 和方法可在駐留于多種硬件系統(tǒng)上的存儲器中的多種軟件應(yīng)用程序中執(zhí)行,下文進行更詳 細的描述。2.計算機程序產(chǎn)品
現(xiàn)在轉(zhuǎn)到硬件系統(tǒng),圖3是其中可以實施所述系統(tǒng)的計算機系統(tǒng)的方框圖。圖3和隨 后的討論意圖提供其中可以實現(xiàn)本實施例的適當硬件系統(tǒng)和計算環(huán)境的簡要的一般說明。 本實施例可以在多種已知計算環(huán)境中的任何一種中執(zhí)行。參照圖3,示例性計算機系統(tǒng)包括計算機300形式的計算設(shè)備,諸如臺式計算機或 膝上型計算機,其包括多個相關(guān)外圍設(shè)備(未描繪)。計算機300包括中央處理單元(CPU) 305和依照已知技術(shù)用來在中央處理單元305與計算機300的多個部件之間進行連接并能 夠?qū)崿F(xiàn)通信的總線310。CPU 350的操作在本領(lǐng)域中被透徹地理解,其優(yōu)選地為電路,能夠 執(zhí)行具有被編碼在其上的計算機可執(zhí)行指令的計算機程序,諸如由計算機300執(zhí)行的程序 模塊。通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定數(shù)據(jù)類型的例行程序、程序、對象、部 件、數(shù)據(jù)結(jié)構(gòu)等。優(yōu)選地,程序模塊包括文件處理模塊306、數(shù)據(jù)顯示模塊307、邏輯處理模 塊308、和方法處理模塊309。邏輯處理模塊308向文件處理模塊306、數(shù)據(jù)顯示模塊307和 方法處理模塊309發(fā)送請求以根據(jù)計算機可執(zhí)行指令進行操作。同樣地,邏輯處理模塊從 文件處理模塊306、數(shù)據(jù)顯示模塊307和方法處理模塊309接收請求以根據(jù)計算機可執(zhí)行指 令進行操作。所述總線310還使得能夠?qū)崿F(xiàn)各種程序模塊和多個部件之間的通信。總線310 可以是多種類型的總線結(jié)構(gòu)中的任何一種,包括存儲器總線或存儲器控制器、外圍總線、和 本地總線,其使用多種總線架構(gòu)中的任何一種。計算機300通常包括將中央處理單元306 經(jīng)由總線310連接到諸如鍵盤320、鼠標325、和/或其它接口設(shè)備330的一個或多個接口 設(shè)備的用戶接口適配器315,其它接口設(shè)備330可以是任何用戶接口設(shè)備,諸如觸感屏、數(shù) 字化鋼筆輸入板等。總線310還經(jīng)由顯示適配器340將諸如IXD屏幕或監(jiān)視器的顯示設(shè)備 335連接到中央處理單元305。總線310還將中央處理單元305連接到可以包括ROM、RAM 等的存儲器345。計算機300還包括將至少一個存儲設(shè)備355和/或至少一個光驅(qū)360耦合到總線 的驅(qū)動接口 350。存儲設(shè)備355可以包括用于從盤讀取和向其寫入的未示出的硬盤驅(qū)動器、 用于從可移動磁盤驅(qū)動器讀取或向其寫入的未示出的磁盤驅(qū)動器。同樣地,光驅(qū)360可以包括未示出的光盤驅(qū)動器,其用于從諸如CD ROM或其它光學(xué)介質(zhì)的可移動光盤讀取或向其 寫入。前述驅(qū)動器和相關(guān)計算機可讀介質(zhì)提供計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和用于 計算機300的可被文件處理模塊306在由方法處理模塊309提供的指令所描述的方法中根 據(jù)由邏輯處理模塊308接收到的指令進行訪問的其它數(shù)據(jù)的非易失性存儲。計算機300可以經(jīng)由通信信道365與其它計算機或計算機網(wǎng)絡(luò)通信。計算機300 可以與局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)中的此類其它計算機相關(guān)聯(lián),或者其可以是具有另一 計算機的客戶端/服務(wù)器布置中的客戶端等。此外,還可以在分布式計算環(huán)境中實施本實 施例,其中,由通過通信網(wǎng)絡(luò)鏈接的遠程處理設(shè)備來執(zhí)行在由方法處理模塊309提供的指 令所描述的方法中由邏輯處理模塊308提供的任務(wù)指令。在分布式計算環(huán)境中,程序模塊 可以位于本地和遠程存儲器存儲設(shè)備二者中。所有這些配置、以及適當?shù)耐ㄐ庞布蛙浖?在本領(lǐng)域中是已知的?,F(xiàn)在更詳細地轉(zhuǎn)到程序模塊,圖4a_4b舉例說明在軟件應(yīng)用程序中體現(xiàn)的軟件編 程代碼的一般概念。進一步參照圖如,下面將在本實施例的背景下更詳細地描述程序模塊, 其中,軟件應(yīng)用程序400包括如上文所討論的那些的可訪問程序模塊。軟件應(yīng)用程序400 可以是實體建模應(yīng)用程序的形式,諸如上述CAD應(yīng)用程序205、CAE應(yīng)用程序210或CAM應(yīng) 用程序215。此外,可以預(yù)期由具有供訪問和利用的特定API (“應(yīng)用程序編程界面”)調(diào)用 特征的第三方供應(yīng)商提供軟件應(yīng)用程序400。繼續(xù),隨著用戶與軟件應(yīng)用程序400相交互, 某些修改事件觸發(fā)器與變化建模工具箱405相交互,這將在下文中更詳細地討論。軟件應(yīng) 用程序400和變化建模工具箱405 —起或單獨地在由方法處理模塊309提供的指令所描述 的方法中利用邏輯處理模塊308來調(diào)用低級幾何建模內(nèi)核以根據(jù)由用戶選擇并由軟件應(yīng) 用程序400執(zhí)行的命令來實現(xiàn)實體模型的某些修改事件,如在實體建模領(lǐng)域中一般理解的 那樣,但在下文中更詳細地進行討論。低級幾何建模內(nèi)核通常是類似于由西門子產(chǎn)品生命 周期管理軟件公司授權(quán)的Parasolid的至少三維(3D)幾何建模器(modelerMlO的集合和 類似于由西門子產(chǎn)品生命周期管理軟件公司提供的3D DCM產(chǎn)品的幾何軟件部件庫415的集合。 另一方面,參照圖4b,變化建模工具箱405對從軟件應(yīng)用程序400傳送的變化編輯 命令進行操作。另外,軟件應(yīng)用程序400將非變化建模調(diào)用(call)傳送到3D幾何建模器 410,并且3D幾何建模器410利用幾何軟件部件庫415的集合,如幾何建模器領(lǐng)域中通常理 解的那樣。關(guān)于變化建模工具箱405及下文將更詳細地討論的,發(fā)生與涉及查找、編輯、求 解和應(yīng)用的變化編輯有關(guān)的多個操作。在實體建模領(lǐng)域中一般應(yīng)理解的是以上幾何軟件部 件庫的集合提供建模功能,例如,諸如幾何約束求解、變化設(shè)計、參數(shù)設(shè)計、運動模擬、沖突 檢測、間隙計算、拓撲結(jié)構(gòu)位置、拓撲結(jié)構(gòu)移動解決方案、以及隱藏線消除。還可以預(yù)期在本 實施例的范圍內(nèi),3D幾何建模器410和部件庫415是同一應(yīng)用程序的部件而不是單獨的部 件、或其組合。已描述了計算機程序產(chǎn)品,現(xiàn)在提供關(guān)于模型修改系統(tǒng)的更多細節(jié)。
3.模型修改系統(tǒng)
現(xiàn)在轉(zhuǎn)到模型修改系統(tǒng),圖5是本實施例所采用的方法的總體視圖的框圖。參照圖5, 本實施例公開了使用由方法處理模塊309提供的指令所描述的方法的邏輯處理模塊308, 其中,所述方法是用于在具有用于設(shè)計的軟件指令的計算機中操縱的實體模型表示中修改 幾何關(guān)系的方法,一般在500處描繪。提到以下步驟是為了提供在具有隨后討論的細節(jié)的系統(tǒng)中所述的實施例的概觀。所述系統(tǒng)訪問具有定義幾何模型的多個幾何模型定義的至 少一個數(shù)據(jù)文件(步驟500)。所述系統(tǒng)將幾何模型定義轉(zhuǎn)換成幾何模型的幾何表示(步驟 505)。所述系統(tǒng)計算由用戶識別的至少一個幾何結(jié)構(gòu)與幾何模型之間的多個幾何條件以創(chuàng) 建一組約束(步驟510)。所述系統(tǒng)根據(jù)該組約束來計算具有已修改幾何結(jié)構(gòu)特征的已修改 幾何模型以向用戶進行顯示(步驟515 )。圖6舉例說明示例性實體模型修改系統(tǒng)。參照圖6,使用軟件應(yīng)用程序400的用戶 執(zhí)行用于軟件應(yīng)用程序400的必要命令以訪問優(yōu)選的是硬盤驅(qū)動器600的存儲設(shè)備355,硬 盤驅(qū)動器600具有與存儲在實體模型數(shù)據(jù)文件225中的實體模型的虛擬表示有關(guān)的數(shù)據(jù), 所述實體模型數(shù)據(jù)文件225優(yōu)選地可被軟件應(yīng)用程序400、變化建模工具箱405、3D幾何建 模器410和部件庫415訪問。軟件應(yīng)用程序400的特征在于實體建模應(yīng)用程序605,其使 用文件處理模塊308訪問優(yōu)選地被構(gòu)造為優(yōu)選地以指示用于3D幾何建模器410的建模器 傳輸文件類型的stand. x_t格式、指示用于變化建模工具箱405的變化建模工具箱信息文 件類型的stand. vtk_data格式被存儲在硬盤驅(qū)動器600上的數(shù)據(jù)文件610的實體模型數(shù) 據(jù)文件225,其中,stand*指的是類屬部分文件名。實體建模應(yīng)用程序605具有其自己的已 識別文件類型擴展,例如*. APP,其用該已識別文件類型擴展來獲得用于操縱實體模型的足 夠信息。繼續(xù),實體建模應(yīng)用程序605訪問存儲在硬盤驅(qū)動器600上的數(shù)據(jù)文件610以將 stand. x_t文件加載到將被3D幾何建模器410訪問的3D幾何建模器會話主體。stand. vtk_ data文件被加載并添加到3D幾何建模器會話主體。實體建模應(yīng)用程序605加載關(guān)于實體 模型的應(yīng)用程序數(shù)據(jù)并根據(jù)其自己的文件類型例如PRT來訪問數(shù)據(jù)文件610。一旦已產(chǎn)生 相互作用,如稍后將討論的,變化建模工具箱405通過下文更詳細地討論的變換建模工具 箱API 615來處理修改計算。在實體模型修改之后,為了將已修改實體模型保存到硬盤驅(qū) 動器600,塊620舉例說明與變化建模工具箱405有關(guān)的數(shù)據(jù)被從實體模型刪除(striped) 并放置到vtk_data數(shù)據(jù)結(jié)構(gòu)中,所述Vtk_data數(shù)據(jù)結(jié)構(gòu)隨后被保存到stand. vtk_data文 件。被刪除的實體主體也被保存到硬盤驅(qū)動器600,如應(yīng)用程序數(shù)據(jù)一樣。4.模型修改方法
其中可以存在不止一個交互作用的交互作用初始化在實體建模應(yīng)用程序605創(chuàng) 建交互作用對象625時開始并在交互作用對象625被摧毀時結(jié)束。實體建模應(yīng)用程序 605優(yōu)選地在模型狀態(tài)下用部件實例、現(xiàn)有約束和不可直接從部件獲得的,例如內(nèi)部部件 (intra-part)的尺寸填充(populate)交互作用對象625,并且還規(guī)定哪些尺寸是硬性意圖 尺寸一可以被浮動的那些和可以按照實體建模應(yīng)用程序605的用戶所定義的被打破的那 些。實體建模應(yīng)用程序605優(yōu)選地在模型狀態(tài)下用變化拓撲結(jié)構(gòu)(topology)填充交互作 用對象625,其中,該拓撲結(jié)構(gòu)是還不僅包括變化拓撲結(jié)構(gòu)、而且包括隨著由實體建模應(yīng)用 程序605提供的修改操作而變的FEV組的面、邊、或頂點(“FEV”)。此外,實體建模應(yīng)用程序 605優(yōu)選地在模型狀態(tài)下用與實體模型有關(guān)且不可直接獲得的,例如,諸如定義環(huán)境的距離 和鄰近關(guān)系(neighborhood)的搜索范圍選項的附加信息來填充交互作用對象625。實體建 模應(yīng)用程序605通過諸如到變化建模工具箱405的程序或API調(diào)用的已知通信方法來傳送 上述項目。變化建模工具箱405從實體建模應(yīng)用程序605接收交互作用信息并通過使用例 如共面、共軸、等半徑、相切和對稱的一般在實體建模應(yīng)用程序605中使用的已知實體搜索機制,通過搜索變化拓撲結(jié)構(gòu)與不在變化拓撲結(jié)構(gòu)中的其它FEV之間的幾何關(guān)系來計算交 互作用對象625的意圖。變化建模工具箱405將搜索到的信息傳送回到實體建模應(yīng)用程序 605以供用戶優(yōu)選地選擇?;蛘撸x擇可以根據(jù)預(yù)定義選擇方案或其它已知識別方法自動 地發(fā)生。實體建模應(yīng)用程序605可選地在一級、二級、直至η級的識別中以迭代方式遞歸地 搜索變化拓撲結(jié)構(gòu)與其它FEV之間的幾何關(guān)系。例如,一級的識別適用于通過一個程度與 變化拓撲結(jié)構(gòu)相關(guān)的那些 FEV (a first level of recognition applies to those FEVs related to the change topology by one degree),也就是說,與變化 石撲結(jié)豐勾共享特征 的那些被搜索的FEV。繼續(xù)該意圖,實體建模應(yīng)用程序605規(guī)定所確定的幾何關(guān)系中的哪個拓撲結(jié)構(gòu)特 征將是剛性或非剛性特征。剛性特征由其幾何定義與主實體模型拓撲結(jié)構(gòu)無關(guān)的拓撲結(jié)構(gòu) 定義。相反,非剛性特征由其幾何定義取決于主實體模型拓撲結(jié)構(gòu)的拓撲結(jié)構(gòu)定義。變化建 模工具箱405將以上信息提供給部件庫415,例如三維空間約束管理器(3D DCM),其向使得 能夠高效地使用尺寸和約束以將部件定位于組件和機構(gòu)中的一系列應(yīng)用程序提供尺寸驅(qū) 動的基于約束的設(shè)計功能,以控制部件的形狀并產(chǎn)生3D草圖。此外,實體建模應(yīng)用程序605 的用戶指示將在變化拓撲結(jié)構(gòu)上執(zhí)行的操作類型,例如改變距離值、拖曳特征、或產(chǎn)生偏 移。關(guān)于可用操作類型,用戶還可以規(guī)定包括諸如以美國公開號2008/0143708在2006年12 月 18 日提交的"SYSTEM AND METHOD FOR AUTO-DIMENSIONING BOUNDARY REPRESENTATION MODEL”中公開和描述的Autodimensioning的選項。實體建模應(yīng)用程序605在考慮為了確 定一組約束而提供的操作的情況下向交互作用對象625提供用于修改的所選值,其中,所 述約束是被推斷的或被定義的或兩者。變化建模工具箱405將被識別和被接受的約束和尺 寸提供給3D DCM,并添加最小連接約束以在必要時將實體模型保持在一起。該修改發(fā)生并在更新期間被應(yīng)用于實體模型。例如,實體建模應(yīng)用程序605通過 將尺寸值或FEV組位置改變規(guī)定的距離在符合該組約束的同時根據(jù)設(shè)計意圖來修改變化 拓撲結(jié)構(gòu)。當使面拓撲結(jié)構(gòu)偏移時,優(yōu)選的是使用3D幾何建模器410來預(yù)先計算新的幾何 結(jié)構(gòu)。在更新期間,變化建模工具箱405對約束和尺寸求解以確定包括半徑的新FEV位置 值。涉及變化建模工具箱405的更新被分成被應(yīng)用于實例的3D幾何建模器410和實體模型 部件位置變換,其能夠被實體建模應(yīng)用程序605詢問。系統(tǒng)計算具有已修改編輯特征的幾 何模型以便顯示給用戶。這樣做時,變化建模工具箱405優(yōu)選地將求解的變化應(yīng)用于3D幾 何建模器410所表示的模型,以及對由實體建模應(yīng)用程序605所提供的解導(dǎo)致的約束違反 的檢查。在拖曳FEV組的情況下,軟件應(yīng)用程序400可以通過優(yōu)選地使用回卷(rollback) 程序在一個循環(huán)內(nèi)重復(fù)地應(yīng)用變化組值來避免滯后。此外,實體建模應(yīng)用程序605可以對 共享同一基本數(shù)據(jù)并形成同一交互作用的一部分的不同操作進行進一步程序調(diào)用。實體建 模應(yīng)用程序605優(yōu)選地請求任何被消耗的拓撲結(jié)構(gòu)面,更新用于變化的面的映射信息,進 行部件定位變換以向用戶顯示已修改的實體模型,并隨后摧毀交互作用對象625。5.應(yīng)用程序工作流程示例
圖7舉例說明通過使用示例性實體模型修改系統(tǒng)的到平面的變化距離。參照圖7,用 戶意圖通過將所選編輯部分拖曳至在705處所示的位置來修改實體模型部分700。用戶激 活在顯示設(shè)備335中所示的實體建模應(yīng)用程序605以加載實體模型部分。實體建模應(yīng)用程 序605將具有平面710的實體模型部分700加載到變化建模工具箱405中。繼續(xù)的,變化建模工具箱405還通過來自實體建模應(yīng)用程序605的幫助將圓柱面715識別為與平面710 相切。實體建模應(yīng)用程序605將圓柱面715添加到選擇組,并遞歸地檢查來看是否存在可 能被修改的任何其它FEV組。變化建模工具箱405還將斜角面720識別為當前與圓柱面 715相切并將其添加到選擇組。用戶意圖使平面710固定,但將該選擇組確定為非剛性的。 非剛性特征是其幾何定義取決于主模型拓撲結(jié)構(gòu)的特征。進一步確定約束,平面710和圓 柱面715被約束為相切,以及圓柱面715和斜角面720被約束為相切。此外,自動確定尺寸 (autodimensioning)操作選項添加從遠平行面725到所選平面710的距離。用戶利用由實 體建模應(yīng)用程序605提供的工具來以圖形方式將選擇組從平面710位置到遠平行面725位 置拖曳自動距離(autodi stance )。圖8舉例說明通過使用示例性實體模型修改系統(tǒng)的變化圓弧半徑。參照圖8,用 戶意圖通過將數(shù)值半徑值從10個單位變成20個單位來修改實體模型部分800。用戶激活 在顯示設(shè)備335中所示的實體建模應(yīng)用程序605以將實體模型部分800加載到變化建模工 具箱405。所選邊805也被以使得殼(shell)特征被變化建模工具箱405認出并識別的方 式識別并加載到變化建模工具箱405中。軟件應(yīng)用程序400將所選邊805添加到選擇組, 并遞歸地檢查來看是否存在可能被修改的任何其它FEV組。變化建模工具箱405識別到所 選邊805在面拓撲結(jié)構(gòu)上,因此相關(guān)面拓撲結(jié)構(gòu)被添加到變化建模工具箱405。用戶通過 使用將必要程序調(diào)用傳送到變化建模工具箱405的實體建模應(yīng)用程序605來選擇變化半徑 操作。所選邊805被約束與面拓撲結(jié)構(gòu)一致,而圓柱面被確定為非剛性的。如前所述,非剛 性圓柱面取決于主模型拓撲結(jié)構(gòu)。計算相關(guān)殼面之間的距離并應(yīng)用新的半徑值。變化建模 工具箱405將用于偏移的新位置810和兩個圓柱半徑的變化面?zhèn)魉突氐綄嶓w建模應(yīng)用程序 605以便由用戶在顯示設(shè)備335中觀看。6.結(jié)論
本實施例可以在數(shù)字電子電路中、或在計算機硬件、固件、軟件中、或在其組合中實現(xiàn)。 本實施例的裝置可以在有形地在機器可讀存儲設(shè)備中體現(xiàn)的用于由可編程處理器執(zhí)行的 計算機程序產(chǎn)品中實現(xiàn);并且本實施例的方法步驟可以由通過對輸入數(shù)據(jù)進行操作并生成 輸出來執(zhí)行指令程序以執(zhí)行本實施例的功能的可編程處理器來執(zhí)行。本實施例可以有利地在可在可編程系統(tǒng)上執(zhí)行的一個或多個計算機程序中實現(xiàn), 所述可編程系統(tǒng)包括被耦合已從數(shù)據(jù)存儲系統(tǒng)接收數(shù)據(jù)和指令、并向其發(fā)送數(shù)據(jù)和指令的 至少一個可編程處理器、數(shù)據(jù)存儲系統(tǒng)、至少一個輸入設(shè)備、和至少一個輸出設(shè)備。所述應(yīng) 用程序可以以高級程序或面向?qū)ο蟮木幊陶Z言、或者如果期望以匯編或機器語言來實現(xiàn); 并且在任何情況下,所述語言可以是編譯或解釋語言。通常,處理器將從只讀存儲器和/或隨機存取存儲器接收指令和數(shù)據(jù)。適合于有 形地體現(xiàn)計算機程序指令和數(shù)據(jù)的存儲設(shè)備包括許多形式的非易失性存儲器,包括例如半 導(dǎo)體存儲器設(shè)備,諸如EPROM、EEPR0M、和閃速存儲器設(shè)備;磁盤,諸如內(nèi)部硬盤和可移動 盤;磁光盤;以及CD-ROM盤。前述的任何一個可以由專門設(shè)計的ASIC (專用集成電路)來 補充或結(jié)合到其中。已描述了許多實施例。應(yīng)理解的是在不脫離本實施例的精神和范圍的情況下進行 各種修改。因此,其它實現(xiàn)在以下權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種用于修改在具有用于設(shè)計的軟件指令的計算機中操作的實體模型表示的系 統(tǒng),包括計算機系統(tǒng),其中,所述計算機系統(tǒng)包括存儲器、處理器、用戶輸入設(shè)備、以及顯示設(shè)備;計算機生成的幾何模型,其被存儲在所述計算機系統(tǒng)的存儲器中;以及其中,所述計算機系統(tǒng)接收用戶輸入并訪問具有定義幾何模型的多個幾何模型定義的 至少一個數(shù)據(jù)文件;將幾何模型定義轉(zhuǎn)換成幾何模型的幾何表示;計算由用戶識別的至少 一個幾何結(jié)構(gòu)與幾何模型之間的多個幾何條件以創(chuàng)建一組約束;以及根據(jù)該組約束計算具 有已修改幾何結(jié)構(gòu)的已修改幾何模型以向用戶進行顯示。
2.段落7的系統(tǒng),其中,所述計算機系統(tǒng)還將已修改幾何模型的已修改幾何表示保存 到至少一個數(shù)據(jù)文件中。
3.段落7的系統(tǒng),其中,所述計算機系統(tǒng)還從所述幾何模型去除所述一組約束。
4.段落7的系統(tǒng),其中,所述至少一個數(shù)據(jù)文件是幾何建模器傳輸文件、建模工具箱 信息文件、和實體模型部件文件中的一個。
5.段落7的系統(tǒng),其中,所述幾何表示采取邊界表示格式。
6.段落7的系統(tǒng),其中,所述幾何模型是實體模型。
7.段落7的系統(tǒng),其中,以遞歸方式將所述多個幾何條件計算到至少一個識別級別。
8.一種計算機程序產(chǎn)品,包括具有在其中體現(xiàn)的計算機可讀程序代碼的計算機可讀 介質(zhì),所述計算機可讀程序代碼適合于被執(zhí)行以實現(xiàn)用于修改實體模型表示的方法,該方 法包括提供系統(tǒng),其中,所述系統(tǒng)包括不同的軟件模塊,并且其中,所述不同的軟件模塊包括 模型文件處理模塊、數(shù)據(jù)顯示組織模塊、邏輯處理模塊、方法處理模塊;訪問多個模型數(shù)據(jù)文件,所述多個模型數(shù)據(jù)文件規(guī)定在幾何建模會話中使用的建模 器傳輸數(shù)據(jù)、應(yīng)用于所述幾何建模會話的修改信息數(shù)據(jù)、以及受所述幾何建模會話影響的 模型應(yīng)用程序數(shù)據(jù),并且其中,由所述模型文件處理模塊響應(yīng)于被所述邏輯處理模塊調(diào)用 來執(zhí)行所述訪問;識別至少一個幾何結(jié)構(gòu)與所述幾何模型之間的模型應(yīng)用程序數(shù)據(jù)中的多個幾何條件 以確定一組約束,其中,由所述方法處理模塊響應(yīng)于被所述邏輯處理模塊調(diào)用來執(zhí)行所述 識別;計算符合所述一組約束的已修改幾何模型,其中,由所述方法處理模塊響應(yīng)于被所述 邏輯處理模塊調(diào)用來執(zhí)行所述計算;以及針對根據(jù)約束組進行的顯示,由所述數(shù)據(jù)顯示組織模塊響應(yīng)于被所述邏輯處理模塊調(diào) 用而組織由所述邏輯處理模塊接收到的已修改幾何模型,其中,所述組織包括利用由所述 邏輯處理模塊計算的所述多個幾何條件。
9.一種用于修改由具有用于設(shè)計的軟件指令的計算機的用戶操作的實體模型表示的 方法,包括訪問具有定義幾何模型的多個幾何模型定義的至少一個數(shù)據(jù)文件;將幾何模型定義轉(zhuǎn)換成幾何模型的幾何表示;計算由用戶識別的至少一個幾何結(jié)構(gòu)與幾何模型之間的多個幾何條件以創(chuàng)建一組約束;以及根據(jù)該組約束計算具有已修改幾何結(jié)構(gòu)的已修改幾何模型以向用戶進行顯示。
10.權(quán)利要求9的方法,還包括向用戶顯示所述幾何模型的幾何表示。 .
11.權(quán)利要求9的方法,還包括將已修改幾何模型的已修改幾何表示保存到所述 至少一個數(shù)據(jù)文件中。
12.權(quán)利要求9的方法,還包括從所述幾何模型去除所述一組約束。
13.權(quán)利要求9的方法,其中,所述至少一個數(shù)據(jù)文件是幾何建模器傳輸文件、建模工 具箱信息文件、和實體模型部件文件中的一個。
14.權(quán)利要求9的方法,其中,所述幾何表示采取邊界表示格式。
15.權(quán)利要求9的方法,其中,所述幾何模型是實體模型。
16.權(quán)利要求9的方法,其中,以遞歸方式將多個幾何條件計算到至少一個識別級別。
17.一種用于修改實體模型的系統(tǒng);包括計算機系統(tǒng),其中,所述計算機系統(tǒng)包括存儲器、處理器、用戶輸入設(shè)備、以及顯示設(shè)備;計算機生成的幾何模型,其被存儲在所述計算機系統(tǒng)的存儲器中;以及 其中,所述計算機系統(tǒng)訪問包含指令的數(shù)據(jù)文件以計算實體模型的顯示;檢查所述實 體模型的當前幾何結(jié)構(gòu)狀態(tài);將所述當前幾何結(jié)構(gòu)狀態(tài)與所述實體模型上的多個用戶定義 約束聯(lián)合;用實體模型的聯(lián)合的當前幾何結(jié)構(gòu)狀態(tài)實時地對多個依賴關(guān)系進行定位;以及 編輯具有被定位的多個依賴關(guān)系的實體模型。
18.權(quán)利要求17的系統(tǒng),其中,所述被定位的依賴關(guān)系是多個拓撲結(jié)構(gòu)特征。
19.權(quán)利要求18的系統(tǒng),其中,所述多個拓撲結(jié)構(gòu)特征是面、邊、和頂點中的至少一
全文摘要
一種用于修改在具有用于設(shè)計的軟件指令的計算機中操作的實體模型表示的系統(tǒng)、方法、和計算機程序,包括計算機系統(tǒng),其中,所述計算機系統(tǒng)包括存儲器、處理器、用戶輸入設(shè)備、以及顯示設(shè)備;存儲在計算機系統(tǒng)的存儲器中的計算機生成的幾何模型;并且其中,所述計算機系統(tǒng)接收用戶輸入并訪問具有定義幾何模型的多個幾何模型定義的至少一個數(shù)據(jù)文件;將所述幾何模型定義轉(zhuǎn)換成幾何模型的幾何表示;計算由用戶識別的至少一個幾何結(jié)構(gòu)與幾何模型之間的多個幾何條件以產(chǎn)生一組約束;以及根據(jù)該組約束計算具有已修改幾何結(jié)構(gòu)的已修改幾何模型以向用戶進行顯示;以及適當?shù)难b置和計算機可讀指令。
文檔編號G06F17/50GK102067130SQ200980122084
公開日2011年5月18日 申請日期2009年4月14日 優(yōu)先權(quán)日2008年4月14日
發(fā)明者N. 古魯尚卡 A., C. 斯塔普萊斯 D., J. 金 D., C. D. 馬特森 H., A. 瓦爾克 J., 甘迪科塔 M., G. 麥凱 N. 申請人:西門子產(chǎn)品生命周期管理軟件公司