專利名稱:用于顯示plm數(shù)據(jù)庫的對象的組件的處理、程序和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)實現(xiàn)的處理、程序的領(lǐng)域,并且更具體地說涉及產(chǎn)品壽命周期 管理解決方案,其包括表示建模對象的數(shù)據(jù)的數(shù)據(jù)庫。在零件設(shè)計或零件組件的市場上提供了很多系統(tǒng)和解決方案,例如由DASSAULT SYSTEMES (達(dá)索系統(tǒng))商標(biāo)為CATIA提供了一種系統(tǒng)和解決方案。這些所謂的計算機(jī)輔助 設(shè)計(CAD)系統(tǒng)允許用戶構(gòu)造、操作和查看對象或?qū)ο蟮慕M件(assembly of object)的復(fù) 雜三維(3D)模型。CAD系統(tǒng)使用邊或線條(在某些情況下使用面)來提供建模對象的表 示。線條或邊可以用各種方式表示,例如非均勻有理B樣條(NURBS)。這些CAD系統(tǒng)將零 件或零件的組件作為建模對象來管理,這些建模對象本質(zhì)上是幾何形狀的規(guī)范。具體地說, CAD文件包含用于產(chǎn)生幾何形狀的規(guī)范,表示是從幾何形狀中產(chǎn)生的。規(guī)范、幾何形狀和表 示可以存儲在單個CAD文件或多個CAD文件中。CAD系統(tǒng)包括用于向設(shè)計者表示建模對象 的圖形工具;這些工具專門用于顯示復(fù)雜對象——對零件來說,表示CAD系統(tǒng)中的對象的 文件的典型尺寸在兆字節(jié)的范圍內(nèi),并且一個組件可能包含數(shù)千個零件。CAD系統(tǒng)管理對象 的模型,所述模型存儲在電子文件中。此外還存在產(chǎn)品壽命周期管理(PLM)解決方案,例如由DASSAULTSYSTEMIES提供 商標(biāo)為CATIA、ENOVIA和DELMIA的產(chǎn)品套件;這些解決方案提供了組織產(chǎn)品工程知識的工 程中心、管理制造工程知識的制造中心、以及使得企業(yè)能夠集成并使其連接到工程和制造 中心的企業(yè)中心。所有這些組合在一起使得系統(tǒng)提供了用于鏈接產(chǎn)品、工藝、資源的開放 的對象模型,以使得能夠進(jìn)行動態(tài)的、基于知識的產(chǎn)品創(chuàng)建并且推動最優(yōu)產(chǎn)品定義、制造準(zhǔn) 備、生產(chǎn)和服務(wù)的決策支持。這種PLM解決方案包括產(chǎn)品的關(guān)系型數(shù)據(jù)庫。數(shù)據(jù)庫通常被定義成為了快速搜索 和檢索而組織在一起的數(shù)據(jù)的集合(通常是數(shù)據(jù)和數(shù)據(jù)之間的關(guān)系)。數(shù)據(jù)庫被構(gòu)建以有 助于結(jié)合各種數(shù)據(jù)處理操作來存儲、檢索、修改和刪除數(shù)據(jù)。數(shù)據(jù)庫通常包括可以分解成記 錄的文件或文件的集合,其中每個記錄都包含一個或多個字段。字段是數(shù)據(jù)存儲的基本單 位。用戶主要通過查詢來檢索數(shù)據(jù)庫信息。使用關(guān)鍵字和排序命令,用戶可以搜索、重排、 分組和選擇在許多記錄中的字段,以根據(jù)使用的數(shù)據(jù)庫管理系統(tǒng)的規(guī)則來檢索或創(chuàng)建數(shù)據(jù) 的特定集合。使用PLM解決方案,用戶的基本需要是將數(shù)千個對象/零件制成的復(fù)雜產(chǎn)品可視 化,并且可以根據(jù)不同視圖或不同視角進(jìn)行(虛擬攝像機(jī))這種可視化處理。在查看所顯 示的建模產(chǎn)品的同時,用戶可以對視點進(jìn)行明顯修改,例如,銷售工程師可能希望向其客戶 顯示產(chǎn)品概覽。針對該問題的標(biāo)準(zhǔn)解決方案是在客戶計算機(jī)存儲器中加載存儲在PLM數(shù)據(jù)庫上 并與所述對象的組件相對應(yīng)的整個模型,這其中包括模型的三維圖形表示以及關(guān)于所述對 象的所有信息,例如幾何形狀、約束等,但還包括到其它對象的超鏈接。因此,可以選擇單獨 的零件。然而,在PLM/CAD的領(lǐng)域中,關(guān)鍵問題是可視化數(shù)據(jù)的總量過大而無法裝入客戶計 算機(jī)存儲器,或者其過于大而無法啟用快速顯示。因此,由于表示CAD產(chǎn)品的文件的典型大小(諸如飛機(jī)之類的產(chǎn)品可能包含數(shù)百萬個零件,因此表示數(shù)千兆字節(jié)的存儲器),產(chǎn)品視 圖的渲染時間可能很長。此外,用戶并不是始終需要加載整個模型和/或選擇單個零件,例 如,銷售工程師只需要向其客戶顯示產(chǎn)品概覽。另一個解決方案是在不加載整個模型的情況下在PLM數(shù)據(jù)庫中進(jìn)行導(dǎo)航。在這 種情況下,要被渲染的對象的視圖上的視點被識別。然后,視圖根據(jù)識別的視點而被渲染。 為了達(dá)到這個目的,視圖中的多個位置被確定,例如根據(jù)網(wǎng)格來獲得所述位置。接下來, 數(shù)據(jù)庫被查詢,并且根據(jù)所述位置來識別建模對象。通常,穿過視點和位置的射線被投射 (cast),并且與射線相交的建模對象被識別。同時,識別的建模對象將逐漸顯示在圖形用戶 界面上,從而渲染建模對象的三維視圖。但是,該解決方案存在若干缺陷。第一,必須針對每個視點重復(fù)進(jìn)行整個處理。當(dāng) 用戶在客戶計算機(jī)上選擇若干新視點時,對PLM數(shù)據(jù)庫進(jìn)行若干次查詢,并且將持續(xù)使用 支撐PLM數(shù)據(jù)庫的服務(wù)器的資源(存儲器、CPU),其可能耗盡服務(wù)器可用的資源。結(jié)果,不 能及時提供針對查詢的響應(yīng),因此不能顯示建模對象的三維視圖。因此,由于連續(xù)的視圖的 顯示滯后,圍繞模型的視覺導(dǎo)航(也就是說,根據(jù)若干個連續(xù)視點的模型的可視化處理)對 用戶并不友好;兩個視圖之間的轉(zhuǎn)換不是即時或準(zhǔn)即時的。因此,視覺導(dǎo)航缺乏流暢性和人 體工程性,并且其對用戶而言非常耗時。此外,即使先前選擇了新選擇的視點,仍然需要重 復(fù)整個處理。的確,客戶計算機(jī)的資源是有限的,例如,在顯示新視圖時,客戶機(jī)的存儲器被 清除。順便提及,用戶的客戶計算機(jī)可以經(jīng)由諸如局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)的計算 機(jī)網(wǎng)絡(luò)通過產(chǎn)品數(shù)據(jù)管理(PDM)系統(tǒng)來進(jìn)行通信。當(dāng)不在辦公室的銷售工程師希望向客戶 顯示產(chǎn)品(例如,3D模型)時,可能會發(fā)生這種情況。由客戶計算機(jī)執(zhí)行的請求在網(wǎng)絡(luò)上傳 遞,并且由PDM系統(tǒng)提供的響應(yīng)同樣由網(wǎng)絡(luò)傳送。此外,重復(fù)整個處理極大地消耗PDM系統(tǒng) 的資源,而且還大量消耗網(wǎng)絡(luò)帶寬。結(jié)果,網(wǎng)絡(luò)會擁塞,并且諸如時延、延遲、抖動、分組丟失 概率、排隊延遲、比特錯誤率之類的其他網(wǎng)絡(luò)參數(shù)將降低。網(wǎng)絡(luò)將過度擁堵,并且其整體性 能將急劇下降。因此,根據(jù)如上簡述的現(xiàn)有的解決方案的限制,需要一種改進(jìn)的解決方案來顯示 產(chǎn)品壽命周期管理數(shù)據(jù)庫的對象的組件,所述解決方案減少了提供顯示所需的計算和/或 網(wǎng)絡(luò)資源。因此,本發(fā)明提供了一種用于顯示產(chǎn)品壽命周期管理數(shù)據(jù)庫的對象的組件的處 理。該處理包括提供對所述數(shù)據(jù)庫的訪問;在所述數(shù)據(jù)庫中選擇對象的組件;在所述組件上識別多個視點;根據(jù)所述多個識別的視點,從所述數(shù)據(jù)庫中檢索所述組件的對象的集合;針對對象的集合中的所有檢索的對象,計算所述組件的模型;以及顯示所述模型的視圖,從在所述檢索步驟處檢索的對象開始在本地計算任意顯示 的視圖。根據(jù)本發(fā)明的處理可以包括一個或多個如下的特征對象是三維建模對象,并且對象的組件的計算出的模型是在圖形用戶界面上顯示
5的三維模型;所述識別的視點位于對象的組件外部;所述檢索的對象的集合中的對象從視點方向是可見的;在從所述數(shù)據(jù)庫中檢索對象的所述集合的步驟之前,計算穿過了識別的視點以及 對象的組件中的對象的射線的步驟;識別多個視點的步驟包括識別對象的組件的包圍盒的面,并且針對所述包圍體 的每一個識別的面,識別至少一個視點;在檢索對象的集合的步驟之前,針對與計算出的射線相交的對象的組件中的每一 個各自的對象,識別一個或多個包圍體的步驟;計算出的射線以從0度到45度的范圍的入射角穿過所述識別的面;在顯示的步驟中,所述模型的視圖是非關(guān)聯(lián)的視圖;在顯示所述步驟之前,聚集檢索的對象的集合中的對象以形成所述非關(guān)聯(lián)的視圖 的步驟;所述檢索到的對象的集合中的對象的幾何形狀將被聚集;選擇對象的組件的步驟還包括選擇所述模型的顯示的視圖的精度;所述選擇的精度正比于穿過所述識別的面的射線數(shù)量與所述識別的面的表面的 比值;所述精度是在下列各項之一中選擇的默認(rèn)值;由用戶選擇的值;根據(jù)至少一個網(wǎng)絡(luò)參數(shù)確定的值;根據(jù)至少一個計算機(jī)參數(shù)確定的值;根據(jù)所述選擇的精度來計算針對每個識別的面的射線的數(shù)量;選擇對象的所述組件的步驟還包括選擇所述組件的配置;根據(jù)所述用戶的安全上下文來完成從所述數(shù)據(jù)庫中檢索對象的集合的步驟。本發(fā)明還提出一種在計算機(jī)可讀介質(zhì)上存儲的計算機(jī)程序,其用于顯示產(chǎn)品壽命 周期管理數(shù)據(jù)庫的對象的組件,其中,包括用于使得計算機(jī)執(zhí)行本發(fā)明的處理的步驟的代 碼模塊。本發(fā)明還涉及一種用于顯示產(chǎn)品壽命周期管理數(shù)據(jù)庫的對象的組件的裝置,所述 裝置包括用于實現(xiàn)本發(fā)明的處理的步驟的模塊?,F(xiàn)在通過非限制性示例并且參考附圖來描述在本發(fā)明中體現(xiàn)的系統(tǒng),其中
圖1顯示了類似于CAD的圖形用戶界面;圖2顯示了反映本發(fā)明的處理的基礎(chǔ)步驟的流程圖;圖3和4根據(jù)本發(fā)明的實施例在處理中使用的八叉樹的示意圖;圖5是根據(jù)圖1的⑶I中顯示的對象的集合視圖的示意圖;圖6是根據(jù)圖5的對象的集合的包圍盒視圖的示意圖;圖7和8是根據(jù)圖6的包容體的示意性前視圖;圖9是根據(jù)圖6的包圍盒的示意性頂視圖;圖10是用于完成本發(fā)明的軟件架構(gòu)的示意圖11是適于完成本發(fā)明的用戶的客戶計算機(jī)架構(gòu)的示意圖;圖12是適于完成本發(fā)明的網(wǎng)絡(luò)架構(gòu)實施例的示意圖。本發(fā)明涉及一種用于顯示產(chǎn)品壽命周期管理(PLM)數(shù)據(jù)庫中的對象的組件的處 理。提供了針對PLM數(shù)據(jù)庫的訪問,并且在PLM數(shù)據(jù)庫中選擇了對象的組件。通常,對象的 組件是產(chǎn)品,并且組件的對象是三維(3D)建模對象。然后,在選擇的組件上識別了多個視 點。視點是指可以顯示組件的視圖的特定位置。接下來,根據(jù)識別的多個視點從數(shù)據(jù)庫中 檢索選擇組件的對象的集合。然后,針對對象的集合中所有檢索的對象,計算所選擇的組件 的模型,并且顯示計算出的模型的視圖,其中從檢索的對象的集合中的對象開始在本地計 算顯示的視圖。通常,對象的組件的計算出的模型是在圖形用戶界面上顯示的三維(3D)模 型。根據(jù)多個識別的視點來檢索選擇的組件的對象的集合。因此,本發(fā)明的處理并不 限于具體的視點,例如用戶選擇的視點。優(yōu)選的,提出的發(fā)明考慮多個視點計算出的選擇 組件的模型表示了多個視點。因此,從計算出的模型開始,可以在數(shù)據(jù)庫中不檢索組件的新 對象的情況下,顯示選擇組件的任何視圖。換句話說,計算出的模型是表示各種視點的單個 模型。因此,提出的發(fā)明特別是優(yōu)選的,因為計算模型所需的對象的集合是由用戶的客 戶計算機(jī)在一次中檢索出的,而現(xiàn)有技術(shù)則需要在每次選擇新視點時查詢數(shù)據(jù)庫。所以,在 PLM數(shù)據(jù)庫上執(zhí)行的請求的次數(shù)將會大為減少,并且支撐數(shù)據(jù)庫的服務(wù)器的硬件資源被保 留。此外,提出的發(fā)明還保留了網(wǎng)絡(luò)的資源由客戶計算機(jī)執(zhí)行單個請求(而不是多個請 求),以便檢索對象的集合,因此,諸如帶寬之類的網(wǎng)絡(luò)資源的消耗將減少。此外,提供了選 擇的組件的更好的視覺導(dǎo)航一旦由客戶計算機(jī)對計算出的模型進(jìn)行了計算,則可以從計 算出的模型開始顯示組件的視圖。因此,對象的組件視圖將更快地顯示,并且視覺導(dǎo)航將更 加流暢和平滑。參考圖1,例示的圖形用戶界面(或GUI) 100可以是類似于CAD的典型界面,其中 該界面具有標(biāo)準(zhǔn)菜單欄110、120以及底部和側(cè)面的工具欄140、150。這種菜單和工具欄包 含了可供用戶選擇的圖標(biāo)集合,其中如本領(lǐng)域已知的,每一個圖標(biāo)都與一個或多個操作或 功能相關(guān)聯(lián)。這些圖標(biāo)中的一些與軟件工具相關(guān)聯(lián),它們適于編輯和/或作用于例如⑶I 100 中顯示的建模產(chǎn)品200或產(chǎn)品200的零件。在以下描述中,為了簡單起見,可以將“產(chǎn)品”、 “零件(part)”、“組件(assembly)”等等稱為“產(chǎn)品”。應(yīng)當(dāng)注意,“產(chǎn)品”的概念實際上可以 概括為“對象”的概念,其中對象可以僅是設(shè)計的產(chǎn)品的“物理”零件,更為一般的則是參與 到設(shè)計處理中的任何軟件工具(但是未必“處于”最終產(chǎn)品中)。軟件工具可以分組到工作臺。每個工作臺都包括軟件工具的子集。具體地說,其 中的一個工作臺是適合編輯建模產(chǎn)品200的幾何特征的編輯工作臺。在操作中,設(shè)計人員 例如可以預(yù)先選擇對象200的零件,然后通過選擇恰當(dāng)圖標(biāo)來啟動操作(例如,改變尺寸、 顏色等等)或是編輯幾何約束條件。例如,典型的CAD操作是對屏幕顯示的3D建模對象的 穿孔或折疊進(jìn)行建模。例如,⑶I可以顯示與所顯示的產(chǎn)品200相關(guān)的數(shù)據(jù)250。在圖1的示例中,顯示 為“特征樹”的數(shù)據(jù)250及其3D表示200涉及包含了剎車鉗和制動盤的剎車組件。⑶I還
7可以顯示不同類型的圖形工具130、140,例如,有助于對象的3D定向的工具、用于觸發(fā)所編 輯的產(chǎn)品的操作仿真的工具、或者渲染所顯示產(chǎn)品200的各種屬性的工具。作為實施例的示例,本發(fā)明的處理是在包含客戶計算機(jī)和產(chǎn)品數(shù)據(jù)管理(PDM)系 統(tǒng)的計算機(jī)網(wǎng)絡(luò)中實施的。圖12說明了適于執(zhí)行本發(fā)明的網(wǎng)絡(luò)架構(gòu)的實施例的示意圖???戶計算機(jī)通過PDM系統(tǒng)進(jìn)行通信,從而允許對許多文檔、關(guān)系和數(shù)據(jù)進(jìn)行管理,其中所述文 檔、關(guān)系和數(shù)據(jù)可能分層地相互關(guān)聯(lián)。例如,PDM系統(tǒng)可以位于網(wǎng)絡(luò)的骨干網(wǎng)。這種PDM系 統(tǒng)使用具有與建模對象(其可能由設(shè)計人員編輯)相關(guān)的數(shù)據(jù)的數(shù)據(jù)庫。如圖12所示,多 個用戶因此可以采用協(xié)作方式對不同對象(例如零件、產(chǎn)品或零件的組件)進(jìn)行工作。此外,⑶I 100和相關(guān)聯(lián)的CAD/CAM/CAE應(yīng)用可以被設(shè)計用于允許訪問PLM數(shù)據(jù) 庫,其中所述訪問或者根據(jù)客戶計算機(jī)的請求,或者作為后臺任務(wù)。因此,在操作中,希望訪 問數(shù)據(jù)庫的用戶不必從第一 CAD窗口轉(zhuǎn)到PDM窗口(例如,通過最小化第一窗口并且最大 化第二窗口)并且隨后返回到CAD窗口。這種由設(shè)計人員頻繁執(zhí)行的窗口切換操作非常耗 時,并且在CAD/CAM/CAE領(lǐng)域中非常不適合。⑶I 100是在網(wǎng)絡(luò)的具有顯示器和存儲器的客戶計算機(jī)上運(yùn)行的。例如,⑶I類似 于可以在網(wǎng)絡(luò)的其他客戶計算機(jī)上運(yùn)行與圖1顯示的附圖標(biāo)記100識別的GUI。這種計算 機(jī)還可以進(jìn)一步從類似的本地CAD/CAM/CAE應(yīng)用中受益,更一般而言,從普通環(huán)境中受益?,F(xiàn)在參考圖2,處理大致分解為構(gòu)建時間(步驟S10)和運(yùn)行時間(步驟 S20-S110)。構(gòu)建時間主要用于包圍體計算,并且可以用于創(chuàng)建對象的索引。結(jié)果,步驟SlO 為下一步提供了在數(shù)據(jù)庫(通常是PLM數(shù)據(jù)庫)中存儲的預(yù)計算的包圍體。因此,用戶的 客戶計算機(jī)不需要自己計算包圍盒,從而節(jié)約了時間和客戶資源。“包圍體(bounding volume) ”或包圍盒(bounding box)是指圍住對象的任何在數(shù) 學(xué)上較簡單的面,例如用于篩選(culling)或相交測試。在實踐中,對象是三維建模模型, 并且典型的對象包圍體例如是立方體、圓柱盒(cylinder box)或球體。在下文中使用包圍
品.ο對于要顯示的各自的對象的包圍盒進(jìn)行計算,并隨后存儲在PLM數(shù)據(jù)庫中。這 種包圍盒與其對應(yīng)的對象以某種關(guān)系被存儲在一起。對象的幾何定義可用于計算該盒。 所用的定義可以是完整定義或是簡化定義,例如所述對象的鑲嵌的表示(tessellated representation)的定義。優(yōu)選地,可以使用導(dǎo)致更快的計算時間的鑲嵌的表示的定義。將產(chǎn)品作為分層的對象(例如,樹)來考慮,例如首先計算的盒是關(guān)于樹的終端節(jié) 點。由于結(jié)構(gòu)的定義和已經(jīng)生成的終端盒,然后可以使用產(chǎn)品結(jié)構(gòu)定義來計算對象的組件 的盒(步驟S10)。此外,計算細(xì)分的盒并且將其與各自的父親包圍盒一起存儲在數(shù)據(jù)庫中。在這種 情況下,父親包圍盒是八叉樹的父親節(jié)點,也就是說,所述八叉樹是樹形數(shù)據(jù)結(jié)構(gòu),在該結(jié) 構(gòu)中,每一個父親節(jié)點具有八個孩子節(jié)點,所述八個孩子節(jié)點一起劃分父親節(jié)點的空間的 體積。因此,樹的每個節(jié)點表示立方體的體積,例如細(xì)分的包圍體。取決于期望的分辨率, 可以考慮若干種細(xì)分方式(父親、孩子、孩子的孩子等)。此外,優(yōu)選的是只為對象的集合的多個實例化的對象存儲一個包圍盒。也就是說, 僅針對參照物計算包圍盒。在這種情況下,同一參照物的實例可能與位置矩陣(或到其的鏈接)一起存儲。因此,在操作中,在簡單的Cartesian系統(tǒng)轉(zhuǎn)換時,盒可以隨時等同于任 何多個實例化的對象。此外,由于在數(shù)據(jù)庫上存儲的包圍盒減少,因此節(jié)省了關(guān)于數(shù)據(jù)庫的 資源。處理還包括步驟S20,該步驟存在于選擇產(chǎn)品、精度和配置中。通常,產(chǎn)品是由對象 的組件組成的。例如可以通過使用樹來進(jìn)行產(chǎn)品的選擇,例如圖1的一個250。此外,用戶 可以通過其它類型的用戶界面來選擇產(chǎn)品,例如通過輸入產(chǎn)品的識別信息、通過在列表中 選擇產(chǎn)品等等??梢酝ㄟ^任何種類的用戶界面(例如,組合框、圖標(biāo)、特殊命令或右鍵點擊等)來 執(zhí)行精度的選擇和模型的顯示視圖的配置。此外,也可以默認(rèn)選擇精度和/或配置。精度反映顯示的模型的視圖的精細(xì)程度,也就是視圖的精度。視圖的精度包括視 圖的精確性和質(zhì)量。例如,現(xiàn)代的飛機(jī)可能需要多達(dá)三百萬個對象。取決于選擇的精度,飛 機(jī)的視圖將顯示或者不顯示機(jī)身的鉚釘。精度可以用數(shù)值刻度來表示,所述刻度的范圍是從0(不太精確地顯示)到9(非 常精確的顯示)。通常,精度可以有助于減少執(zhí)行本發(fā)明的處理所需要的資源。的確,精度允許確定 顯示視圖所需要的硬件資源。顯示越不精確,從數(shù)據(jù)庫中檢索對象的集合、對模型進(jìn)行計 算、以及顯示模型的視圖所需要的資源就越少;相反,顯示越是精確,檢索對象的集合、對模 型進(jìn)行計算、以及顯示模型的視圖所需要的資源也就越多。此外,顯示模型視圖所需要的時 間取決于所選擇的精度;顯示越不精確,視圖的顯示就越快;并且顯示越是精確,視圖的顯 示也就越慢。優(yōu)選的,對精度進(jìn)行選擇使得即使在客戶計算機(jī)具有有限的資源的情況下也可以 顯示模型的視圖,例如,銷售工程師可以在資源少于工作站的膝上型計算機(jī)上顯示模型視 圖。因此,提出的發(fā)明的處理可以適合于硬件約束。在本描述中將更詳細(xì)地說明精度。配置是產(chǎn)品或產(chǎn)品的對象的排列。例如,配置例如可以是商業(yè)配置,例如包含產(chǎn) 品可用的不同顏色和材料。例如,汽車模型可以基于諸如汽車風(fēng)格(兩人坐的轎車、敞篷 車、……)、傳動類型(手動、自動、……)、外部和內(nèi)部選項(顏色、車輪類型、座椅風(fēng)格、無 線電、……)元素的組合而具有數(shù)百種配置。因此,對配置進(jìn)行選擇使得允許用戶根據(jù)客戶的需要來顯示產(chǎn)品,也就是根據(jù)希 望的配置來顯示產(chǎn)品。接下來,在步驟S30,從PLM數(shù)據(jù)庫中檢索預(yù)計算的包圍盒,例如檢索到圍住了選 擇的產(chǎn)品的立方體。通常,支撐PLM數(shù)據(jù)庫的服務(wù)器檢索包圍盒并且將其存入存儲器。應(yīng) 當(dāng)理解,由于包圍盒與對象相比是由較少的數(shù)據(jù)來描述的,因此,與將對象存儲在存儲器中 相比,優(yōu)選的是在存儲器中存儲包圍盒;因此,存儲器被保留。接下來,在步驟S40-S60,處理識別選擇組件上的多個視點。通常,這些步驟是由支 撐PLM數(shù)據(jù)庫的服務(wù)器(例如PLM系統(tǒng))執(zhí)行的?,F(xiàn)在將根據(jù)本發(fā)明的一些具體實施例來 描述這種步驟。在步驟S40,選擇產(chǎn)品的預(yù)計算包圍盒的面被識別。該步驟在本領(lǐng)域中也是已知 的。在步驟S50,根據(jù)在步驟S20選擇的精度,針對產(chǎn)品的包圍盒中的每個識別的面,計算多條射線或任意幾何等價物。該精度正比于穿過識別面的射線的數(shù)量與識別的面的表 面的比值。因此,針對選擇產(chǎn)品的包圍盒中的每個面,計算的射線的數(shù)量正比于識別面的表 面與所選擇精度的乘積。計算出的射線數(shù)量與所述乘積之間的比值可以通過比例常數(shù)來確 定。比例常數(shù)可以是默認(rèn)值,不輸入數(shù)據(jù);用戶選擇的值,該選擇是通過類似于用于選擇產(chǎn)品、精度和配置的手段來執(zhí)行 的;根據(jù)網(wǎng)絡(luò)的至少一個參數(shù)(例如,帶寬、時延、延遲、抖動、分組丟失概率、排隊延 遲、比特差錯率)確定的值,確定所述值以使得表示一個或多個網(wǎng)絡(luò)參數(shù)的值不超過給定 的閾值。因此,精度可以限制處理對網(wǎng)絡(luò)的影響,并且處理隨后可以適配于網(wǎng)絡(luò);根據(jù)客戶計算機(jī)的至少一個參數(shù)(例如,可用的CPU資源、可用的存儲器資源)確 定的值,確定所述值以使得表示一個或多個客戶計算機(jī)參數(shù)的值不超出給定的閾值。類似 地,所選精度可以限制處理對用戶的客戶計算機(jī)的影響,所以本發(fā)明的處理可以適配于客 戶計算機(jī)的硬件資源。然后,在步驟S60,完成視點的識別。視點是特定的位置,可以從所述視點的方向 顯示對象的組件的視圖。在對象的組件所處的場景中,視點表示虛擬攝像機(jī)的位置。場景 是其中描述了對象之間的空間關(guān)系的空間。場景是由至少一個對象組成的,并且對象可以 是建模對象或是三維(3D)建模對象。因此,如果場景是由3D建模對象組成的,那么場景是 3D空間。所以,對象的組件或產(chǎn)品可以包括大量的視點。優(yōu)選地,識別的視點位于產(chǎn)品的“外部”。當(dāng)視點與產(chǎn)品中的任何一個對象接觸或 者不在任何一個對象內(nèi)時,視點位于產(chǎn)品“外部”。因此,當(dāng)視點超出由產(chǎn)品形成的外殼或邊 界時,視點處于外部。多個視點的識別可以包括識別對象的組件的包圍體的面,以及針對包圍體中的 每一個識別的面,識別至少一個視點。在這種情況下,當(dāng)視點接觸或者不在產(chǎn)品(它圍住了 產(chǎn)品的對象的包圍盒)的包圍盒內(nèi)時,視點位于產(chǎn)品“外部”。所以,當(dāng)其處于超出產(chǎn)品的包 圍盒的外殼或邊界的位置時,視點位于產(chǎn)品“外部”。應(yīng)當(dāng)理解,通過識別位于產(chǎn)品外部的視點,可以允許關(guān)注產(chǎn)品周邊的對象。因此, 在步驟SlOO處計算的模型將允許圍繞產(chǎn)品來進(jìn)行虛擬導(dǎo)航,也就是說,根據(jù)位于選擇產(chǎn)品 外部的若干連續(xù)的視點對模型進(jìn)行可視化。優(yōu)選地,針對包圍盒中每一個識別的面,識別的視點的數(shù)量低于或者等于在步驟 S50處計算的射線的數(shù)量,因此限制了識別的視點的數(shù)量。優(yōu)選的,基于應(yīng)當(dāng)穿過每個視點的射線的平均數(shù)量來確定針對包圍盒中的每個識 別的面的視點的數(shù)量。可以通過默認(rèn)值或通過用戶選擇來確定應(yīng)當(dāng)穿過每個視點的射線的 平均數(shù)量。例如,可以用類似于與選擇精度或配置的方式進(jìn)行射線平均數(shù)量的選擇。在步驟S70,計算或投射穿過識別視點以及所選產(chǎn)品中預(yù)計算的包圍盒的面的射 線或任意幾何等價物。然后,在步驟S80,根據(jù)識別的多個視點來從數(shù)據(jù)庫中檢索選擇的產(chǎn)品的對象的集 合。為了達(dá)到這個目的,針對與計算出的射線相交的產(chǎn)品中的每一個各自的對象,計算一個 或多個包圍盒。
10
通常,在識別與計算出的射線相交的包圍盒之前,從數(shù)據(jù)庫中檢索選擇的產(chǎn)品的 對象的包圍盒,并且可以將其存儲在一起,例如存儲在支撐PLM數(shù)據(jù)庫的服務(wù)器的存儲器 中。由于產(chǎn)品結(jié)構(gòu)以及在產(chǎn)品結(jié)構(gòu)上的對象之間的關(guān)系,可以完成對象的包圍盒的檢索。圖6結(jié)合圖5說明了在步驟S30執(zhí)行的選擇產(chǎn)品的包圍盒的檢索,以及產(chǎn)品的對 象的包圍盒的檢索。圖5描述了由三個對象構(gòu)成的產(chǎn)品50 與圓柱體52并排放置的平行 六面體51,該平行六面體51和圓柱體52通過閥桿53安裝在一起。由于閥桿53封閉在平 行六面體51和圓柱體52中,因此閥桿53用虛線顯示。圖6說明了檢索到的四個包圍盒 關(guān)于產(chǎn)品50并在步驟S30檢索的包圍盒60,由包圍盒60圍住并分別涉及平行六面體51、 圓柱體52和閥桿53的三個包圍盒61、62、63,這三個包圍盒是在識別了與計算出的射線相 交的包圍盒之前檢索到的。應(yīng)當(dāng)注意,在圖6、7、8和9中的虛線上描述了包圍盒,其僅為觀察本圖做引導(dǎo)??梢允褂萌舾煞N已知技術(shù)來確定是否存在交叉點。例如,根據(jù)視點和識別的面,可 以確定射線是否與包圍盒相交。應(yīng)當(dāng)理解,與關(guān)于計算選擇的產(chǎn)品的對象上的交叉點的解決方案相比,計算在包 圍盒與計算出的射線之間的交叉點是更優(yōu)選的。的確,包圍盒是圍住了對象的在數(shù)學(xué)上較 為簡單的面,并且在Cartesian系統(tǒng)中其坐標(biāo)很簡單,因此有助于確定交叉點。所以,計算 在包圍盒與計算出的射線之間的交叉點需要較少的資源;特別地,PDM系統(tǒng)的存儲器被保
&3 甶ο在強(qiáng)制的方法中,算法例如可以掃描所有包圍盒,以便確定哪些盒與所述計算出 的射線相交。在參考視圖的坐標(biāo)系中完成的該步驟。但是,隨著對象的組件中的對象數(shù)量增加,上述掃描步驟很快變得受到抑制。例 如,對現(xiàn)代飛機(jī)進(jìn)行CAD/CAM建模可能需要存儲多達(dá)三百萬個盒。因此,應(yīng)當(dāng)理解,優(yōu)選的 是加速交叉點研究算法。關(guān)于這個方面,例如可以使用所謂的R樹技術(shù),S卩,空間接入方法,其中,用分層嵌 套的可以重疊的盒來劃分空間。這種技術(shù)將根據(jù)各種可行的準(zhǔn)則導(dǎo)致更平衡的樹,因此導(dǎo) 致更有效的掃描。接下來,一旦發(fā)現(xiàn)與識別的視點的孩子實例相交的交叉點,則在所述交叉孩子實 例的坐標(biāo)系中重新計算初始射線,并且在其孩子實例內(nèi)執(zhí)行新的掃描,直至不再發(fā)現(xiàn)交叉 點為止。因此,交叉點研究算法是遞歸性的,也就是說,搜索η階交叉父親盒的最后相交的 孩子,按照如下運(yùn)行一旦檢測到相交的包圍盒,則根據(jù)一個實施例的處理在相交的包圍盒內(nèi)的較小的 子劃分層級上工作。例如,可以設(shè)想八叉樹,其是被劃分為如圖3所示的八個立方體盒的體 積。如圖4所示,除非八叉樹310不包含模型的任何元素或者完全用模型的元素填充, 否則八叉樹300自身例如將進(jìn)一步細(xì)分(為了清楚起見,在兩個維度中表示)。包含模型的 元素的每個八叉樹300都被進(jìn)一步細(xì)分。所以,掃描八叉樹300以檢測與計算出的射線相交的任何交叉點,直至已知的體 素(voxel) 320的最小未劃分體積(其大小例如可以取決于用戶輸入的定義)。然后,處理停止,并且處于識別體素內(nèi)部(或與之接近)的視圖中的對象被選擇。應(yīng)當(dāng)理解,如果在交叉包圍盒(例如,八叉樹和體素)內(nèi)使用較小的子劃分等級, 那么是優(yōu)選的。的確,由于八叉樹和體素具有如圖3所說明的在數(shù)學(xué)上較簡單的面,因此可 以保留PDM系統(tǒng)的存儲器和CPU資源,因此有助于對計算出的射線與這些數(shù)學(xué)上較簡單的 面中的一個之間的交叉點進(jìn)行計算。一旦選擇了對象,則確定是否可以從視點看到該對象。當(dāng)對象未被另一個對象完 全遮擋時,該對象是可見的。然后,處理根據(jù)相同步驟(包圍盒、八叉樹、體素)來遞歸測試 其他包圍盒,以發(fā)現(xiàn)和選擇可以從視點看到的對象。為了優(yōu)化處理,如果包圍盒沒有與計算 出的射線相交(在新的坐標(biāo)系中),則丟棄該包圍盒。類似地,如果包圍盒與射線相交,但是 與此同時不能從至少一個識別的視點看到包圍盒的對象,則丟棄所述包圍盒。應(yīng)當(dāng)注意,產(chǎn)品的包圍盒是特殊包圍盒。的確,它不必包含對象,而僅是產(chǎn)品的對 象的包圍盒。因此,即使產(chǎn)品的包圍盒與計算出的射線相交,也可以選擇任意對象。為了優(yōu) 化處理,交叉點研究算法并未應(yīng)用于產(chǎn)品的包圍盒,而僅應(yīng)用于由產(chǎn)品的包圍盒圍住的包 圍盒及其各自的八叉樹和體素。此外,在選擇的產(chǎn)品所處的情景中,產(chǎn)品的包圍盒主要用于識別體積。優(yōu)選地,這 個體積限制了計算出的射線投射的空間。通常,產(chǎn)品的包圍盒盡可能地小,也就是說,其體 積是可以圍住產(chǎn)品的對象的包圍盒的最小包圍盒。一旦測試了所有包圍盒并且在數(shù)據(jù)庫中識別了至少一個對象,則存儲識別的對 象。為了達(dá)到這個目的,涉及對象的身份的信息(例如對象名)將存儲在文件上。這種文 件可以形成例如索引,其包含了根據(jù)識別的視點從數(shù)據(jù)庫中檢索的選擇的產(chǎn)品的對象的集 合。通常,由客戶計算機(jī)來檢索索引。優(yōu)選地,計算出的射線可以以與產(chǎn)品的包圍盒的面基本垂直的入射角來穿過識別 的面。在實踐中,針對給定的視點,對具有與面基本垂直的入射角的僅一條射線進(jìn)行計算。 的確,對于給定的視點來說,計算或投射具有相同入射角的另一條射線是沒有用的,因為第 二條射線像第一條射線那樣與相同的包圍盒相交。如圖7所示,入射角是在入射到面的射線與在入射點處垂直于該面的線條之間的 角度。圖7是圖6的包圍盒60中的面63的前視圖的示意圖。描述了具有入射角的兩條射 線71和72,分別用角度α和角度β來表示。比較與在入射點處垂直于面的線條70,定義 射線71和72中的每一條的入射角。優(yōu)選的,計算出的射線可以以范圍從0到45度角的入射角穿過識別的面。再次參 考圖7,角度α和β可以采用包含在0與45度之間的值。改善了如下的結(jié)果與計算出的 射線相交的產(chǎn)品的各自的對象的一個或多個包圍盒的識別。的確,如圖8所示,它提供了識 別到原本無法識別的包圍盒的能力,圖8是圖6上的包圍盒60的面64的前視圖的示意圖。 在面64上繪制的每一個點都表示計算出的射線以基本垂直的入射角穿過面64的入射點。 現(xiàn)在,關(guān)注用75表示的入射點。與入射點75垂直的計算出的射線(未表示)不會與包圍 盒60圍住的三個包圍盒61、62和63中的任何一個相交。表示穿過入射點75的兩條計算 出的射線76和77。由于其入射角,計算出的射線76(相應(yīng)地77)與包圍盒61 (相應(yīng)地62) 相交。此外,根據(jù)交叉點研究算法,未檢索到包圍盒63,因為相關(guān)的對象53完全被對象51 和52所遮擋。對象53從任何識別的視點來看都不可見,因此對象53不是從數(shù)據(jù)庫中檢索
12的對象的集合中的對象。優(yōu)選地,根據(jù)用戶的安全上下文完成從數(shù)據(jù)庫中檢索對象的集合。因此,包圍盒及 其上對象的識別可以滿足用戶的安全上下文。用戶安全上下文與訪問控制有關(guān),也就是說, 與允許或拒絕由特定用戶使用特定資源的能力有關(guān)。通常,可以允許或禁止用戶讀取和/ 或?qū)懭牒?或執(zhí)行(例如,顯示)對象。例如,建模對象可以由負(fù)責(zé)建模對象的設(shè)計人員鎖 定,這意味著只有設(shè)計人員解鎖建模對象,其他用戶才允許修改建模對象。此外,不是設(shè)計 人員的個人不可以被允許訪問完整的建模對象。此外,訪問控制還可以是基于用戶的物理 位置,例如,當(dāng)用戶不在其辦公室時,用戶不可以被允許顯示產(chǎn)品。然后,在步驟S90-S100,處理針對對象的集合中所有檢索的對象,計算選擇產(chǎn)品的 模型。優(yōu)選地,由用戶的客戶計算機(jī)來計算模型。因此,PDM系統(tǒng)不負(fù)責(zé)計算模型,因此不 消耗其資源。在步驟S90,對象的集合的幾何形狀被檢索。根據(jù)存儲了選擇的產(chǎn)品的對象的集合 的索引,識別對象的集合中的對象。然后,針對索引的對象中的每一個,在其各自的對象內(nèi) 搜索和檢索幾何形狀;可以使用指向?qū)ο蟮倪壿嬛羔?。幾何形狀是組成對象的不同類型的元素。這些元素可以包括頂點、邊、面、多邊形 和表面。由于要檢索的信息量和數(shù)量有限,因此,優(yōu)選地,檢索對象的幾何形狀而不是完整 的對象。的確,對象不但包括幾何形狀,而且還包括元數(shù)據(jù),例如用戶安全上下文、對象的屬 性,例如創(chuàng)建的日期、最后一次修改、負(fù)責(zé)對象的設(shè)計人員……。結(jié)果,網(wǎng)絡(luò)的帶寬被保留, 并且客戶計算機(jī)需要計算的信息減少了。然后,在步驟S100,基于檢索到的幾何形狀來計算選擇的產(chǎn)品的模型。計算出的模 型是根據(jù)識別的視點來檢索的選擇的產(chǎn)品的對象的集合的表示。用其它術(shù)語描述,計算出 的模型是從位于選擇產(chǎn)品外部的識別的視點方向可見的對象的表示。在實踐中,模型是在圖形用戶界面上顯示的三維(3D)模型,并且它是用在3D空間 中通過本領(lǐng)域已知的各種幾何實體(例如,三角形、線條、曲面等)連接的點的集合構(gòu)成的。優(yōu)選地,檢索到的對象的集合中的對象的幾何形狀被聚集,以形成模型的非關(guān)聯(lián) 的視圖。從系統(tǒng)的觀點來看,非關(guān)聯(lián)的視圖意味著形成視圖的圖形元素并不是根據(jù)對象的 集合的單個零件而劃分的。因此,在視圖中表示的對象的集合不是內(nèi)容可尋址的,并且用戶 可以不選擇包括在視圖中顯示的集合的任何單獨的對象。例如,針對表示的對象,位圖或光 柵圖像都是內(nèi)容可尋址的。矢量視圖在概念上是不同,因為它被分成了各種繪圖元素。由 于繪圖元素不與存儲在PLM數(shù)據(jù)庫中的對象的集合中的各種對象相關(guān)聯(lián),因此,從本發(fā)明 的意義上講,它僅是非關(guān)聯(lián)的視圖的示例。接下來,在步驟S110,顯示模型的視圖。重要的是,從在檢索步驟S80處檢索的對 象開始計算模型的任何顯示的視圖。因此,在不重復(fù)圖2所示的處理的步驟SlO到SlOO的 情況下,可以顯示選擇產(chǎn)品的任何視圖。的確,根據(jù)多個視點檢索選擇產(chǎn)品的對象的集合。 因此,可以從唯一的請求開始,檢索產(chǎn)品的對象的集合中的所有對象?;跈z索到的對象 的集合中的對象,計算產(chǎn)品的模型,因此圍繞產(chǎn)品的可視導(dǎo)航(即,產(chǎn)品的連續(xù)的視圖的顯 示)僅依賴于單個計算出的模型。計算出的模型是表示許多視點的單個模型。因此,由于模型是在一次計算中算出的,所以根據(jù)本發(fā)明的處理是優(yōu)選的;此外,
13由于在客戶計算機(jī)側(cè)進(jìn)行計算,因此支撐PLM數(shù)據(jù)庫的服務(wù)器的硬件資源和網(wǎng)絡(luò)資源可以 被保留。因此,選擇的產(chǎn)品的可視導(dǎo)航被提高,并且更快地顯示視圖。在執(zhí)行視覺導(dǎo)航需要 更少的資源的同時,視覺導(dǎo)航更為流暢??偟膩碚f,增強(qiáng)了系統(tǒng)。例如,由提出的發(fā)明顯示 模型的視圖所需的時間約為1秒,而在現(xiàn)有技術(shù)中該時間約為30秒?,F(xiàn)在參考圖9來說明上述處理的實施例,其中該圖描述的是圖6所示包圍盒的正 上方的視圖。提出的發(fā)明涉及一種用于顯示產(chǎn)品壽命周期管理數(shù)據(jù)庫中的對象的組件的處理。首先,根據(jù)如圖10所示的一種專用軟件架構(gòu)提供對數(shù)據(jù)庫的訪問。然后,對象的組件被選擇。通常,選擇產(chǎn)品。接下來,在選擇的對象的組件上識別多個視點。在實踐中,視點的識別包括選擇的 對象的組件的包圍體的面的識別。例如,包圍體60的面64和66被識別。加在一起,包圍 體60的6個面被識別。然后,針對每一個識別的面,識別至少至少一個視點。這里,針對面 64識別的視點75被表示。優(yōu)選地,視點位于對象的組件外部。當(dāng)視點接觸或者不在產(chǎn)品的任何一個對象內(nèi)、 或者當(dāng)視點接觸或者不在產(chǎn)品的包圍盒(其圍住產(chǎn)品的對象的包圍盒)內(nèi)時(如果識別了 對象的組件的包圍體),視點位于產(chǎn)品“外部”。在實踐中,識別的視點位于對象的組件的包圍體的識別的面上,例如,識別的視點 75位于包圍盒60的面64之上。視點在面上的分布可以是隨機(jī)的,或者與此相反,分布可以 是確定的。在確定的視點分布的情況下,分布可以是均勻的或不均勻的。均勻分布包括將 視點均勻地分布在面上。不均勻分布包括將視點不規(guī)則地分布在面上;根據(jù)至少一個參數(shù) 或功能決定不均勻分布,其與隨機(jī)分布相反,在隨機(jī)分布中包含任意的參數(shù)。例如,可以根 據(jù)表示到識別的面的邊的距離的函數(shù)來確定不均勻分布;靠近邊的視點可能較少。然后,根據(jù)多個識別的視點從數(shù)據(jù)庫中檢索組件的對象的集合。根據(jù)處理,觸發(fā)關(guān) 于數(shù)據(jù)庫的查詢。計算穿過識別的視點和組件的對象的射線。通常,射線穿過視點以及組件的對象的包圍盒。針對與計算出的射線相交的對象 的組件中的每一個對象,識別一個或多個包圍盒。針對每個識別的包圍盒,對象被檢索,因 此形成對象的集合。參考圖9,射線76、77和81穿過位于面64的視點75以及包圍盒60。包圍盒61 和62分別與射線76和77相交。包圍盒61和62的各自的對象被識別和選擇。射線76和 77 (在包圍盒61和62相交之后)的延長線用虛線表示。具體地說,射線76還與未識別并 選擇的包圍盒63相交。的確,檢索的對象的集合中的對象從視點方向是可見的。但是,包 圍盒63的對象是從視點75方向是不可見的,因為它被包圍盒61和62的對象遮擋。所以, 包圍盒63的對象未被選擇并且未被存儲。實際上,無論識別的視點是什么,包圍盒63的對象始終被包圍盒61和62的對象 遮擋,因此丟棄包圍盒63。與此相反,如果包圍盒63的對象從至少一個視點方向可見,那么 對象被選擇。接下來,針對對象的集合中所有檢索的對象計算選擇的組件的模型;針對包圍盒 61和62的對象計算該模型。然后,模型的視圖被顯示,任何顯示的視圖是從檢索步驟處檢索的對象開始計算的。參考圖5,顯示了計算出的對象的視圖。應(yīng)當(dāng)注意,用虛線表示的對象53并不是計算出 的模型的一部分,這是因為其包圍盒63已被丟棄。為了說明和清楚的目的,圖9是簡單的,并且僅包含被其他對象遮擋的一個對象。 應(yīng)當(dāng)理解,諸如飛機(jī)的典型產(chǎn)品包含數(shù)百萬個對象,并且大量的對象被遮擋。在實踐中,根 據(jù)提出的發(fā)明的處理顯示的產(chǎn)品的視圖是產(chǎn)品的外部視圖。再次參考飛機(jī)的示例,計算出 的飛機(jī)模型的視圖允許圍繞飛機(jī)進(jìn)行導(dǎo)航,并且主要顯示了機(jī)身、機(jī)翼、垂直和水平穩(wěn)定 器、噴氣引擎等等。顯示了多個外部視圖。但是,機(jī)身中的座位、機(jī)翼中的油箱、噴氣引擎中 的燃料噴射器等等是完全被遮擋的對象。因此,根據(jù)提出的發(fā)明,它們不會被顯示。應(yīng)當(dāng)理解,前述方法可以應(yīng)用于能由CAD/CAM/CAE系統(tǒng)或是用于從各種視點顯示 對象的視圖的任何系統(tǒng)定義的任何配置中的任何對象。本發(fā)明既可以在數(shù)字電子電路中實 施,也可以在計算機(jī)硬件、固件、軟件或其組合中實施。本發(fā)明的裝置可以在機(jī)器可讀存儲 設(shè)備中有形體現(xiàn)的計算機(jī)程序產(chǎn)品(其由可編程處理器來執(zhí)行)中實施;并且本發(fā)明的方 法步驟可以由可編程處理器來執(zhí)行,所述處理器執(zhí)行指令程序以通過對輸入數(shù)據(jù)進(jìn)行操作 并產(chǎn)生輸出來執(zhí)行本發(fā)明的功能。優(yōu)選地,本發(fā)明可以在可編程系統(tǒng)上執(zhí)行的一個或多個計算機(jī)程序中實施,該系 統(tǒng)包括至少一個可編程處理器,處理器被耦合以接收和發(fā)射來自和去往數(shù)據(jù)存儲系統(tǒng)、至 少一個輸入設(shè)備以及至少一個輸出設(shè)備的數(shù)據(jù)和指令??梢杂酶呒夁^程編程語言或面向?qū)?象的編程語言或匯編或機(jī)器語言來實現(xiàn)應(yīng)用程序,如果需要的話;在任何情況下,語言可以 是可編譯或解釋性的語言。圖10是可用于完成本發(fā)明的軟件架構(gòu)的示意圖;它顯示了用戶的單個客戶計算 機(jī)、數(shù)據(jù)庫服務(wù)器94以及Vault服務(wù)器97??蛻粲嬎銠C(jī)包括管理用戶界面并且控制部件 92、95和98的引擎91。引擎91使得用戶可以選擇對象、產(chǎn)品、配置、精度以及用于顯示模 型的視圖的類型,但并不限于此。圖10進(jìn)一步顯示了查詢引擎92、數(shù)據(jù)庫服務(wù)器93以及數(shù)據(jù)庫服務(wù)器94。查詢引 擎92由單個客戶機(jī)控制;它根據(jù)用戶命令來建立數(shù)據(jù)庫語句,并且將數(shù)據(jù)庫語句傳遞到數(shù) 據(jù)庫客戶機(jī)93。查詢引擎92還管理從數(shù)據(jù)庫客戶機(jī)93接收的查詢結(jié)果。數(shù)據(jù)庫客戶機(jī)93適于管理數(shù)據(jù)庫服務(wù)器連接。它接收來自查詢引擎92的查詢, 并且將查詢傳遞到數(shù)據(jù)庫服務(wù)器94。它接收來自數(shù)據(jù)庫服務(wù)器94的查詢結(jié)果,并且將這些 結(jié)果傳遞到查詢引擎92。數(shù)據(jù)庫服務(wù)器94可以接收來自若干數(shù)據(jù)庫客戶機(jī)的查詢,例如客戶機(jī)93,并且 為查詢提供服務(wù)。數(shù)據(jù)庫服務(wù)器通常是關(guān)系型數(shù)據(jù)庫,并且它可以使用從IBM(DB2)或從 Oracle獲得的解決方案來實施。數(shù)據(jù)庫還可以是對象或XML數(shù)據(jù)庫,或訪問數(shù)據(jù)庫的應(yīng)用 服務(wù)器。所述應(yīng)用服務(wù)器還可以提供用于高級查詢(接近度查詢、空間查詢……)的處理 (即時或異步)。除了引擎91中用戶可用的額外的圖形導(dǎo)航功能之外,組件92、93和94不必不同 于本領(lǐng)域的關(guān)系型數(shù)據(jù)庫,其類似于PLM解決方案中使用的數(shù)據(jù)庫。因此,不進(jìn)一步詳細(xì)描 述這些部件。圖10進(jìn)一步顯示了用于存儲和提供數(shù)據(jù)庫中包含的對象的表示的vault服務(wù)器 97 ;換句話說,vault服務(wù)器用作表示儲存庫。Vault服務(wù)器97可以是文件服務(wù)器,表示可以通過所述文件服務(wù)器存儲在各種文件中。還可以使用數(shù)據(jù)庫服務(wù)器(使用例如“blob”(二 進(jìn)制語言對象)存儲設(shè)備)來實現(xiàn)。還可以使用代理和/或高速緩存技術(shù)。存儲在vault 服務(wù)器中的對象的表示可以以各種格式存在,例如包圍盒、多邊形、位像、矢量圖像、細(xì) 分表面,或者更一般地是本領(lǐng)域中已知的任何格式。此外,在vault服務(wù)器中存儲各種的格 式是優(yōu)選的,從而允許增加表示的加載方式。由于vault客戶機(jī)96對Vault服務(wù)器進(jìn)行尋址。Vault客戶機(jī)使得客戶機(jī)能夠?qū)?址vault服務(wù)器以檢索對象的表示。圖10還顯示了表示加載器95。表示加載器95通過 vault客戶機(jī)96來查詢vault服務(wù)器97,以獲取要顯示給用戶的對象的表示。此外,在接 收到來自vault客戶機(jī)96的表示時,表示加載器95還可以管理表示增加負(fù)載。可視化引擎98管理顯示給用戶的表示。它解決顯示驅(qū)動器99,其在大多數(shù)情況 下管理顯示硬件——圖形卡。為了在顯示硬件上顯示表示,可以通過OpenGL驅(qū)動器或使用 Microsoft Direct 3D或DirectX來使用加速的硬件。圖11和12是適于完成本發(fā)明的客戶機(jī)和網(wǎng)絡(luò)硬件架構(gòu)的示意圖。圖11示出了 客戶計算機(jī)系統(tǒng),例如用戶的工作站??蛻粲嬎銠C(jī)包括與內(nèi)部通信總線100相連的中央處理單元(CPU) 101,隨機(jī)存取存 儲器(RAM) 107也與總線相連??蛻粲嬎銠C(jī)進(jìn)一步提供了圖形處理單元(GPU)lll,其與連接 至總線的視頻隨機(jī)存取存儲器110相關(guān)聯(lián)。視頻RAM 110在本領(lǐng)域也被稱為幀緩沖器。大 容量存儲設(shè)備控制器102對大容量存儲設(shè)備(例如,硬盤驅(qū)動器103)的訪問進(jìn)行管理。適 于有形地體現(xiàn)計算機(jī)程序指令和數(shù)據(jù)的大容量存儲器設(shè)備包含所有形式的非易失存儲器, 作為示例包括半導(dǎo)體存儲器設(shè)備,例如EPR0M、EEPR0M以及閃速存儲器設(shè)備;磁盤,例如內(nèi) 部硬盤驅(qū)動器和可移動磁盤;磁光盤;以及⑶-ROM盤104??梢杂脤iT設(shè)計的ASIC(專用集 成電路)來提供前述的任何方法或?qū)⑵洳⑷階SIC中。網(wǎng)絡(luò)適配器105管理對網(wǎng)絡(luò)106的 訪問??蛻粲嬎銠C(jī)還可以包括觸覺設(shè)備109,例如光標(biāo)控制設(shè)備、鍵盤等。在客戶計算機(jī)中 使用了光標(biāo)控制設(shè)備以允許用戶選擇地將光標(biāo)放在顯示器108的任何期望的位置。此外, 光標(biāo)控制設(shè)備允許用戶選擇不同的命令以及輸入控制信號。該光標(biāo)控制設(shè)備包含用于將控 制信號輸入系統(tǒng)的多個信號生成設(shè)備。通常,光標(biāo)控制設(shè)備可以是鼠標(biāo),鼠標(biāo)的底部用于產(chǎn) 生信號。在操作中,圖10的各種客戶機(jī)部件是在CPU 101中執(zhí)行的進(jìn)程。Vault客戶機(jī)96 使用網(wǎng)絡(luò)適配器105來訪問網(wǎng)絡(luò)106上的Vault服務(wù)器97,并且數(shù)據(jù)庫客戶機(jī)93進(jìn)一步使 用該適配器來訪問網(wǎng)絡(luò)106上的數(shù)據(jù)庫服務(wù)器94。可以由vault客戶機(jī)96來使用大容量 存儲設(shè)備控制器102以在本地大容量存儲器設(shè)備(例如,硬件驅(qū)動器103)上創(chuàng)建表示的高 速緩存;這提高了頻繁使用的表示的性能。顯示驅(qū)動器99向視頻RAM 110反饋計算出的模 型的聚合的幾何形狀;由GPU 111來顯示模式。查詢引擎92對查詢進(jìn)行處理,并且將結(jié)果存儲在RAM 107中。表示加載器95處 理并且將計算出的模型的幾何形狀的工作格式存儲在RAM92。由顯示驅(qū)動器99使用存儲的 計算出的模型的幾何形狀,并且將其發(fā)送至GPU 111。圖12是適于完成本發(fā)明的網(wǎng)絡(luò)架構(gòu)實施例的示意圖;由于公共vault服務(wù)器提供 通常可訪問的數(shù)據(jù)庫的表示以及公共數(shù)據(jù)庫服務(wù)器,因此,圖12的架構(gòu)適于允許各種用戶 完成本發(fā)明的處理。在圖12的示例中,在廣域網(wǎng)(WAN) 120中連接了兩個局域網(wǎng)(LAN) 121
16和122。圖12示出了數(shù)據(jù)庫127和主vault 128,其是在WAN 120中描述的,從LAN 121和 122來對其進(jìn)行訪問。第一 LAN 121包括兩個客戶機(jī)123和124,并且第二 LAN122包括一 個客戶機(jī)125。在操作中,LAN 121和122之一中的客戶機(jī)通過WAN 120來訪問數(shù)據(jù)庫127。第一 LAN 121中的客戶機(jī)123和124以及第二 LAN 122中的客戶機(jī)125直接訪問主vault 128 以得到對象、關(guān)于所述對象的所有信息,例如幾何形狀。對本發(fā)明的優(yōu)選實施例進(jìn)行描述。應(yīng)當(dāng)理解,在不脫離本發(fā)明的精神和范圍的情 況下,可以進(jìn)行各種修改。因此,其他實施方式在以下權(quán)利要求的范圍內(nèi)。例如,模型的計 算可以由PDM系統(tǒng)而不是客戶計算機(jī)來完成。因此,客戶計算機(jī)檢索計算出的模型,并且僅 顯示模型的視圖。
權(quán)利要求
1.一種用于顯示產(chǎn)品壽命周期管理數(shù)據(jù)庫的對象的組件的處理,所述處理包括 提供對所述數(shù)據(jù)庫的訪問;在所述數(shù)據(jù)庫中選擇(S20)對象的所述組件; 在所述組件上識別多個視點(S60);根據(jù)所述多個識別的視點,從所述數(shù)據(jù)庫中檢索(S80)所述組件的對象的集合; 針對對象的集合中的所有檢索的對象,計算所述組件的模型(S100);以及 顯示所述模型的視圖(SllO),從在所述檢索步驟處檢索的對象開始在本地計算任何顯 示的視圖。
2.如權(quán)利要求1所述的處理,其中,對象是三維建模對象,并且對象的所述組件的計算 出的模型是在圖形用戶界面上顯示的三維模型。
3.如權(quán)利要求1到2之一所述的處理,其中,所識別的視點位于對象的所述組件的外部。
4.如權(quán)利要求1到3之一所述的處理,其中,所檢索的對象的集合中的對象從視點方向 是可見的。
5.如權(quán)利要求1到4之一所述的處理,在從所述數(shù)據(jù)庫中檢索對象的所述集合的步驟 之前還包括以下步驟計算穿過了所識別的視點以及對象的所述組件中的對象的射線(S70)。
6.如權(quán)利要求1到5之一所述的處理,其中,識別多個視點的步驟包括 識別對象的所述組件的包圍體(S40)的面;以及針對所述包圍體的每一個識別的面,識別至少一個視點(S60)。
7.如權(quán)利要求6所述的處理,在檢索對象的集合的步驟之前還包括以下步驟針對與計算出的射線相交的對象的所述組件中的每一個各自的對象,識別一個或多個 包圍體(S30)。
8.如權(quán)利要求7所述的處理,其中,計算出的射線以從0度到45度的范圍的入射角穿 過所識別的面。
9.如權(quán)利要求1到8之一所述的處理,其中,在顯示步驟中,所述模型的視圖是非關(guān)聯(lián) 的視圖。
10.如權(quán)利要求9所述的處理,在顯示步驟之前還包括以下步驟 聚集所檢索的對象的集合中的對象,以形成所述非關(guān)聯(lián)的視圖。
11.如權(quán)利要求10所述的處理,其中,所檢索的對象的集合中的對象的幾何形狀被聚集。
12.如權(quán)利要求1到11之一所述的處理,其中,選擇對象的所述組件的步驟還包括 選擇所述模型的顯示的視圖的精度。
13.如權(quán)利要求12所述的處理,其中,所選擇的精度正比于穿過所識別的面的射線的 數(shù)量與所識別的面的表面的比值。
14.如權(quán)利要求12到13之一所述的處理,其中,所述精度是在下列各項之一中選擇的默認(rèn)值;由用戶選擇的值;根據(jù)至少一個網(wǎng)絡(luò)參數(shù)確定的值; 根據(jù)至少一個計算機(jī)參數(shù)確定的值。
15.如權(quán)利要求12到14之一所述的處理,其中,根據(jù)所選擇的精度來計算針對每個識 別的面的射線的數(shù)量。
16.如權(quán)利要求1到15之一所述的處理,其中,選擇對象的所述組件的步驟還包括 選擇所述組件的配置。
17.如權(quán)利要求1到16之一所述的處理,其中,根據(jù)所述用戶的安全上下文來完成從所 述數(shù)據(jù)庫中檢索對象的集合的步驟。
18.—種在計算機(jī)可讀介質(zhì)上存儲的計算機(jī)程序,其用于顯示產(chǎn)品壽命周期管理數(shù)據(jù) 庫的對象的組件,其中,包括用于使得計算機(jī)執(zhí)行如權(quán)利要求1到17中任何一個權(quán)利要求 所述的處理的步驟的代碼模塊。
19.一種用于顯示產(chǎn)品壽命周期管理數(shù)據(jù)庫的對象的組件的裝置,所述裝置包括用于 實現(xiàn)如權(quán)利要求1到17中任何一個權(quán)利要求所述的處理的步驟的模塊。
全文摘要
本發(fā)明涉及一種用于顯示產(chǎn)品壽命周期管理數(shù)據(jù)庫中的對象的組件的處理、計算機(jī)程序和裝置。根據(jù)本發(fā)明的方法旨在提供針對數(shù)據(jù)庫的訪問,在數(shù)據(jù)庫中選擇(S20)對象的組件,在所述組件上識別多個視點(S60),根據(jù)多個識別的視點從數(shù)據(jù)庫中檢索(S80)組件的對象的集合,針對對象的集合中所有檢索的對象計算組件的模型(S100),并且顯示模型的視圖(S110),從在所述檢索步驟處檢索的對象開始在本地計算任意顯示的視圖。
文檔編號G06F17/30GK102004809SQ20101027472
公開日2011年4月6日 申請日期2010年6月10日 優(yōu)先權(quán)日2009年6月10日
發(fā)明者A·農(nóng)克萊爾, P-Y·比松 申請人:達(dá)索系統(tǒng)公司