利用3d對象的空間邊界的本體過濾的製作方法
2023-06-22 06:56:11 1
專利名稱:利用3d對象的空間邊界的本體過濾的製作方法
技術領域:
本發明的實施方式涉及信息在視頻顯示器上的圖形顯示,並且更具體地說,涉及改進由大量數據支持其可視顯示的交互式圖形建模軟體應用的可用性。
背景技術:
人們嚴重依賴他們為某些對象附加的含義。「管道」可以從房間一側去往另一側, 但如果其運送噴氣燃料,則其被稱作「燃料管線」。另一「管道」可以從地面去往同一房間的天花板,但因為其被用於疏散來自低層的蒸汽鍋爐的熱,所以其被稱作「熱提升裝置」。設計工程師理解「熱提升裝置」和「燃料管線」的深層含義,並且他們知道「熱提升裝置」不應緊密靠近「燃料管線」以免爆炸或失火。然而,不認真的觀察者可能僅認為這兩種對象是「管道」。有關這兩種管道的數據可以與其它屬性(如長度和直徑)一起存儲在計算機資料庫中。許多交互式圖形計算機軟體應用處理用於呈現在一個或更多個視頻顯示器上的巨量複雜三維模型數據。這種應用例如包括用於設計三維物品、建築物和車輛以進行製造的計算機輔助設計(CAD)工具、以及用於跟蹤公共運輸系統或通信網絡的地理信息系統 (GIS)工具。一般來講,個人將在工作站或計算機終端處使用這種程序,如圖1所示。如可以在圖1中看出的,工作站可以具有按個人的便利性排列的若干視頻顯示器,以允許個人得到在上面操作軟體應用的大顯示區域。
發明內容
本發明的各種實施方式通過允許個人將除物理特性之外的本體分類關聯至圖形對象數據等來改進這種圖形軟體應用。該數據接著可以根據本體過濾以顯示,並且利用用於定義和操作圖形顯示器上的可視標記的公知技術來顯示。而且,通過不只是基於本體而且還基於對象的幾何特性來過濾對象,可能引起與安全或操作有關的複雜且重要的問題。 這些問題的答案可以提示整個數據集中請求者將認為與他自己的構思(mental)模型密切相關的其它數據,改進了圖形軟體的易用性並且提供了直觀接口。在本發明第一實施方式中,一種方法顯示已經利用多個軟體過濾器過濾的3D模型數據。數據屬於一數據集,該數據集中的每個數據都具有一個或更多個屬性。首先,所述方法定義多個數據過濾器和多個過濾級別。每個數據過濾器都用過濾級別或優先級特徵化,並且能夠根據至少一個屬性的函數來過濾所述數據集中的所述數據。響應於接收到對多個數據過濾器的第一選擇,所述方法然後顯示所述數據集中的、由第一選擇的數據過濾器限定的3D模型數據的子集。在一些實施方式中,數據過濾器可以組織為樹,或攜帶本體含義。所選擇的數據過濾器可以具有相同過濾級別,或具有不同過濾級別。所顯示的數據的子集可以從由所選擇的數據過濾器限定的數據的子集的邏輯交集或邏輯併集來形成。由給定數據過濾器選擇的數據可以按與該過濾器唯一地關聯的用戶可選顏色來顯示。例如,所有「燃料管線」可以在用戶顯示區域上顯現例如紅色標記。其它相關方法可以擴展該處理。例如,一種方法接收對第一選擇數據過濾器的第二選擇。所述方法接著指示與重新選擇的數據過濾器相關聯的數據過濾器。每個所指示的數據過濾器都具有相同級別,但該級別不同於重新選擇的過濾器的級別。所述方法接著可以接收對所指示的數據過濾器的選擇。在這種情況下,所述方法使顯示由選擇的所指示的數據過濾器限定的3D模型數據的第二子集。3D模型數據的所述第二子集不僅可以由選擇的所指示的數據過濾器限定,而且可以由其它的第一選擇的數據過濾器來限定。顯示所述第二子集的步驟可以包括按用戶可選顏色顯示所述第二子集的數據。並且顯示所述第二子集的步驟可以包括顯示所述第二子集的數據的分解圖、截面圖或放大圖。在本發明另一實施方式中,一種方法在視頻顯示器上顯示來自數據集的3D模型數據。所述數據集中的每個數據都表示3D模型對象的多個類中的一類的實例。所述多個類中的每個類都實現多個功能角色(role)中的至少一個功能角色。所述方法包括以下步驟首先,形成定義多個含義的本體,其中,所述多個功能角色中的每個角色都擁有所述多個含義中的至少一個含義。所述方法接下來在所述視頻顯示器上顯示圖形用戶接口(⑶I), 其中,該GUI能夠接收對所述本體中的含義的選擇。最後,該方法響應於接收到有意義的選擇而確定用於在所述視頻顯示器上顯示的來自所述數據集的3D模型數據。每個所顯示的數據都是實現具有所選擇的含義的角色的類的實例。這些概念在下面圖9的描述中詳細闡述。可以選擇許多含義以執行多個過濾。如果這樣,則所述方法還顯示所述數據集中的、作為實現具有所選擇的含義中的至少一個含義的至少一個角色的類的實例的數據。所述3D模型數據可以按用戶可選顏色來顯示。而且,所述方法可以包括顯示其它未選擇的3D 模型數據。在所述視頻顯示器上顯示所述數據的步驟包括與未選擇的數據不同地顯示所選擇的數據。另一方法提供了一種從數據集選擇用於顯示的3D模型數據的拖放方法。該數據集中的每個數據都具有一個或更多個含義,並且每個含義都與可視標記相關聯。該方法在視頻顯示器上顯示具有可視標記的第一和第二區域。每個可視標記都能夠在兩個區域之間拖放。響應於拖放事件,所述方法基於顯示在所述第二顯示區域中的所述可視標記,來選擇用於在所述視頻顯示器上顯示的3D模型數據。可視標記可以從任一區域拖放至另一區域。每個可視標記都可以具有用戶可選顯示顏色。根據描述數據集的本體,數據集中的數據可以與該數據集中的其它數據有關。如果是這樣,則所述可視標記中的至少一個可視標記可以與用於選擇所述數據集中的、響應於所述本體內的特定含義的所有數據的過濾器相關聯。響應於可視標記在區域之間拖放,另一方法組織顯示在所述第二區域中的所述可視標記。所述方法可以根據所述可視標記出現在所述第二顯示區域中的頻率、或者根據可由用戶選擇的排序標準來組織所述可視標記。一相關方法在所述視頻顯示器上顯示所選擇的數據。而且,所述方法可以顯示未被選擇的數據。所選擇的數據根據使其在視覺上與未被選擇的數據相區分的顯示模式來顯示。每個可視標記都可以具有不同的用戶可選顏色。根據所述顯示模式,與每個可視標記相關聯的數據可以按該可視標記的顏色來顯示。另一方法根據各種顯示選項在視頻顯示器上顯示來自數據集的3D模型數據。該方法將至少一個數據過濾器應用至所述數據集以選擇3D模型數據的子集,然後示出與所述過濾器有關的可選顯示選項。在接收到來自個人的選項選擇之後,所述方法根據所選擇的數據顯示選項來顯示所述3D對象。所選擇的數據可以按用戶可選顏色來顯示,而由每個過濾器選擇的數據可以按不同顏色來顯示。未被選擇的數據可以或可以不顯示,並且如果它們能顯示,則它們可以例如按中性色顯示。一種相關方法實施方式還選擇所顯示的數據子集,並且按用戶可選突出顏色顯示所述子集中的每個對象。該實施方式可以通過將按突出顏色顯示的數據從所述視頻顯示器拖放到第二視頻顯示器上來擴展。另一實施方式提供了一種基於數據的本體和幾何特性兩者在視頻顯示器上顯示數據的方法。所述方法包括向數據集中的每個數據分配至少一個含義,所有分配的含義的集合形成一本體。在計算機處理中,所述方法需要確定與所述本體中的第一和第二含義相對應的數據的第一和第二子集,並且形成所述數據集的第三子集,所述第三子集包括所述第一子集中的、滿足與所述第二子集中的至少一個數據的給定幾何關係的每個數據。最後, 所述方法需要向所述視頻顯示器轉發一信號,以使其以圖形方式突出由所述第三子集表示的所述三維對象。所述數據可以表示在設計、建造、檢查、批准或運作例如建築物或艦艇等中使用的三維對象。它們可以存儲在資料庫中,並且確定所述數據集的所述第一子集和第二子集的步驟利用資料庫查詢來執行。所述視頻顯示器可以以二維視圖或三維視圖示出所述三維對象。並且以圖形方式突出三維對象的所述第三子集的步驟可以包括在所述顯示器中的恰當位置處顯示可視標記的副本。還公開了用於執行這些方法中的每一種方法的電腦程式產品。每一種電腦程式產品都是攜帶程序代碼的有形計算機可用介質。所述代碼指令計算機系統執行上述方法之一的步驟。單個計算機可用介質可以包括用於執行所述方法中的任意或全部的程序代碼。而且,公開了用於執行這些方法的裝置。
通過參照本發明的前述實施方式的詳細描述以及附圖,將更容易理解這些實施方式,其中圖1示意性示出根據本發明一些實施方式的個人準備使用計算機工作站;圖2描繪了上面顯示有根據各種實施方式的圖形用戶接口的視頻顯示器;圖3是具有屬性和本體類別的若干數據的表格表述;圖4以圖形方式描繪了數據過濾器作用於數據集的邏輯操作;圖5A和5B示出了可以在數據過濾器當中定義的各種關係、和數據過濾器到級別的一種可能組織;圖6A示出了用於在視頻顯示器上顯示已經由一個或更多個數據過濾器過濾的數據的處理的一個實施方式;圖6B和6C以繪圖方式表示示出在圖6A的處理中的確定步驟之後的視頻顯示器的示例圖形用戶接口;圖7A和7B示出了另選實施方式的邏輯操作,其中,可以不同地組合由幾個過濾器從一數據集中同時過濾出的數據以顯示;圖8A和8B以繪圖方式表示示出利用一個以上的過濾器從一數據集同時過濾出的 3D模型數據的示例圖形用戶接口 ;圖9示意性示出了不同概念(包含實例、類、角色以及本體)之間的關係;圖10示出了用於根據本體過濾器過濾數據的處理的一個實施方式;圖11示出了用於根據本發明的拖放實施方式在圖形用戶接口中選擇數據過濾器的處理的一個實施方式;圖12A和12B以繪圖方式表示在圖11的處理之後的示例圖形用戶接口 ;圖13A示出了用於根據用戶可定製顯示選擇在視頻顯示器上顯示所過濾數據的處理的一個實施方式;圖1 示出了可以執行圖13A的處理的示例圖形用戶接口 ;圖13C示出了提供顏色選擇工具以允許操作者選擇顏色的示例圖形用戶接口 ;圖14示出了用於同時在幾個視頻顯示器上顯示來自單個數據集的所過濾數據的處理的一個實施方式;圖15是示出本發明的計算機化實施方式中的、用於選擇表示用於在視頻顯示器上顯示的三維對象的數據的步驟的流程圖;圖16A是表示三維對象的完整數據集的顯示;以及圖16B是根據本發明一實施方式的、圖16A的突出特定所選數據的顯示。應當明白,這些圖不必按比例繪製,並且它們實質上是概念性且例示性的。
具體實施例方式許多交互式圖形計算機軟體應用處理用於呈現在一個或更多個視頻顯示器上的巨量複雜三維模型數據。這種應用例如包括用於設計三維物品、建築物和車輛以進行製造的計算機輔助設計(CAD)工具,以及用於跟蹤公共運輸系統或通信網絡的地理信息系統 (GIS)工具。本發明各種實施方式通過根據用於定義和操縱圖形顯示上的可視標記的易用和易理解的技術過濾用於顯示的數據來改進這些應用。例如,設計工程師如何確定均稱作「管道」的兩種類似對象實際上完全不同、並且其實不應放置地彼此靠近? 一種方式是利用本體(ontological)分類存儲對象,使得它們的「深層含義」保持依附於它們。一般而言,用戶開發的類別(例如,「熱提升裝置」和「燃料管線」)是一種很好的對數據進行非正式歸類並組織以隨後從計算機資料庫過濾並查詢的方式。開發對象的正式或非正式歸類的處理導致了該領域的本體,其包括已經與特定對象或概念相關聯的含義的集合。這種含義的集合可以在對象存在的整個過程中擴大並改變。例如,椅子可以是「坐的地方」。如果吊燈燒壞並且需要更換,則椅子可以變為「踏凳」。如果椅子被移動以擋住門,則其可以變為「火災隱患」。雖然椅子本身在物理上沒有變化,但其具有的各種用途和其所扮演的角色反映在不同含義的詞語、或者我們用於構思上對其進行構造並描述的「標籤」中。 這些標籤形成其本體。本體能夠在大且複雜的人類活動方面提供一種不同的組織結構,其中為對象「加標籤」比將屬性與關鍵字關聯的傳統方法(如在規範化資料庫中所做的)更有用。如在此使用的,術語「本體」通常指與一對象或概念相關聯的含義的集合。如上述討論中例示的,管道可以具有深層含義,如「燃料管線」或「熱提升裝置」。這些含義連同作為管道的語義描述的其它詞語一起形成該管道的本體的一部分。可以被命名的任何事物都具有關聯的本體,具有各種含義。在這裡所公開的本發明的各種實施方式中,可以用存儲在資料庫或軟體配置文件中的數據來表示含義本身。本體不應與物理屬性混淆,雖然特定管道可以具有某一直徑,並且雖然「六英寸直徑管道」(例如)可以具有針對特定技術或應用的深層含義,但本體通常並不如此受限。相反,本體涵蓋人們在他們自己的構思模型中為對象賦予的對象的各種命名方面和特徵。而且如在此使用的,術語「拖放」通常指用於利用諸如計算機滑鼠或繪圖板的指點裝置在圖形顯示器上移動對象的三步驟過程。在第一步驟中,操作者通過操縱對象之上顯示的指針並執行抓取(grab)動作、一般是按下(而不釋放)指點裝置上的按鈕,來「抓取」 對象。在第二步驟中,操作者通過操縱指針而「拖動」對象對期望位置。在第三步驟中,操作者通過執行放下動作、一般是釋放保持的按鈕而將對象「放」到該位置。本領域普通技術人員將認識到執行這種功能的其它方法,如在第一步驟中按下並釋放「動作」按鈕一次以抓取該對象,並在第三步驟中再次按下並釋放「動作」按鈕以將對象放下,或者利用鍵盤或指點裝置上的單獨的「抓取」和「放下」按鈕。這裡描述的軟體應用通常通過操縱並且顯示表示具有長度、寬度以及高度的許多物理對象的數據來操作。在本發明的一些實施方式中,這些應用還包括表示這些物理對象針對它們的用戶的語義含義的數據(即,它們的本體)。作為實例,數據可以表示每個組件在以下等方面中的物理屬性化學、採礦或製造廠;油、氣或核電站;甚至汽車或艦艇。如在此使用的,術語「三維」和「3D」可互換地指對這些物理對象的屬性進行建模的數據、以及計算機應用用於在圖形顯示器上可視地顯示模型數據的圖形數據。雖然本發明的典型實施方式將使用諸如CRT或LCD屏幕的視頻顯示裝置來顯示3D數據,但將理解,可以使用準許這種可視化的任何裝置。系統概述圖1示意性示出個人準備使用根據本發明各種實施方式的計算機工作站。計算機工作站100可以包括其上安裝有3D建模圖形計算機應用的通用計算機。雖然這種工作站通常需要許多組件以運行,但為了簡潔明了,僅示出並特別描述與本發明各種實施方式具有有關的的那些組件。工作站100可以包括計算機系統102,在圖中被示出在桌子104下面的地板上。計算機系統102具有驅動器110、112,其可以接受諸如軟盤、存儲棒、壓縮盤以及DVD的可移除介質。在左下側示出的人或「操作者」 120可以將包含用於圖形計算機軟體應用的軟體指令的可移除介質插入驅動器110或112中,並且根據現有技術中公知的方法安裝軟體。工作站100具有許多輸入裝置,包括鍵盤130和指點裝置(例如,滑鼠132或繪圖板)。工作站 100還具有許多輸出裝置,包括一個或更多個視頻顯示器140、142。許多顯示器可以協作來顯示其中存在若干三維(3D)對象的單個虛擬環境150。在該圖中,單個3D角錐體152顯示在兩個視頻顯示器中的每個上,左側顯示器140顯示其正面具有陰影的角錐體152,而右側顯示器142顯示其底面具有陰影的同一角錐體152。另外,圖形應用可以被設置成在不同顯示器上不同地顯示同一 3D對象,或者在多個顯示器上顯示不同對象,如以下結合圖14更全面描述的。圖1僅表示本發明的示例性實施方式,將理解,本發明可以按其它方式具體實施。 例如,計算機系統102可以遠離操作者定位。或者,可能根本沒有專用計算機系統102,圖形應用可以在巨型計算機、大型計算機、主計算機系統、或其它合適的計算裝置上運行。而且,雖然在該圖中示出兩個顯示器以幫助確定描述,但將理解,在本發明的其它實施方式中可以使用不同數量的顯示器。特定實施方式可以具有一個或更多個圖形顯示器。圖2描繪了諸如圖1的視頻顯示器的畫面拍攝,圖形應用在上面顯示了根據本發明各種實施方式的圖形用戶接口(GUI)200。操作者(未示出)與GUI 200交互,以設計並操縱3D對象。出於簡化本公開的目的,GUI將描述為顯示在單個視頻顯示器上,但應注意至IJ,單個⑶I可以顯示在兩個或更多個視頻顯示器上,如圖1所示。圖2的示例性⑶I 200包含輔助操作者查看和操縱三維對象的兩個區域對象顯示區域210和輸入區域220。顯示器下部的大部分包括對象212的3D模型。在圖2中,對象是工業建築物的一部分,但其通常可以是任何3D對象或對象集合。應該通過對3D模型數據(未示出)的集合或數據集執行一系列圖形計算來顯示3D對象。該數據集包括針對至少一個3D對象、但典型地針對大量3D對象的尺寸、位置以及取向數據。除了這些數據以夕卜,每個3D對象數據都包括用於對其進行歸類的信息,如以下結合圖3-8更全面說明的。顯示器的輸入區域220包括標題欄230和若干「帶狀條」或矩形輸入區域232、234、 236、238。帶狀條可以如圖所示為半透明的,以允許操作者看到所顯示的3D對象的更多部分。圖2示出了四個帶狀條3D控制項232、可用過濾器234、應用的過濾器236、以及組件238。 根據圖形應用所應用的目的或出於其它理由,本發明其它實施方式可以具有更大或更小數量的帶狀條。帶狀條在畫面上的位置可以固定,或者它們可以可移動或可停靠(dockable), 以在控制圖形用戶接口的外觀方面向操作者提供更大的靈活性。將理解,術語「帶狀條」包括如在此描述的那樣工作的任何輸入區域,而不限於矩形形狀。例如,帶狀條可以是圓形、 橢圓形、多邊形或不規則形狀。第一帶狀條232被加標籤「3D控制項」。該帶狀條232具有用於操縱在顯示器下部處的大顯示區域中示出的3D對象的許多可視標記。該帶狀條中示出的可視標記提供助記功能,並且典型地(但不一定)在帶狀條內的位置是固定的。標記助記是本領域公知的,或者可以由操作者不費力地推知。例如,箭頭狀標記240可以表示對象選擇工具,放大鏡可視標記242、244可以表示「縮放」功能;虛線框標記246可以表示區域選擇工具,等等。通過利用工作站指點裝置選擇這種標記,操作者可以將所選擇的功能應用至所顯示的3D對象212 或其一部分。形狀類似過濾器的標記248表示與本發明實施方式特定相關的過濾操作。下面結合圖3-8對過濾器進行更詳細的描述。第二帶狀條234被加標籤「可用過濾器」。該帶狀條具有多個可視標記250、252、2 等,每個標記都表示操作者可以選擇以顯示某3D對象的特定數據過濾器。每個數據過濾器都能夠從數據集中選擇3D模型數據的子集,用於進一步顯示和操縱。可以存在大量這種標記。為使操作者方便,操作者可以重新排列帶狀條內的標記,如圖12A和12B所示。每個標記都可以與如在每個標記內的小彩色框中所示的不同顏色相關聯,以幫助操作者可視化由標記的關聯過濾器選擇的3D對象。操作者可以利用如圖13C所示的選擇輸入來修改每個可視標記的顏色,或者操作者可以從預定義顏色的集合中選擇每個顏色。第三帶狀條236被加標籤「應用的過濾器」。該帶狀條236能夠接收並顯示來自第二帶狀條的過濾器標記。諸如結構標記250的過濾器標記可以從第二帶狀條234拖放到第三帶狀條236中,反之亦然,或者可以利用其它技術來傳遞,如從下拉菜單選擇一過濾器, 或者通過雙擊。一旦應用了過濾器,3D對象顯示區域210中的對象可以根據由過濾器選擇的數據而重新顯示。例如,所選擇的數據可以按用戶可選顏色來顯示,而未選擇的數據按中性色顯示。用戶可選顏色可以是與過濾器相關聯的顏色,以向操作者提供由過濾器選擇的數據的簡單可視指示。或者,未選擇的數據可以隱藏、變暗或變為半透明。在不脫離本公開範圍的情況下可以實現其它顯示變化。第四帶狀條238被加標籤「組件」。該帶狀條238可以列出對應於特定應用過濾器的各個3D對象(例如,按名稱或標籤號)。由此,當操作者將過濾器標記從第二帶狀條234 拖放到第三帶狀條236中、然後第二次選擇該標記(例如,通過單擊或雙擊該標記)時,第四帶狀條238可以填充有與兩次選擇的過濾器有關的3D對象數據。通過進一步選擇這些對象數據中的一些,可以進一步改變3D對象顯示。例如,與所選擇的對象數據相對應的3D 對象可以按第二用戶可選顏色顯示,或者其可以閃爍以吸引操作者注意,或者該顯示可以描繪3D對象的以所選擇的子對象為中心的特寫視圖。再次,針對這個主題的變化被認為處於本公開的範圍內。為了提供最大可用工作空間,不是所有帶狀條都需要同時顯示在視頻顯示器上。 例如,「3D控制項」帶狀條232具有類似過濾器形狀的標記M8。在一些實施方式中,操作者點擊標記M8以交替地顯示或隱藏其它帶狀條234、236、238。設想了用於顯示和隱藏帶狀條 232、234、236、238的其它機制,包括但不限於激活菜單系統中的控制項,或者激活諸如擴展/ 收縮脫字符(caret)的圖形控制項。例如,帶狀條可以包含用於隱藏帶狀條的「隱藏」脫字符和用於顯示隱藏的帶狀條的「顯示」脫字符。通過按下「隱藏」脫字符,操作者可以使應用顯示從顯示中移除帶狀條的諸如滑線的轉變圖形。通過按下「顯示」脫字符,操作者可以使應用顯示展現帶狀條的滑線。而且,應用例如可以通過顯示脫字符的功能的可視指示(如指點向上用於隱藏功能的脫字符和指點向下用於顯示功能的脫字符)在激活之後將「隱藏」 脫字符改變成「顯示」脫字符。類似地,操作者可以利用諸如脫字符的菜單或控制按鈕顯示或隱藏每個帶狀條內的過濾器標記。另外,操作者可以重新排列帶狀條內的過濾器標記,例如如結合拖放操作在圖12A和12B中所示的。過濾屬性數據根據本發明例示性實施方式的應用基於包含在數據集中的3D對象數據來顯示3D 對象。然而,如果所有3D對象按相同方式同時顯示,操作者可能被顯示混淆,因為在數據集中可能存在幾百、幾千甚至幾百萬的單個數據。由此,對於操作者來說僅選擇數據集中的一部分數據用於獨特可視顯示是方便的,例如通過以獨特顏色突出,或者通過隱藏或遮蔽未選擇對象。根據本發明一些實施方式,通過數據過濾器執行這種選擇。由此,數據過濾器基於數據的屬性從數據集選擇用於顯示的數據。應用數據集中的每個數據都具有一個或更多個屬性。圖3示出了若干這種對象數據310、320、330的表示,以及它們可以擁有的元組的示例性選擇。這些數據皆通過唯一的指定來加標籤數據310由此被加標籤「P101-014」、數據320被加標籤「P102-0146」,而數據330被加標籤「P104-018」。標籤的形式由操作者定義或構建到圖形應用中,並且可以是序列號或其它唯一標識符。典型地,數據集將具有幾百、幾千或幾百萬數據,並且圖3中表示的數據的特定形式不應被解釋成限制本發明的範圍。數據集中的每個數據都擁有許多元組,每個元組都具有命名屬性和關聯值,在示例性圖3中,存在類別、標籤/名稱、直徑、Xl、X2、Yl、Y2和Zl、Z2空間位置、以及本體。這種元組典型地包括與三維對象、建築物、結構或系統的可視化有關的任何特性,如空間取向、邊界框、渲染顏色以及坐標。它們還可以包括與構造材料、標準合規信息、製造商信息、 現場交貨時間、工程安裝階段或它們表示的物理對象的設計、用途或構造有關的信息。更具體地,參照圖3,數據310表示位於坐標(XI = 10,X2 = 15 ;Yl = 20,Y2 = 25 ;Zl = 30, Z2 = 35)處的8〃直徑管道。數據320表示位於坐標(XI = 100,X2 = 110 ;Yl = 120,Y2 =130 ;Zl = 140,Z2 = 150)處的4〃直徑管道。數據330表示位於坐標(XI = 210,X2 = 230 ;Yl = 220,Y2 = 240 ;Zl = 230,Z2 = 250)處的2. 5〃直徑管道。這裡公開的圖形應用可以在利用或不利用第一應用數據過濾器的情況下顯示具有這些數據中的每個數據的特徵的3D對象。如以下結合圖9-11更全面描述的,在一些實施方式中,每個單獨數據都對三維物理製造的單個組件建模。為了按有助於人類操縱的方式來顯示這些數據,它們可以被概念地組織並且根據概念搜索。通過採取根據本發明一些實施方式的概念性組織,可以通過使用過濾器高效地搜索幾百萬的數據,與在3D計算機建模和設計工具領域中當前可用的相比,提供相當快的搜索。圖4以圖形方式描繪了數據過濾器作用於示例性數據集的邏輯操作。數據集410 包含八個數據,在此表示為A到H。每個數據都具有如上結合圖3所述的各種屬性(未示出)。過濾器420通過根據數據的屬性選擇數據而作用於數據集410中的數據。例如,一個過濾器可以選擇表示管道、板、梁等的所有數據,或者與給定點、線、面、框或其它位置或形狀相交的所有數據。而且,如下所述的本體過濾器可以基於數據的本體屬性來選擇它們。 如圖4所示,過濾器420已經應用至數據集410,由此選擇包含數據A、C、G的數據子集430。 例如,過濾器420可能選擇了具有等於100的X坐標和等於25的Z坐標的所有數據。該選擇的數據子集現在可以顯示在視頻顯示器上。典型地,在與圖形應用交互期間,操作者將定義和使用大量過濾器,如過濾器420。 這些數據過濾器可以按許多不同方式組織,圖5A和5B示出了其中的兩種。最普通的過濾器組織是過濾器510的平面集,如圖5A所示。該示例性集合具有三個過濾器512、514、516, 分別被加標籤直徑4";管道類;以及X、Y、Z位置。將過濾器組織成集合是完全普通的,並且不必暗示這些過濾器之間的任何關係。然而,可以便於定義數據過濾器之間的層次關係。一個過濾器可以選擇由另一過濾器選擇的數據的嚴格子集,無論數據集中是什麼數據。例如,第一過濾器可以選擇所有管道,而第二過濾器可以選擇所有水管。在這個示例中,由第二過濾器選擇的所有數據形成由第一過濾器選擇的數據的嚴格子集。過濾器由此可以按樹來組織,如圖5B所示,並且便於使用家譜術語來描述它們。 由此,將第一過濾器稱為「父親」過濾器,將子集過濾器稱為「孩子」過濾器。如果父親過濾器具有許多孩子,則孩子可以統稱為「兄弟過濾器」。如果孩子過濾器具有孩子,存在孩子過濾器的父親的「孫子」,這時孩子過濾器的父親則為「祖父」。過濾器的父親和它們的父級的集合可以稱為「祖先」過濾器,等等。出於本公開的目的,這樣排列的層次過濾器被賦予「級另O」屬性,其類似於家譜代。由此,孩子過濾器具有比其父親大一級的級別。兄弟過濾器具有相同級別(儘管不是具有給定級別的所有過濾器都必須是兄弟)。孫子具有比它們的祖父大兩級的級別,等等。更具體地,圖5B中的示例性樹520涉及適於設計工業工廠的過濾器,儘管本領域普通技術人員可以找到適於其它目的的其它過濾器。該樹的頂級過濾器530 (表示「工廠」) 處於圖的頂部,並且選擇工廠的所有組件。為幫助操作者設計工廠,圖形應用可以具有用於從數據集中選擇例如表示布線、管道、機械元件、以及其它組件的數據的各種過濾器。這些孩子過濾器(分別為M0542以及M4)被示為樹的分支,並且因為它們源自樹的基部而全部具有級別1。在這些過濾器中的一個過濾器內,例如,在管道過濾器542內,可以便於區分不同種類的子過濾器。由此,操作者可以設計具有用於運送空氣和水這兩者的管道的工廠。 分別用於空氣和水的子過濾器550、552具有級別2,因為它們限定級別1過濾器。而且,操作者可以根據水的類型來定義用於運送水的若干種管道。操作者可能需要特定種類或數量的管道來在整個工廠中適當地分布淡水,而汙水以及海水可以不同地分布。由此,操作者可以針對這些類型的水管定義級別3過濾器,如圖5B所示為過濾器560、562、564。按這種方式創建過濾器並將過濾器組織成級別的處理可以擴展至任何級別,或直到無限。根據本發明一些實施方式,操作者可以根據任何組織結構(如作為操作者輸入到圖形應用中的結果的集合或樹),來創建和組織過濾器。在其它實施方式中,操作者可以定義過濾器之間的更複雜且抽象的關係。例如,操作者可以指示圖形應用可以一起使用過濾器的特定組合。因而,與對象的組成有關的過濾器和與結構組件有關的過濾器可以結合使用。操作者由此定義一組直積或笛卡爾乘積過濾器,這些過濾器的每個都選擇具有特定結構和特定組成的所有對象。過濾器的積集例如可以包含針對鐵螺紋鋼的過濾器(即,鐵過濾器和螺紋鋼過濾器的積)。類似的,積集可以包含針對鋼橫梁的過濾器和針對A形木架的過濾器。每個這種積過濾器是兩個過濾器的孩子,一個涉及材料而一個涉及結構。將理解, 本發明範圍不限於該示例,並且針對用於組織過濾器的方法的顯見改變是預期的。圖6A示出了用於在視頻顯示器上顯示已經由一個或更多個數據過濾器過濾的數據的處理的一個實施方式。該處理中的第一步驟610定義多個數據過濾器。在一個實施方式中該步驟610可以包括圖形應用請求來自操作者的輸入。在另一實施方式中,圖形應用可以在分發至操作者之前預先編程有多個數據過濾器。在其它實施方式中,數據過濾器可以在有或沒有操作者幹涉的情況下通過計算機網絡、可攜式存儲介質或其它設施來更新。操作者可以按任何數量的方式來定義數據過濾器。例如,應用可以包括文本文件或有關操作者可以手動編輯的過濾器的數據的資料庫。這些過濾器本身具有使它們本身以許多不同格式(人類可讀和機器可讀,包括不限於XML和基於XML的格式)記錄的屬性和特性。操作者可以利用由應用GUI提供的菜單、或者通過執行資料庫(SQL)命令、或者通過利用字處理器或文本處理器打開數據過濾器文件,來編輯有關數據過濾器的信息。數據過濾器還可以預先編程。例如,可以生產針對某些類別的三維結構的設計特別定製的圖形應用版本,並且具有針對可能在這些結構的組件中找到的不同類型屬性中的許多屬性的過濾器。這些過濾器可以包括用於選擇建築材料類型、或建造日期、或由每個組件實現的功能的過濾器。可以周期性地或偶發地由提供圖形應用的公司通過軟體更新的方式來更新這些數據過濾器。這種軟體更新可以例如通過計算機數據網絡、有形計算機可讀存儲介質或者通過其它方式來傳送。可能需要操作者幹涉以執行更新,或者更新可以按設置間隔或根據任何其它計劃而自動發生。圖6A的處理中的下一個步驟612是接收數據過濾器的第一選擇。典型地,圖形應用在視頻顯示器上顯示3D對象或對象的集合、以及多個數據過濾器的一些或全部,如結合圖2所述的。這些數據過濾器可以屬於3D對象的物理屬性,或者它們可以屬於這些對象的本體特徵(如以下更詳細描述的),或兩種情況都有。如以下結合圖9所述的,應用可以基於預選篩選出可用數據過濾器列表中的一些。圖形應用的操作者接著選擇一個或更多個數據過濾器,以便選擇用於獨特顯示的3D對象數據的子集。操作者可以選擇各個過濾器,並且在每個上執行拖放操作,如以下結合圖11和12所述的。可以使用本領域已知的用於從操作者接收選擇的任何其它方法。該處理中的下一個步驟614從數據集中過濾與第一選擇相對應的數據子集。應用可以通過任何已知方式(包括而不限於執行一個或更多個資料庫查詢)來過濾數據集。過濾還可以通過搜索文本文件、或者通過搜索在運行圖形應用的工作站的存儲器中存儲的數據結構來完成。一旦已經過濾了數據子集,下一個步驟616就按獨特方式在一個或更多個視頻顯示器上顯示子集。下面結合圖13A,對在本發明各種實施方式中應用可以執行該步驟的不同方式中的一些進行討論。在這點上,應用可以顯示附加數據過濾器標記,以允許操作者選擇用於顯示的附加數據。該動作由步驟616和步驟612之間的箭頭指示。執行獨特顯示的數據子集的子過濾可能是有利的。例如,操作者可能對定位和突出特定管道、或焊接點、或配電盤感興趣。由此,在一些實施方式中,操作者可以對第一選擇的數據過濾器中的一個進行進一步選擇,以使GUI顯示子過濾器列表、或者與兩次選擇的過濾器相對應的3D對象數據的列表。圖6A的處理由此可以通過圖形應用接收數據過濾器的第二選擇在下一個步驟618中繼續。在該處理的步驟620中,應用列出與第二選擇的過濾器相關聯的數據,包括3D對象數據的列表。圖6B示出了步驟618之後的示例圖形用戶接口。在這個圖中,操作者已經在步驟618中二次選擇了 「Mructure」過濾器標記630,使得圖形應用已經在「組件」帶狀條中顯示由該過濾器選擇的結構組件632、634、636、638、640的列表。應用利用與未選擇標記不同的背景色顯示可視標記630,以吸引操作者注意標記被二次選擇的事實。然而,由於操作者還沒有選擇畫面的組件區域中的任一個繪製組件,因而未突出它們中的任一個。返回至圖6A,在該處理的步驟622中,應用接收操作者針對所列出數據中的一個特定數據而對可視標記的選擇。所選擇的標記可以按用戶可選顏色顯示,以吸引操作者注意該標記被選擇的事實。在步驟624中,圖形應用在視頻顯示器上顯示由該特定3D數據表
17示的對象的表示。用於顯示而選擇的數據可以按分解圖、截面圖或放大圖來示出。圖6C示出了步驟擬4之後的不同示例圖形用戶接口。在這個圖中,操作者已經第二次選擇了「Electrical」過濾器標記650,使得圖形應用已經在「組件」帶狀條中顯示電氣組件652、654、656、658、660的列表。雖然該特定過濾器標記涉及這些組件的本體特徵,但這些過濾器也可以屬於這些組件的物理屬性。在步驟622中,操作者已經選擇了針對組件 U01-CW003-ET—000的可視標記660。在步驟624中,應用將組件數據顯示為放大的3D對象670,其已經按與所選擇的「Electrical」過濾器相對應的用戶可選顏色陰影化。在圖6C 的實施方式中,應用按非獨特的線框方式在視頻顯示器上將數據集中的未選擇數據顯示為 3D對象。操作者可能不僅希望組合不同級別的過濾器,如「管道」和「水管」,而且希望組合相同級別的過濾器,如「管道」和「電線」。例如,設計工業工廠的個人可能希望沿管道來走絕緣電線,並且想要在視頻顯示器上看到設計中哪些管道當前支持走電線而哪些管道不支持的表示。然而,問題出現了,如何將由兩個或更多個不同過濾器選擇的數據集的子集合併。 所過濾數據的一些子集可能交疊,並且存在可以被應用至這些子集以確定用於顯示的最終數據集的若干邏輯(布爾)函數。圖7A和7B示出了一些實施方式的邏輯操作,其中組合由若干過濾器同時從數據集過濾的數據以顯示。具體來說,圖7A示出了其中選擇數據集的交集(邏輯AND)以獨特顯示的處理,而圖7B示出了用於選擇數據集的併集(邏輯OR)的處理。可以將其它邏輯函數(例如,異或、以及採取任意數量參數的其它布爾函數)應用至數據集以選擇用於顯示的數據。圖7A和7B中的數據集710和第一過濾器720與圖4中的相同。具體來說,數據集710包括被加標籤A到H的8個數據,並且第一過濾器720選擇第一子集730中的數據 A、C、G。這些圖中的第二過濾器722選擇第二子集732中的數據B、C、D。這些子集接著如下所述合併。在圖7A中,過濾器僅選擇在子集中的每個(或者使用兩個以上子過濾器的子集,全部子集)中出現的那些數據。在這個示例中,僅數據C出現在兩個子集730、732中 (如合併的集合740中的陰影所指示的),並且過濾器僅選擇數據C用於獨特顯示。應用可以例如通過逐個元素地比較兩個所選擇子集的內容、並且構造包含兩個子集中均包含的元素的第三子集用於顯示,來執行此選擇。通過對比,在圖7B所示處理所表示的實施方式中,圖形應用獨特地顯示兩個(或者更一般地說,全部)所過濾子集中的全部數據。在這種情況下,合併的集合742包括如陰影所指示的數據A、B、C、D、G。在圖7A和7B所示的兩個實施方式中,數據集中的未被選擇數據可以按非獨特方式顯示,或者根據下面結合圖13A描述的任何方法來顯示。在圖7A中, 未被選擇數據是數據々、8、03、?、6、!1。在圖7B中,未被選擇數據是數據E、F、H。如前所述,用於顯示而選擇的數據可以按分解圖、截面圖,或放大圖來示出。在本發明的各種實施方式中,操作者選擇哪種邏輯函數(AND、OR等)應用至數據集以形成最終數據集合用於獨特顯示。例如,操作者可以利用拖放操作,通過編輯配置文件中的文本、或者通過本領域已知的任何其它方法,從菜單、下拉顯示中的函數列表中選擇函數。無論是由同一級別上還是不同級別上的過濾器選擇子集,剛才描述的用於合併數據子集的技術都可應用,而。例如,操作者可以選擇第一級別過濾器用於「管道」,並且第二級別過濾器用於「水管」。操作者接著可以選擇第二個第一級別過濾器用於「布線」。在這種情況下,圖形應用可以組合第一級別過濾器「布線」與第二級別過濾器「水管」,以獲得具體遵循水管、而不是遵循其它形式管道的布線的一組布線數據。本領域普通技術人員應當清楚如何將該功能應用至無論什麼級別(或無級別)的過濾器的其它組合。圖8A和8B以繪圖方式表示示出利用一個以上的過濾器從數據集同時過濾出的 3D模型數據的示例圖形用戶接口。⑶I與圖2相似地示出了四個帶狀條802、804、806、 808。已經應用了兩個過濾器,分別具有標記810、820的「Distributive Systems」和 「hline-Instrumentation」過濾器。每個過濾器具有獨特顏色,如表示過濾器的標記內的彩色方形所指示的。由這些過濾器選擇的數據集中的數據的併集按獨特顏色示出在畫面的 3D對象顯示區域中,而未選擇數據按線框示出。其它過濾器可用,如分別具有可視標記830 禾口 840 的 「Piping Components,,禾口 「Hangers&Supports,,。在圖8B中,已經通過將可視標記830從帶狀條804移動至帶狀條806而應用了附加過濾器「Piping Components".如其它地方所述,這種轉換可以通過雙擊、拖放操作、從下拉菜單選擇、或者通過本領域已知的其它方式來完成。除了通過應用另兩個過濾器而選擇的用於顯示的3D對象以外,圖形應用按與該過濾器的標記830相關聯的獨特顏色來示出管道組件。另外,操作者已經選擇了標記840,並且準備將其拖放至帶狀條806上。這是通過標記830右側的黃色插入光標和被加標籤「放在這裡以使能過濾」的框示出的。過濾本體數據上述討論涉及數據的屬性過濾。根據本發明各種實施方式,圖形應用還可以(或另選地)提供基於本體選擇數據的過濾器,因為該術語已在此定義。出於本公開的目的,這種過濾器被稱作本體過濾器。一些實施方式允許操作者利用這些本體過濾器,不僅根據數據的特性、而且根據本體類別來搜索或過濾。通過提供本體過濾器,極大地縮減了可能需要按其屬性進行二次搜索的數據的量。在圖形應用由數百萬對象支持的情況下,這種縮減有益於計算功率和操作者的感知渲染延遲。而且,操作者可以通過將含義添加至反映她的構思模型的數據來細化本體。隨著時間的推移,應用越來越根據操作者的構思組織運行,賦予該應用更自然且直觀的「感受」。圖9示意性示出了不同概念(包括實例、類、角色和本體)之間的關係。在最基本級別處,根據本發明各種實施方式的圖形軟體應用顯示三維對象的集合。每個對象最初可以被視為獨立於任何其它對象而存在。為了在視頻顯示器上顯示對象,圖形應用可以使用特定數據,包括對象的位置、形狀、空間取向以及顯示顏色。圖3示出了這些數據中的一些的示例。然而,概念上,對於與應用交互的人類操作者來說,一起處理對象的特定組更有益。用於這樣做的一種邏輯方法是將對象歸類成對象類920,由此類內的各個對象被稱為實例910。例如,操作者可以引用「所有管道」類而非對象「實例P101-014,P102-0146, P104-018... 」。再次參照圖3,例如,數據310表示8"管道;數據320表示4〃管道;數據 330表示2. 5"管道,全部處於管道類中。然而,3個管道的本體分類完全不同數據310是 「熱提升裝置」,數據320是「燃料管線」,而數據330是「淡水」管道。這些示例性數據值示出有時「管道」的分類對於操作者來說不如管道目的的本體分類重要。
對象實例可以存儲在圖形應用可訪問的資料庫內。關於具有充分範圍和複雜性的工程,存儲在資料庫中的3D對象的實例的數量可能非常大,或許數量為幾百萬。結果,搜索這些數據可能在計算上非常昂貴。然而,即使在類920和實例910的級別處,操作者也可能已經與圖形應用有用地交互。可以設計從數據集中選擇表示特定類內的對象的實例的所有數據的數據過濾器。由此, 操作者可以命令應用顯示或突出所有管道或所有電線,從而獲得有用的可視信息。只要特定類中的實例的數量不是非常大,應用就可以渲染它們而沒有不可接受的延遲。本發明一些實施方式通過定義角色將數據組織擴展至另一級別。角色930是可以由若干類920共享的特性的集合。可以注意到若干類920共享類似功能特徵。例如,在化學加工工廠的建造階段期間,鋼梁、混凝土墩和螺紋鋼對象類都服務定義明確的結構角色。 化學反應容器、管道、閥門以及真空和氣體系統都可以支持化學加工功能。每個角色或功能類型都具有相同的、與類無關的某些特性。例如,每個結構部件都支持由其它對象集合組成的結構。每個結構部件都必須支持特定條件下的特定重量等。相反,可以執行這些功能的任何對象(無論什麼類)都可以被視為結構部件並履行結構角色。由此,梁、墩和螺紋鋼皆實現結構角色,而容器、管道和閥門實現化學加工角色。類920可以實現若干角色930。化學容器類例如可以用於結構和化學角色。閥門類可以用於化學和安全角色。電線類可以用於配電、安全以及儀器角色等。相反,如已經示出的,相同的角色930可以由若干類來實現。如果應用針對特定類型的設計工程定製,則角色930到類920的分配可以由其編程者在應用內完成。或者,角色930到類920的分配可以在稍後時間由操作者來完成。通過定義角色而提供的抽象概念的級別還生成對與圖形應用交互的人類操作者有價值的信息。應用可以提供基於角色930的過濾器(如上所述),以及基於類920的過濾器。由此,利用角色過濾器,操作者可以引導應用顯示實現特定角色的所有對象實例910,例如所有結構元件。當被激活時,該過濾器選擇梁、墩以及螺紋鋼的所有實例。如下所述,操作者可以將其它對象類與該角色關聯。在一個實施方式中,一旦選擇了角色過濾器,應用就利用第二帶狀條顯示針對與該角色相關聯的類的第二級別過濾器。操作者接著可以選擇特定類過濾器,引導應用顯示該類的所有實例。這樣,操作者可以根據用於顯示的對象在設計內的功能角色或多個角色來排列這些對象,增加了應用的易用性。在某些情況下便利的是,將角色與類本身而不是與各個實例相關聯。通過這樣做, 本發明實施方式實現了附加效率。例如,當操作者將新實例添加至設計時,該實例(作為關聯類的成員)自動假定由其類實現的每個角色。更具體地說,當化學加工工廠設計者將鋼梁添加至工廠的設計時,該鋼梁自動實現結構部件的角色(和由所有鋼梁實現的任何其它角色),而不需要操作者方面的附加工作。由此,新的梁將出現在針對結構部件的搜索中,而不管其實例數據不包含有關該角色的信息的事實,並且不管操作者沒有明確指明該新的梁是結構性的事實。出現該結果是因為實例與其角色之間的連接(作為元數據)在普通資料庫搜索路徑之外存取。典型地講,這些元數據連接的數量比資料庫中數據元素的數量小得多。由此,針對元數據執行的搜索比單獨的純資料庫搜索典型地實現了速度和計算效率上的大幅增長。本發明一些實施方式利用由元數據搜索所提供的效率增長來定義本體940。本體向操作者提供定義有關對象實例910、對象類920以及對象角色930的有用信息的機制。這些含義專用於各個工程,所以圖形應用軟體開發者不一定知道它們。例如,化學加工工廠的設計可能根據所涉及的化學反應的詳細情況而不同。根據將在加工容器內進行反應的化學物質,在構造加工容器時可能需要不同材料。可能需要不同氣體、加熱以及冷卻系統等。本發明的各種實施方式允許操作者向本體490中的實例910、類920以及角色930賦予工程專用含義,由此按反映操作者的設計構思模型的方式針對設計的詳細情況定製通用圖形軟體應用。這樣,初始一般地配置的應用將隨著時間的推移而較佳地符合操作者自己的習性,並且對於操作者來說甚至可以達到「直觀」的感受。本體包括可以包括含義,例如具體化為標籤,操作者將其與一個或更多個實例 910、類920和角色930相關聯。類似地,任何給定實例910、類920或角色930都可以利用本體940中的任何數量的含義來標記。任何對象實例都可以具有許多種不同含義,並且任何含義都可以應用至許多種不同實例。這樣定義的關係由此是多對多的。類似地,類與本體之間、以及角色與本體之間的關係也是多對多的。一旦操作者已經定義了本體940,圖形應用就可以基於本體940中的分配的含義定義本體過濾器,該過濾器準許操作者搜索設計工程的實例數據及其元數據(即,其類和角色)。與屬性類過濾器和角色過濾器組合,本體過濾器允許應用呈現模擬操作者的設計工程的構思模型的直觀接口。例如,對於操作者來說,將特定對象類(例如,「熱提升裝置」)附近具有被標識為 「燃料管線」的管道標記為差選擇是重要的。根據本發明的實施方式,操作者可以關聯將管道標識為「燃料管線」的本體標籤,並且關聯另一標籤與已被標識為「熱提升裝置」的管道。 當然,「熱提升裝置」和「燃料管線」的3D坐標在判定物體是否處於確定包絡內方面較關鍵, 這可能對設計規則(例如禁止熱提升裝置處於燃料管線6英尺內)較關鍵。通過提供本體、接著創建本體過濾器並應用本體過濾器至各種實例、類以及角色, 操作者形成數據與具有有用應急特性的元數據之間的一組關係。例如,操作者可以選擇標識例如「熱源」的實例的本體過濾器。除了顯示熱源的列表以外,應用可以研究該列表並且確定大多數熱源實際上是反應容器(操作者定義的角色)。由此,除了熱源以外並且在不需要來自操作者的進一步輸入的情況下,應用可以顯示所有反應容器的列表(包括不是熱源的那些)。因為這些附加反應容器具有與所請求的實例滿足的角色大致交疊的角色,所以它們被包括在帶狀條或菜單中可以對於操作者來說是自然的,或者甚至預測操作者的下一個輸入。由此,本發明實施方式可以對於操作者顯現為好像其已經獲知操作者的設計工程構思模型、或獲知操作者的設計技術。至於類920和角色930,每個實例910都可以繼承與由其類實現的每個角色相關聯的本體含義。具體來說,實例可以繼承基於到它們的元數據而非到它們的圖形可視數據或它們的類數據的改變的含義。圖形應用可以利用本領域公知的用於在資料庫中查詢類、角色以及本體(即,元數據)的方法,確定針對任何特定操作者查詢的所有這種繼承關係。如剛才描述的本發明的圖形應用實施方式提供了一種用於將期望的3D對象從潛在的幾百萬的這種對象中分離出的極快速方法,如下所述。首先,應用接受基於建立的本體的輸入搜索查詢。因為操作者可以定義大量具體本體含義,並且可以用這些具體含義標記許多類(或者甚至是實例),所以與任何給定含義相關聯的數據元素(即,實例)的數量可能非常小。接著,可以執行針對所關聯的圖形數據的高度優化查詢。換句話說,應用將操作者查詢分為元數據查詢(其針對相對小的數據集操作)和優化數據查詢(其僅針對已經通過元數據查詢而預先選擇的小部分數據應用)。通過將查詢劃分成這兩個子查詢,可以極大地減少為響應輸入查詢所需的總體時間。具體實施如所述的本發明的電腦程式可以按多種狀態從程序產品製造商交付。 典型地講,對象的各個實例910由操作者定義。為提供用於開發複雜三維設計的有用平臺, 可以利用一組預定義的類920、角色930或兩者來製造電腦程式。例如,用於設計化學加工工廠的產品可以在其內包括類920,類920表示具有工業通用形狀的加工容器,操作者可以將其尺度配置成適合特定設計。類似地,已經預定義了表示結構組件的若干通用類,產品可以基於這些類全部實現的結構角色來預定義連結這些類的角色。操作者接著使用這些內建類和角色來實例化適合她的特定設計需要的對象,並且向這些對象分配含義。應用可以按幾種方式具體實施實例910、類920、角色930以及本體940。實例數據可以存儲在資料庫中,而類、角色以及本體元數據可以分離地存儲在資料庫中、另一數據中、可由操作者直接或通過應用接口編輯的文本文件中、或者在另一合適的位置。在一些實施方式中,可從圖形應用本身內直接編輯這些數據。針對這些實施方式的顯見變型是預期的。圖10示出了用於根據本體過濾器過濾數據集中的數據的處理的一個實施方式。 該處理的第一步驟1010形成用於與所定義的實例、類以及角色相關聯的本體。例如,本體可以包括將類與共享角色的另一類相聯繫的多個含義。其它含義可以使數據值屬於特定範圍(例如,加工工廠的特定層的所有水管)的實例相聯繫。另外的其它含義可以定義從特定集合選擇的數據(例如,全部紅色和藍色電線,而非綠色電線)。本發明的實施方式可以在本體中形成任何類型或數量的含義。在步驟1020中,圖形應用在視頻顯示器上顯示⑶I。該⑶I例如可以類似於圖2 的GUI。該應用被設置成利用GUI從操作者接收對本體中的含義的選擇。例如,含義的列表可以顯示為⑶I中輸入區234的一部分,或者顯示在下拉菜單中,或者利用其它合適輸入方
式顯不。在步驟1030中,該應用接收對特定含義的選擇。典型地,操作者將選擇表示含義的諸如圖標250的可視標記。操作者例如可以如上所述將標記從一個帶狀條拖放至另一帶狀條,或者雙擊該標記以指示選擇。在步驟1040中,該應用確定哪些實例(和/或類和角色)具有所選擇的含義。該確定可以利用本領域已知的任何方法來執行,包括搜索包含本體與實例、類以及角色之間的關聯(如圖9所示)的資料庫。在步驟1050中,該圖形應用顯示匹配所選擇的含義的對象實例。為進一步改進本體過濾的功能,在該處理的最後步驟1060中,該應用與相關對象不同地在視頻顯示器上顯示非相關對象。下面結合圖13A對幾種不同類型的顯示方法進行討論。應用可以或可以不顯示區別表示本體過濾器或屬性過濾器的特定可視標記的標記。由此,應用可以在統一且吸引人的視頻顯示器中同時顯示這兩種過濾器。另外,這兩類過濾器可以較佳地混合使用。例如,第一屬性過濾器可以選擇所有管道。在操作者選擇給定管道之後,第二本體過濾器可以利用操作者定義的「氧氣」標籤選擇運送氧氣的所有管道。這樣,操作者可以用簡單且快速的方式獲得大量詳細信息。如果選擇了若干種本體含義,則圖形應用可以根據所選擇的分類顯示其數據與本體中的其它數據有關的對象中的任意或全部。具體來說,操作者可以組合兩個本體過濾器, 以形成有用的複合過濾器。例如,操作者可以組合「氧氣」本體過濾器與「反應容器」過濾器,來選擇在它們的化學反應中使用氧氣的所有反應容器用於顯示。這樣,操作者還可以將圖形應用協調成他自己的構思模型。本領域普通技術人員可以理解落入本發明範圍內的屬性過濾器和本體過濾器的其它組合,以及用於應用它們的不同方法。用戶接口特徵本發明的一些實施方式提供了一種允許操作者方便地定位、操縱和應用過濾器的簡單的視頻顯示器。這準許操作者容易且快速地集中在特定3D對象上,並且簡化應用的使用。具體來說,拖放操作提供了一種用於將過濾器從一個帶狀條轉移至另一帶狀條的便利方法。一旦選擇了過濾器,圖形應用就可以向操作者呈現允許按獨特且易理解的方式顯示已經過濾的數據的用戶可定製顯示選項。而且,如果操作者希望同時應用多組過濾器,則本發明的各種實施方式允許操作者使用幾個視頻顯示器同時查看根據不同可視參數存在於同一 「虛擬」環境中的3D對象。圖11示出了用於根據本發明的拖放實施方式在圖形用戶接口中選擇數據過濾器的處理的一個實施方式。在該處理的第一步驟1110中,應用顯示具有與本體相對應或者與數據的特性相對應的多個可視標記的第一區域。第一區域充當尚未應用但可被應用的過濾器的保持區域。針對任何特定過濾器的屬性可以是顏色、位置、分類、建築材料或任何其它屬性。第一區域可以是帶狀條,或某一其它輸入區域。在步驟1120中,應用在視頻顯示器上顯示第二區域。第二區域充當已應用的過濾器的保持區域。如上結合圖2所述的,操作者可以通過將過濾器移動至第二區域來選擇過濾器以應用。此外,第二區域可以是任何種類的輸入區域,包括帶狀條。在步驟1130中,應用接收在區域之間已發生拖放操作的通知。例如,操作者可能已經將可視標記從第一區域拖動並將其放在第二區域中,反之亦然。在任何情況下,當應用接收到拖放操作的通知時,其可以推斷所應用過濾器的列表的組成已經改變,因此視頻顯示器可能包括不正確的數據。因而,響應於可視標記被拖放,應用在包含活動過濾器的標記的第二區域中顯示具有與可視標記相對應的含義的數據。步驟1130可以按三個部分來完成,儘管本發明的實施方式不需要局限於該示例性實現。第一,應用確定哪些過濾器對應於第二區域中的可視標記。第二,應用將這些過濾器應用至底層數據集,並且根據用於合併過濾器分別選擇的數據子集的規則來形成數據的顯示子集,如結合圖7A和7B所討論的。第三,應用渲染可視地表示顯示子集中的數據的3D 對象並在一個或更多個視頻顯示器上顯示這些3D對象。圖12A和12B以繪圖方式表示了拖放操作期間的示例圖形用戶接口。具體來說,圖12A示出了拖動操作中的視頻顯示器。帶狀條1210包含用於過濾器的幾個可視標記 1220、1222、1223、1224,其分別被加標籤「Piping Components」、「Drawing Feature,,、 "Hangers&SupportsStructure而且,帶狀條1210示出在標記1220左側的左脫字符, 其可以由操作者選擇以顯示附加過濾器。操作者已經選擇了「Structure」可視標記,並且正在將其拖動至左側。如可以在畫面拍攝中看出的,「 Structure 」可視標記已經被拖動兩次,一次在第二帶狀條中作為標記1224,而一次作為標記1230,其在畫面上的指點裝置(即, 滑鼠光標)的可視位置處採用較淺顏色。另外,萬一操作者執行放下操作,帶狀條1210包含表示列表中的所拖動可視標記的位置的黃色垂直光標1240。應注意,在拖動操作期間, 「Mructure」過濾器沒有應用至所顯示的3D對象。相反,僅應用了 「Electrical」過濾器, 如通過按與該過濾器的標記相關聯的獨特顏色顯示的特定組件所示出的。圖12B示出了在操作者將所拖動的可視標記1230放在光標1240的位置處之後的視頻顯示器。⑶I現在按不同次序示出第二帶狀條中的同一組可視標記,並且「Mructure」 標記1230現在處於第二位置而非第四位置。"Piping Components」標記1220沒有移動,而 "Drawing Feature」 和 「Hangers&Supports」 標記 1222、1223 已經移動至右側,佔用了不再可見的「Structure」標記12M剩下的空間。儘管圖12A、12B示出了操作者在單個帶狀條內組織可視標記的效果,但本發明各種實施方式允許操作者將可視標記從一個帶狀條拖動並在另一帶狀條中放下。操作者可以使用各種特徵來組織單個帶狀條內的可視標記。例如,操作者可能頻繁使用特定過濾器,並且期望將針對該過濾器的可視標記放置在帶狀條的顯示區域的開頭處。可以利用拖放操作來實現這種期望。或者,操作者可能希望將自動排序標準應用至過濾器,如按使用頻率排序。這種排序標準引導應用自動排序可視標記,而不需要進一步的操作者幹涉。操作者可以利用圖形應用的功能(如下拉菜單中的選項),通過選擇視頻顯示器上的圖標、通過編輯對話框或文本文件中的腳本、或者通過本領域已知的其它方式來配置排序標準。圖13A示出了用於根據用戶可定製顯示選擇在視頻顯示器上顯示所過濾數據的處理的一個實施方式。在該處理的第一步驟1310中,應用接收對數據過濾器操作者選擇, 並且將該數據過濾器應用至數據集以獲得數據子集,如以上詳細描述的。在下一個步驟1320中,應用顯示與數據過濾器有關的多個顯示選項。例如,一顯示選項可以包括顏色的選擇以在數據顯示期間應用至由過濾器選擇的數據。應用可以在帶狀條內的表示所選擇過濾器的可視標記中使用相同顏色,以向操作者提供可視參考。另一顯示選項可以是是否顯示未被給定數據過濾器選擇的數據。另一顯示選項可以是是否按中性色顯示未過濾數據。另一顯示選項可以是是否利用半透明度顯示未過濾數據。這些顯示選項不需要互斥,例如,如果未過濾數據被選擇以顯示,則應用可以按中性色並且以半透明度兩者來顯示該數據。本領域普通技術人員可以設想落入本發明範圍內的許多其它顯示選項。在步驟1330中,應用利用由操作者從多個顯示選項中選擇的顯示選項,來顯示與通過數據過濾器選擇的數據子集相對應的3D對象。由此,如果操作者選擇隱藏未過濾數據,則應用僅顯示由當前應用的過濾器選擇的數據。圖13B示出了這種顯示的示例。在該示例性圖中,「視圖選項」框可視,並且已經選擇了「顏色」視圖選項。由此,根據剛才描述的處理,按顏色顯示3D模型數據的特定集合。在圖13B中,這些數用虛線(表示白色)顯示, 而未選擇數據用中性灰線框顯示。例如可以利用如圖13C所示的接口來選擇其它顏色。在這個圖中,顯示了被加標籤「設備-過濾器選項」的框,以允許操作者選擇與顯示上的「設備」過濾器標記和3D對象相關聯的顏色和透明度。本領域已知的色輪或色空間在大框中顯示,並且圓形光標(主框
24右上側所示)指示操作者已經選擇了哪種顏色。在右側的較小矩形中正常顯示如彩虹般的顏色。點擊彩虹中的顏色改變彩色方塊中所示的主色。右側示出選擇的紅色、綠色、藍色以及alpha(RGBA)顏色分量。在圖13C中,所選擇的顏色是完全不透明的紅色,如RGBA分量 (255,0,0,255)所指示的。在這些下面,示出了 16個色卡。典型地,這些表示最近選擇的顏色。在主色方塊下面是兩個底部框。左側底部框示出針對該過濾器的先前選擇的顏色,而右側底部框示出當前選擇的顏色。返回至圖13A,在步驟1340中,操作者例如可以通過利用指點裝置在所顯示的3D 過濾器或對象上點擊來對其選擇或突出,以使能進一步處理。在另一步驟中,應用響應於操作者選擇而高亮所顯示對象中的一個或更多個。在一個實施方式中,該處理繼續至步驟 1350。在這個實施方式中,當操作者選擇過濾器時,應用按用戶可選顏色顯示與該選擇過濾器相對應的每個對象。該功能類似於結合圖6B和6C描述的功能,儘管按不同方式實現。具體地說,在圖6的實施方式中,應用顯示與活動過濾器相對應的3D對象,按與特定過濾器相對應的顏色顯示每個對象。在本實施方式中,應用使用活動過濾器來選擇用於按中性色顯示的對象,並且僅在操作者第二次選擇單個活動過濾器之後,其對應的對象才按與該過濾器相對應的用戶可選顏色顯示。在本發明另一實施方式中,處理繼續至另選步驟1352。在這個實施方式中,操作者利用指點裝置選擇3D對象,並且在不同視頻顯示器之間針對該對象執行拖放操作。該實施方式允許操作者同時在單個虛擬環境的不同地點工作。例如,一個地點可以是暫存區 (staging area),其中操作者在將3D對象拖動至第二地點中的位置之前對該3D對象的特性進行創建、空間上確定取向並調整。圖14示出了用於同時在幾個視頻顯示器上顯示來自單個數據集的過濾數據的處理的一個實施方式。在該處理的第一步驟1410中,圖形應用從操作者接收對過濾標準的第一選擇,並且在第二步驟1420中,應用在第一視頻顯示器上顯示與該過濾標準相對應的3D 對象數據。這些步驟1410、1420可以根據圖6A所示的處理完成。在步驟1430中,應用接收對過濾標準的第二選擇,並且在步驟1440中,應用在第二視頻顯示器上顯示與這些第二標準相對應的3D對象數據。此外,這些步驟1430、1440可以在圖6A所示處理之後完成。然而,應當明白,根據該處理,儘管3D對象數據顯示在多個視頻顯示器上,但應用將對過濾標準的每個選擇應用至同一數據集。由此,所顯示的3D對象可以被視為存在於在兩個或更多個視頻顯示器上實現的同一虛擬環境中。而且,第一選擇和第二選擇可以由單個操作者作出,或者由可能工作在單個工作站或多個工作站處的不同操作者作出。在該實施方式的示例性使用中,例如,可以在一個視頻顯示器上顯示工業工廠中的全部管道,並且可以在第二視頻顯示器上顯示同一工廠中的全部電線。圖形應用可以被設置成,利用同一線性標度和稍微不同的角度在多個顯示器上顯示3D對象。如果這樣,則操作者可以通過將兩個視頻顯示器處理為立體圖來觀看工廠的三維立體圖像。因為應用可以被設置成按不同顏色示出不同數據,所以可以使用兩個視頻顯示器創建用於與彩色3D眼鏡一起使用的互補色(anaglyphic)圖像。如果視頻顯示器發射偏振光,則偏振3D眼鏡可以被用於實現相同效果。應用還可以針對任何數量的視頻顯示器上的各種線性標度來設置。例如,一個視頻顯示器可以示出3D模型的總體視圖,而第二視頻顯示器示出虛擬環境的特定關注區域的特寫視圖。這種布置允許操作者一次一個區域地設計詳細、複雜的3D對象,同時仍保持美感或全部設計工程的設計參數。在一相關實施方式中,圖14的處理進行至步驟1450,其中操作者選擇一個視頻顯示器上的3D對象,並且應用高亮另一視頻顯示器上的對應3D對象。在這個實施方式中,操作者可以選擇詳細顯示器上的詳細區域的特定組件,並且在總覽顯示器上查看突出的、其在虛擬環境中的位置,由此向操作者提供組件怎樣適配到總體設計工程中的感覺。或者,全局設計操作者可以選擇一個顯示器上的、在組件操作者的顯示器上變得突出的特定組件, 作為組件操作者應當更新組件的指示。在另一相關實施方式中,圖14的處理進行至另選步驟1452。在這個步驟中,在操作者選擇示出在一個視頻顯示器上的對象並且改變其特性之後,應用在另一視頻顯示器上顯示對應變化。例如,如果操作者將3D對象從一個視頻顯示器上的一個位置拖動至另一位置,則應用使另一視頻顯示器示出對象的新位置(假如該對象的新位置處於另一顯示器的當前視錐(viewing frustum)內)。或者,如果操作者利用顯示在一個視頻顯示器上的⑶I 的部分來改變特定對象的顏色,則該應用利用新顏色在另一視頻顯示器上顯示該對象。利用空間邊界的本體過濾除了上述示例性實施方式以外,圖形應用中的本體可以按其它方式使用。例如,應用中由數據表示的每個3D對象都可以包含幾何或拓撲屬性,包括長度、寬度、高度以及邊界框。一旦操作者利用上述本體過濾技術定位了所關注的特定對象,就可以執行有關該對象的幾何數據的各種查詢。例如,如果在圖形用戶接口中選擇了包含揮發性化學物質的圓桶,則操作者可能希望獲知該圓桶距任何潛在點火源有多遠。根據本發明一些實施方式,圖形應用可以執行本體查詢以確定所有點火源,並且計算這些源與所選擇的圓桶之間的距離。該計算的結果可以顯示在圖形應用的結果框中,或者可以在視頻顯示器上以圖形方式突出一組最近的這種源。更一般地,本發明各種實施方式準許操作者執行組合了本體過濾器和幾何關係兩者的特徵的複合查詢。先前段落的示例性查詢是一對多查詢對於特定圓桶來說,定位了許多潛在點火源。本發明的實施方式不需要這樣受限。還可以形成多對多查詢。由此,操作者可以引導圖形應用示出在點火源的某一距離(例如,兩米)內的包含揮發性化學物質的所有圓桶。由於不同化學物質具有不同點火溫度,因而這些距離可以根據操作者所關注的化學物質的類型而變化。事實上,這僅僅是可以根據本發明實施方式執行的查詢類型的一個示例。因而其它查詢可以包括「該儀錶板的頂部距天花板多遠? 」、「最接近該反應容器的氧氣關閉閥在哪兒? 」、「從控制中心至危險操作區多遠? 」等。本領域普通技術人員可以看到如何形成利用幾何關係將具有本體含義的對象連接至其它這種對象的任何數量的查詢。 本發明的實施方式允許這種人在圖形應用中執行這些查詢。圖15是示出本發明的計算機化實施方式中的、用於選擇表示用於在視頻顯示器上顯示的三維對象的數據的步驟的流程圖。在步驟1510中,一個或更多個個體向表示三維對象的一組數據中的每個數據分配含義。如下結合圖9和10所述的,這些含義形成可以被用於對設計工程中的對象實例、類以及角色進行描述和建模的本體。接下來,在步驟1520 中,計算機處理執行查詢,以確定數據集的兩個子集的交集。兩個子集中的每個子集都與本
26體含義有關。由此,例如,第一含義可以是「熱提升裝置」,而第二含義可以是「燃料管線」,並且兩個數據子集分別表示所有熱提升裝置和所有燃料管線。而且,在步驟1520中,這兩個子集在計算機處理中相交,形成第三子集。該第三子集的成員包括第一子集中的、與與第二子集中的至少一個數據滿足給定幾何關係的數據。幾何關係例如可以是距離關係,如「2米內」。在這種情況下,如果第一子集是所有「熱提升裝置」的集合,而第二子集是所有「燃料管線」,則第三子集是處於距至少一個燃料管線2米內的所有熱提升裝置的集合。可以定義其它幾何關係,例如,「之上」或「之下」;「更大」或「更小」;「相對傾斜」;「接近」或「遠離」; 或者任何其它幾何關係。該列表僅是示例性的,技術人員可以了解可以使用的許多其它幾何關係。最後,在步驟1530中,第三(相交)子集顯示在視頻顯示器上,利用圖形突出以區別該子集與其它可視數據。這種圖形突出可以包括使未選擇數據的亮度變暗等,因而第三子集顯得比其餘顯示數據更亮。可以使用用於突出可視數據的任何方法。圖16A和16B示出了執行圖15的示例性方法實施方式的效果的示例。圖16A是表示三維對象的數據集的顯示(為清楚起見,未示出輸入帶狀條)。如可以看出的,三維對象主要是位於建築物內的管道。操作者可以針對該顯示中表示的對象執行查詢,例如確定距燃料管線2米內的任何熱源。圖16B示出了該查詢的結果,其中,該3D對象的未被該查詢選擇的部分(即,不是距燃料管線兩米內的熱源)變為灰色。熱源本身利用紅色邊界框示出,幫助操作者發現燃料管線和熱源。作為執行該查詢的結果,操作者可以判定該建築物中的管道的布置存在問題,並且在該建築物實際建造之前在圖形應用中採取措施來糾正設計。本發明的實施方式可以使用任何種類的視頻顯示器,包括僅顯示二維對象(如藍圖)的視頻顯示器。根據二維實施方式,操作者例如通過圖15所示的處理執行複合查詢。 匹配該查詢的對象實例的列表具有3D邊界框,其可以利用本領域已知的方法(如丟棄三個坐標中的一個坐標)映射到二維。在一典型實施方式(如藍圖)中,可以存在幾個視圖,並且被丟棄的坐標可以取決於視圖。對於僅需要χ和y坐標的平面圖來說,丟棄ζ坐標。對於立視圖來說,丟棄χ或y坐標。更具體地說,匹配特定本體查詢和幾何查詢的對象實例可以具有由具有坐標(1, 2,3)和(10,20,30)的相對角限定的三維邊界框。在平面圖中,丟棄ζ坐標,並且用於顯示的二維邊界框由點(1,2)和(10,20)限定。然而,在正視圖中,丟棄χ坐標導致得到由0, 3)和O0,30)限定的邊界框,而在側視圖中,丟棄y坐標導致得到由(1,3)和(10,30)限定的邊界框。然後利用本領域已知的技術在相應二維顯示上覆蓋特定邊界框是相對直接的事情。所得的二維顯示可以在該圖形應用中示出,或者其可以在另一應用中示出。例如, 建築工程師可以具有作為建築地點處的設計藍圖的電子拷貝,作為PDF文件。工程師可以從雷射掃描接收表示正在建造的建築物的建築數據。根據本發明一實施方式,工程師利用合適的軟體包執行針對該數據的查詢。接著,使用該結果來生成示出查詢結果的第二 PDF 文件,作為針對原始藍圖的覆蓋。按這種方式,可以平滑且高效地確定設計與建築工程之間的差別。例如可以較佳地用可攜式電子裝置(諸如膝上型或觸控螢幕計算機)使用這種二維顯示,準許(例如)安全檢查員利用兩組藍圖來執行現場檢查。執行複合本體查詢和幾何查詢的能力可以在建築工程的整個生命周期中具有巨大價值。在操作者使用圖形應用來布置工程的所有物理組件的初始設計階段期間,可以檢測並且糾正該設計的問題(如熱源距揮發性化學物質太近)。如上所述,現場生產工程師可以在建築階段比較工程的建築規格與設計計劃。在移交調試期間,標準合規工程師可以利用適於尋求合規的特定標準的本體來查詢數據。由此,可以執行有關操作者任意選擇的任何事物的本體查詢。一旦業主操作者已經假定控制設施,並且在設施檢查期間,可以執行本體查詢,以幫助員工安全培訓。如果意外發生,則應急第一響應者可以針對藍圖數據執行本體查詢,以確定例如最近的給水幹管位於哪裡。本領域普通技術人員可以意識到可以使用本發明實施方式的其它方式,包括用於縮減建築工程成本的各種方式。本發明可以按許多不同形式來具體實施,包括但決不限於用於與處理器(例如, 微處理器、微控制器、數位訊號處理器或通用計算機)一起使用的電腦程式邏輯,用於與可編程邏輯器件(例如,現場可編程門陣列(FPGA)或其它PLD) —起使用的可編程邏輯,離散組件,集成電路(例如,專用集成電路(ASIC)),或者包括其任何組合的任何其它裝置。在本發明典型實施方式中,所述邏輯中的一些或全部被實現為轉換成計算機可執行形式的電腦程式指令集,其本身被存儲在計算機可讀介質中,並且在作業系統的控制下在計算機內通過微處理器來執行。實現先前在此描述的全部或部分功能的電腦程式邏輯可以按各種形式來具體實施,包括但決不限於原始碼形式、計算機可執行形式、以及各種中間形式(例如,由彙編器、編譯器、連結器或定位器生成的形式)。原始碼可以包括採用用於與各種作業系統或操作環境一起使用的各種程式語言(例如,對象代碼、彙編語言或諸如Fortran、C、C++、JAVA 或HTML的高級語言)中的任一種實現的一系列電腦程式指令。該原始碼可以定義和使用各種數據結構和通信消息。該原始碼可以採用計算機可執行形式(例如,經由解釋器),或者該原始碼可以轉換成(例如,經由翻譯器、彙編器或編譯器)計算機可執行形式。該電腦程式可以採用任何形式(例如,原始碼形式、計算機可執行形式或中間形式)永久性地或者暫時性地固定在有形存儲介質中,如半導體存儲器裝置(例如,RAM、R0M、PR0M、EEPR0M或快閃可編程RAM),磁存儲器裝置(例如,磁碟或固定盤),光學存儲器裝置(例如,CD-ROM), PC卡(例如,PCMIA卡),或其它存儲器裝置。該電腦程式可以按任何形式分布為具有附隨列印或電子文檔(例如,收縮包裝軟體)的可移除存儲介質,預加載有計算機系統(例如,在系統ROM或固定盤上),或者通過通信系統(例如,網際網路或全球資訊網)從伺服器或電子公告板分布。實現先前在此描述的全部或部分功能的硬體邏輯(包括用於與可編程邏輯器件一起使用的可編程邏輯)可以利用傳統手工方法來設計,或者可以利用各種工具(如計算機輔助設計(CAD)、硬體描述語言(例如,VHDL或AHDL)、或PLD程式語言(例如,PALASM、 ABEL或CUPL))電子地設計、捕捉、仿真或文檔化。可編程邏輯可以永久性地或者暫時性地固定在有形存儲介質中,如半導體存儲器裝置(例如,RAM、R0M、PR0M、EEPR0M或快閃可編程 RAM),磁存儲器裝置(例如,磁碟或固定盤),光學存儲器裝置(例如,CD-ROM),或其它存儲器裝置。可編程邏輯可以分布為具有附隨列印或電子文檔(例如,收縮包裝軟體)的可移除存儲介質,預加載有計算機系統(例如,在系統ROM或固定盤上),或者通過通信系統(例如,網際網路或全球資訊網)從伺服器或電子公告板分布。上述本發明的實施方式僅僅是示例性的。雖然已經示出並描述了本發明實施方式的基本新穎且非顯而易見的特徵,但應當明白,在不脫離本發明的精神的情況下,本領域技術人員可以在所例示的方法和裝置的形式和細節方面並且在它們的操作方面進行各種省略、改變以及替換。所有這種變型和修改都意圖處於如任何所附權利要求中限定的本發明的範圍內。
權利要求
1.一種在視頻顯示器上顯示3D模型數據的方法,所述數據屬於一數據集,所述數據集中的每個數據都具有一個或更多個屬性,該方法包括以下步驟定義多個數據過濾器和多個過濾級別,每個數據過濾器都具有一過濾級別、並且能夠根據至少一個屬性的函數來過濾所述數據集中的所述數據;以及響應於接收到對所述數據過濾器中的至少兩個數據過濾器的第一選擇,確定所述數據集中的3D模型數據的一子集,用於顯示在所述視頻顯示器上,所述子集由第一選擇的數據過濾器來限定。
2.根據權利要求1所述的方法,所述方法還包括以下步驟在所述視頻顯示器上顯示 3D模型數據的所述子集。
3.根據權利要求1所述的方法,其中,所定義的多個數據過濾器包括以下之一數據過濾器的層次樹和多個本體數據過濾器。
4.根據權利要求1所述的方法,其中,第一選擇的數據過濾器僅包括具有相同過濾級別的數據過濾器。
5.根據權利要求1所述的方法,其中,第一選擇的數據過濾器包括具有不同過濾級別的數據過濾器。
6.根據權利要求1所述的方法,其中,所顯示的數據的子集被限定為由所選擇的多個數據過濾器中的每個數據過濾器中的至少一個屬性限定的數據的子集的交集。
7.根據權利要求1所述的方法,其中,所顯示的數據的子集被限定為由所選擇的多個數據過濾器中的每個數據過濾器中的至少一個屬性限定的數據的子集的併集。
8.根據權利要求7所述的方法,其中,由給定數據過濾器中的所述至少一個屬性限定的數據按與所述給定數據過濾器唯一地相關聯的顏色顯示。
9.根據權利要求1所述的方法,所述方法還包括以下步驟響應於接收到對具有第一級別的第一選擇的數據過濾器的第二選擇,在所述視頻顯示器上指示與第二選擇的數據過濾器相關聯的多個數據過濾器,每個所指示的數據過濾器都具有第二級別,該第二級別是與每個其它所指示的數據過濾器相同的級別、但與所述第一級別不同;以及響應於接收到對所指示的數據過濾器的選擇,使在所述視頻顯示器上顯示所述數據集中的3D模型數據的第二子集,所述第二子集由所選擇的所指示的數據過濾器來限定。
10.根據權利要求9所述的方法,其中,3D模型數據的所述第二子集還由多個第一選擇的數據過濾器中除第二選擇的數據過濾器之外的數據過濾器限定。
11.根據權利要求9所述的方法,其中,顯示所述第二子集的步驟包括按用戶可選顏色顯示所述第二子集的數據。
12.根據權利要求9所述的方法,其中,顯示所述第二子集的步驟包括顯示所述第二子集的數據的分解圖、截面圖或放大圖。
13.—種通過圖形應用在視頻顯示器上顯示來自數據集的3D模型數據的方法,該方法包括以下步驟在所述圖形應用中形成定義多個含義的本體,每個含義都由所述圖形應用的終端用戶來定義;將所述本體中的一個或更多個含義與所述數據集中的至少一個數據相關聯;在所述視頻顯示器上顯示能夠接收對所述本體中的含義的選擇的圖形用戶接口 ;以及響應於接收到這種選擇,確定來自所述數據集的第一 3D模型數據,用於顯示在所述視頻顯示器上,所述第一 3D模型數據中的每個數據都與所選擇的含義相關聯。
14.根據權利要求13所述的方法,所述方法還包括以下步驟在所述視頻顯示器上顯示所述第一 3D模型數據。
15.根據權利要求13所述的方法,其中,所述選擇包括多個含義,所述方法還包括以下步驟顯示所述數據集中的、與所選擇的含義中的至少一個含義相關聯的數據。
16.根據權利要求13所述的方法,其中,顯示所述第一數據的步驟包括按用戶可選顏色顯示所述第一數據。
17.根據權利要求13所述的方法,所述方法還包括以下步驟顯示第二3D模型數據, 這些第二 3D模型數據都不與所選擇的含義相關聯,其中,在所述視頻顯示器上顯示數據的步驟包括與所述第二數據不同地顯示所述第一數據。
18.—種通過圖形應用在視頻顯示器上顯示來自數據集的3D模型數據的方法,該方法包括以下步驟在所述視頻顯示器上顯示具有多個可視標記的第一顯示區域,每個可視標記都與一屬性相關聯;在所述視頻顯示器上顯示第二顯示區域,每個可視標記都能夠在所述第一顯示區域與所述第二顯示區域之間被拖放;以及響應於可視標記在所述第一顯示區域與所述第二顯示區域之間被拖放,選擇所述數據集中的、具有與顯示在所述第二顯示區域中的至少一個可視標記相關聯的屬性的3D模型數據,用於顯示在所述視頻顯示器上。
19.根據權利要求18所述的方法,其中,可視標記被從所述第一顯示區域拖放至所述第二顯示區域。
20.根據權利要求18所述的方法,其中,可視標記被從所述第二顯示區域拖放至所述第一顯示區域。
21.根據權利要求18所述的方法,其中,每個可視標記都具有用戶可選顯示顏色。
22.根據權利要求18所述的方法,其中,所述數據集中的每個數據都表示3D模型對象的多個類中的一類的實例,並且其中,所述可視標記中的至少一個可視標記與能夠選擇所述數據集中的具有所述多個類中的特定類的數據的數據過濾器相關聯。
23.根據權利要求18所述的方法,其中,所述數據集中的每個數據都表示3D模型對象的多個類中的一類的實例,所述多個類中的每個類都實現多個功能角色中的至少一個功能角色,並且其中,所述可視標記中的至少一個可視標記與能夠選擇所述數據集中的具有所述多個功能角色中的特定角色的數據的數據過濾器相關聯。
24.根據權利要求18所述的方法,其中,所述數據集中的每個數據都表示3D模型對象的多個類中的一類的實例,所述多個類中的每個類都實現多個功能角色中的至少一個功能角色,所述多個功能角色中的每個功能角色都具有多個屬性中的至少一個屬性,並且其中, 所述可視標記中的至少一個可視標記與能夠選擇所述數據集中的具有所述多個屬性中的特定屬性的數據的數據過濾器相關聯。
25.根據權利要求18所述的方法,所述方法還包括以下步驟響應於所述可視標記在所述第一顯示區域與所述第二顯示區域之間被拖放,組織顯示在所述第二顯示區域中的所述可視標記。
26.根據權利要求25所述的方法,其中,組織步驟包括根據所述可視標記出現在所述第二顯示區域中的頻率來組織。
27.根據權利要求25所述的方法,其中,組織步驟包括根據能夠由用戶選擇的排序標準來組織。
28.根據權利要求18所述的方法,所述方法還包括以下步驟在所述視頻顯示器上顯示所選擇的數據。
29.根據權利要求觀所述的方法,所述方法還包括以下步驟在所述視頻顯示器上顯示所述數據集中的未被選擇的數據,其中,顯示所選擇的數據的步驟包括根據在視覺上將所選擇的數據與未被選擇的數據相區分的顯示模式來顯示所選擇的數據。
30.根據權利要求四所述的方法,其中,每個可視標記都具有用戶可選顏色,並且根據所述顯示模式,與每個可視標記的屬性相關聯的數據按該可視標記的顏色來顯示。
31.一種電腦程式產品,該電腦程式產品供在計算機系統上使用,用於在視頻顯示器上顯示3D模型數據,所述數據屬於一數據集,所述數據集中的每個數據都具有一個或更多個屬性,所述電腦程式產品包括其上具有計算機可讀程序代碼的有形計算機可用介質,所述計算機可讀程序代碼包括用於定義多個數據過濾器和多個過濾級別的程序代碼,每個數據過濾器都具有一過濾級別,並且能夠根據至少一個屬性的函數來過濾所述數據集中的所述數據;用於接收對多個數據過濾器的第一選擇的程序代碼;以及用於響應於接收到所述第一選擇而使在所述視頻顯示器上顯示所述數據集中的3D模型數據的一子集的程序代碼,所述子集是由第一選擇的數據過濾器限定的。
32.根據權利要求31所述的電腦程式產品,其中,所定義的多個數據過濾器包括一組數據過濾器、數據過濾器的層次樹、或多個本體數據過濾器。
33.根據權利要求31所述的電腦程式產品,其中,第一選擇的數據過濾器僅包括具有相同過濾級別的數據過濾器。
34.根據權利要求31所述的電腦程式產品,其中,第一選擇的數據過濾器包括具有不同過濾級別的數據過濾器。
35.根據權利要求31所述的電腦程式產品,其中,所顯示的數據的子集被限定為由所選擇的多個數據過濾器中的每個數據過濾器中的至少一個屬性限定的數據的子集的邏輯交集。
36.根據權利要求31所述的電腦程式產品,其中,所顯示的數據的子集被限定為由所選擇的多個數據過濾器中的每個數據過濾器中的至少一個屬性限定的數據的子集的邏輯併集。
37.根據權利要求36所述的電腦程式產品,其中,由給定數據過濾器中的所述至少一個屬性限定的數據按與所述給定數據過濾器唯一地關聯的用戶可選顏色顯不。
38.根據權利要求31所述的電腦程式產品,所述計算機可讀程序代碼還包括用於接收對具有第一級別的第一選擇的數據過濾器的第二選擇的程序代碼; 用於響應於接收到所述第二選擇、在所述視頻顯示器上指示與第二選擇的數據過濾器相關聯的多個數據過濾器的程序代碼,每個所指示的數據過濾器都具有第二級別,該第二級別是與每個其它所指示的數據過濾器相同的級別、但與第一級別不同; 用於接收對所指示的數據過濾器的選擇的程序代碼;以及用於響應於接收到對所指示的數據過濾器的選擇、在所述視頻顯示器上顯示所述數據集中的3D模型數據的第二子集的程序代碼,所述第二子集由所選擇的所指示的數據過濾器來限定。
39.根據權利要求38所述的電腦程式產品,其中,3D模型數據的所述第二子集還由多個第一選擇的數據過濾器中除第二選擇的數據過濾器之外的數據過濾器限定。
40.根據權利要求38所述的電腦程式產品,其中,顯示所述第二子集的步驟包括按用戶可選顏色顯示所述第二子集的數據。
41.根據權利要求38所述的電腦程式產品,其中,顯示所述第二子集的步驟包括顯示所述第二子集的數據的分解圖、截面圖或放大圖。
42.一種用於在視頻顯示器上顯示來自數據集的3D模型數據的電腦程式產品,所述電腦程式產品包括其上具有計算機可讀程序代碼的有形介質,所述計算機可讀程序代碼包括用於在圖形應用中形成定義多個含義的本體的程序代碼,每個含義都由所述圖形應用的終端用戶來定義;用於將所述本體中的一個或更多個含義與所述數據集中的至少一個數據相關聯的程序代碼;用於在所述視頻顯示器上顯示能夠接收對所述本體中的含義的選擇的圖形用戶接口的程序代碼;以及用於響應於接收到這種選擇、使在所述視頻顯示器上顯示來自所述數據集的第一 3D 模型數據的程序代碼,所述第一 3D模型數據中的每個數據都與所選擇的含義相關聯。
43.根據權利要求42所述的電腦程式產品,其中,所述選擇包括多個含義,所述計算機可讀程序代碼還包括用於顯示所述數據集中的、與所選擇的含義中的至少一個含義相關聯的數據的程序代碼。
44.根據權利要求42所述的電腦程式產品,其中,顯示所述第一數據的步驟包括按用戶可選顏色顯示所述第一數據。
45.根據權利要求42所述的電腦程式產品,所述計算機可讀程序代碼還包括 用於顯示第二 3D模型數據的程序代碼,這些第二 3D模型數據是多個類中的、其角色均不具有所選擇的含義的類的實例,其中,在所述視頻顯示器上顯示所述數據的步驟包括與所述第二數據不同地顯示所述第一數據。
46.一種用於在圖形顯示裝置上顯示三維對象的表述的裝置,該裝置包括被設置成存儲對所述三維對象進行建模的數據的數據集的資料庫,所述數據集中的至少一個數據具有一個或更多個本體含義;被設置成存儲多個數據過濾器的存儲裝置,每個數據過濾器都與所述多個本體含義中的至少一個本體含義相關聯;耦接至所述資料庫和所述存儲裝置的過濾處理器,該過濾處理器被設置成,接收對所述多個數據過濾器中的至少一個數據過濾器的選擇,並且根據與所選擇的數據過濾器相關聯的含義過濾所述數據集中的所述數據,以產生顯示數據集;以及耦接至所述圖形顯示裝置和所述過濾處理器的顯示處理器,該顯示處理器被設置成, 從所述過濾處理器接收所述顯示數據集,並且使所述圖形顯示裝置顯示所述顯示數據集。
47.根據權利要求46所述的裝置,其中,所述存儲裝置還被設置成存儲多個本體過濾器,每個本體過濾器都與存儲在所述資料庫中的所述數據中的一個或更多個相關聯,並且其中,所述過濾處理器還被設置成,根據與所選擇的本體過濾器相關聯的一個或更多個數據來過濾所述數據集中的所述數據,以產生所述顯示數據集。
48.根據權利要求46所述的裝置,其中,所述過濾處理器還被設置成,響應於拖放事件來接收所述選擇。
49.根據權利要求46所述的裝置,其中,所述顯示處理器還被設置成,根據可交互式配置數據顯示選項來顯示所述顯示數據集。
50.根據權利要求49所述的裝置,其中,所述數據顯示選項是顏色選擇、顯示或隱藏選擇、突出選擇、或多個選擇的組合。
51.根據權利要求46所述的裝置,所述裝置還包括 第二圖形顯示裝置;以及第二顯示處理器,該第二顯示處理器耦接至所述第二圖形顯示裝置和所述過濾處理器,所述第二顯示處理器被設置成,從所述過濾處理器接收第二顯示數據集,並且利用所述第二圖形顯示裝置來顯示所述第二顯示數據集。
52.根據權利要求51所述的裝置,其中,所述過濾處理器還被設置成,改變一個顯示數據集,以反映另一顯示數據集中的變化,並且其中,所述第一顯示處理器和所述第二顯示處理器被設置成,基本上同時顯示所改變的兩個顯示數據集。
53.根據權利要求46所述的裝置,其中,所述過濾處理器還被設置成,根據幾何關係來過濾所述數據集中的所述數據。
54.一種在視頻顯示器上顯示從數據集中選擇的數據的子集的方法,該數據集中的每個數據都表示三維對象,該方法包括以下步驟向所述數據集中的至少一個數據分配至少一個含義,所有分配的含義的集合形成本體;在計算機處理中a)確定所述數據集的第一子集,所述第一子集中的每個數據都具有所述本體中的給定第一含義,b)確定所述數據集的第二子集,所述第二子集中的每個數據都具有所述本體中的給定第二含義,以及c)形成所述數據集的第三子集,所述第三子集包括所述第一子集中的、滿足與所述第二子集中的至少一個數據的給定幾何關係的每個數據;以及向所述視頻顯示器轉發一信號,以使所述視頻顯示器以圖形方式突出由所述第三子集表示的所述三維對象。
55.根據權利要求M所述的方法,所述方法還包括以下步驟按圖形突出方式顯示由所述第三子集表示的所述三維對象。
56.根據權利要求M所述的方法,其中,所述數據集表示在建築物或艦艇的設計、建造、檢查、批准或運作中使用的三維對象。
57.根據權利要求M所述的方法,其中,所述數據集存儲在資料庫中,並且確定所述數據集的第一子集和第二子集的步驟利用資料庫查詢來執行。
58.根據權利要求M所述的方法,其中,所述視頻顯示器以二維視圖顯示所述三維對象。
59.根據權利要求M所述的方法,其中,所述視頻顯示器以三維視圖顯示所述三維對象。
60.根據權利要求M所述的方法,其中,以圖形方式突出三維對象的所述第三子集的步驟包括在所述顯示器中的恰當位置處顯示可視標記的副本。
61.一種電腦程式產品,該電腦程式產品供在計算機系統上使用,用於在視頻顯示器上顯示從數據集選擇的數據的子集,該數據集中的每個數據都表示三維對象,所述電腦程式產品包括其上具有計算機可讀程序代碼的有形計算機可用介質,所述計算機可讀程序代碼包括用於向所述數據集中的至少一個數據分配至少一個含義的程序代碼,所有分配的含義的集合形成本體;用於確定所述數據集的第一子集的程序代碼,所述第一子集中的每個數據都具有所述本體中的給定第一含義;用於確定所述數據集的第二子集的程序代碼,所述第二子集中的每個數據都具有所述本體中的給定第二含義;用於形成所述數據集的第三子集的程序代碼,所述第三子集包括所述第一子集中的、 滿足與所述第二子集中的至少一個數據的給定幾何關係的每個數據;以及用於向所述視頻顯示器轉發一信號、以使所述視頻顯示器以圖形方式突出由所述第三子集表示的所述三維對象的程序代碼。
62.根據權利要求61所述的電腦程式產品,其中,所述數據集表示在建築物或艦艇的設計、建造、檢查、批准或運作中使用的三維對象。
63.根據權利要求61所述的電腦程式產品,所述電腦程式產品還包括 用於在資料庫中存儲所述數據集的程序代碼;以及用於執行資料庫查詢以確定所述數據集的所述第一子集和所述第二子集的程序代碼。
64.根據權利要求61所述的電腦程式產品,所述電腦程式產品還包括用於在所述視頻顯示器上以二維視圖顯示所述三維對象的程序代碼。
65.根據權利要求61所述的電腦程式產品,所述電腦程式產品還包括用於在所述視頻顯示器上以三維視圖顯示所述三維對象的程序代碼。
66.根據權利要求61所述的電腦程式產品,所述電腦程式產品還包括用於通過在所述顯示器中的恰當位置處顯示可視標記的副本而以圖形方式突出三維對象的所述第三子集的程序代碼。
全文摘要
提供了通過根據用於限定和操縱可視標記的技術過濾用於顯示的數據來改進圖形軟體應用的方法和裝置。可以根據按許多種方式組合的多個過濾器來過濾數據,以形成用於顯示的數據集。數據可以根據它們與其它數據的關係而本體地和幾何地過濾。表示過濾器的可視標記可以在輸入區之間拖放以促進易用性。根據過濾器選擇的數據可以通過向所選擇的數據應用可視獨特特徵而與非選擇數據同時顯示。可以在單個工作站處的幾個不同視頻顯示器上同時顯示虛擬環境。
文檔編號G06T17/00GK102483860SQ201080023952
公開日2012年5月30日 申請日期2010年6月10日 優先權日2009年6月10日
發明者A·D·波斯特, D·S·希爾頓 申請人:圖形科技公司