專利名稱:用于在計算機(jī)輔助設(shè)計系統(tǒng)中設(shè)計對象組件的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)程序和系統(tǒng)領(lǐng)域,并且更為具體地,涉及用于在計算機(jī)輔助設(shè) 計應(yīng)用中設(shè)計對象組件領(lǐng)域。
背景技術(shù):
計算機(jī)輔助技術(shù)被公知為包括計算機(jī)輔助設(shè)計或CAD (Computer-Aided Design), CAD與用于編輯產(chǎn)品設(shè)計的軟件解決方案相關(guān)。類似地,CAE是Computer-Aided Engineering(計算機(jī)輔助工程)的縮寫,例如,CAE與用于模擬未來產(chǎn)品的物理行為的軟件 解決方案相關(guān)。CAM表示計算機(jī)輔助制造(Computer-Aided Manufacturing),并且通常包 括用于定義制造過程和操作的軟件解決方案。在市場上出售多種用于對象(或部件)或?qū)ο蠼M件設(shè)計的系統(tǒng)和程序,并形成了 產(chǎn)品,比如由達(dá)索系統(tǒng)公司所提供的注冊商標(biāo)為CATIA的產(chǎn)品。這些CAD系統(tǒng)允許用戶構(gòu) 建和操縱對象或?qū)ο蠼M件的復(fù)雜三維(3D)模型。因此,CAD系統(tǒng)提供使用邊或線的建模對 象表示,在特定情形下,該建模對象的表示使用面。線或邊可以以各種方式表示,例如,非均 勻有理B樣條(NURBQ。這些CAD系統(tǒng)將部件或部件組件作為建模對象管理,該建模對象 大部分是幾何圖形說明(specification)。特別地,CAD文件包含利用來生成幾何圖形的說 明,該幾何圖形繼而用于生成表示。幾何圖形和表示可以存儲在單個CAD文件或多個CAD 文件中。CAD系統(tǒng)包括用于向設(shè)計者顯示建模對象的圖形工具。這些工具專用于顯示復(fù)雜 對象一表示CAD系統(tǒng)中的對象的文件的典型大小在每個部件1兆比特的范圍內(nèi),并且組 件可以包括數(shù)千個部件。CAD系統(tǒng)管理對象模型,所述對象模型存儲在電子文件中。在計算機(jī)輔助技術(shù)中,就該技術(shù)的效率而言,圖形用戶界面(GUI)扮演重要角色。 用戶(例如設(shè)計者)可以在該GUI上執(zhí)行操縱和/或?qū)Ш浇ο笏蟮拇蟛糠植僮鳌?特別地,用戶可以創(chuàng)建、修改和刪除用于形成產(chǎn)品的建模對象,并且還可以探測該產(chǎn)品,從 而例如經(jīng)由產(chǎn)品結(jié)構(gòu)來了解建模對象如何相互關(guān)聯(lián)。通常,通過位于⑶I的側(cè)邊上的專用 菜單以及圖標(biāo)來執(zhí)行這些操作。近來,比如CATIA之類的CAD系統(tǒng)允許在產(chǎn)品表示附近調(diào) 用這些功能。設(shè)計者不再需要將鼠標(biāo)移到菜單以及圖標(biāo)。因此,在鼠標(biāo)的觸及范圍內(nèi)可獲 得操作。另外,上述操作在語義上如下進(jìn)行動作對于設(shè)計者選擇的給定操作,CAD系統(tǒng)可 以根據(jù)設(shè)計者可能選擇的先前選擇的操作,仍然在鼠標(biāo)附近向設(shè)計者建議一組新操作。還公知的是產(chǎn)品壽命周期管理(PLM)解決方案,該P(yáng)LM解決方案稱為商業(yè)戰(zhàn)略,該 商業(yè)戰(zhàn)略幫助公司在擴(kuò)展企業(yè)的概念內(nèi),共享產(chǎn)品數(shù)據(jù),應(yīng)用公共過程,以及利用從概念到 產(chǎn)品壽命終止的用于開發(fā)產(chǎn)品的共同知識。通過包括動作者(公司部門、商業(yè)伙伴、供應(yīng) 商、原始設(shè)備制造商(OEM),以及顧客),PLM可以允許該網(wǎng)絡(luò)作為單個實體進(jìn)行操作,以概 念化、設(shè)計、構(gòu)建以及支持產(chǎn)品和過程。一些PLM解決方案使得例如可以通過創(chuàng)建數(shù)字實體模型(產(chǎn)品的3D圖形模型) 來設(shè)計和開發(fā)產(chǎn)品??梢允紫仁褂煤线m的應(yīng)用來定義和模擬該數(shù)字產(chǎn)品。隨后,可以定義 和建模精益數(shù)字制造過程。
達(dá)索系統(tǒng)公司所提供的PLM解決方案(注冊商標(biāo)為CATIA、ENOVIA以及DELMIA) 提供了工程中心、制造中心、以及企業(yè)中心,該工程中心組織產(chǎn)品工程知識,該制造中心管 理制造工程知識,以及該企業(yè)中心實現(xiàn)企業(yè)整合以及到工程和制造中心的連接??傊?,所述 系統(tǒng)遞送了開放的對象模型鏈接產(chǎn)品、過程、資源,以實現(xiàn)動態(tài)的基于知識的產(chǎn)品創(chuàng)建和決 定支持,該產(chǎn)品創(chuàng)建和決定支持驅(qū)動最佳的產(chǎn)品定義、制造準(zhǔn)備、生產(chǎn)和服務(wù)。這種PLM解決方案包括產(chǎn)品的關(guān)系數(shù)據(jù)庫。該數(shù)據(jù)庫包括一組正文數(shù)據(jù)以及該數(shù) 據(jù)之間的關(guān)系。數(shù)據(jù)通常包括與產(chǎn)品相關(guān)的技術(shù)數(shù)據(jù),該技術(shù)數(shù)據(jù)按照數(shù)據(jù)層次進(jìn)行排序, 并且被索引以便可被搜索。所述數(shù)據(jù)表示建模對象,該建模對象通常是建模產(chǎn)品以及過程。包括產(chǎn)品配置、過程知識以及資源信息的產(chǎn)品壽命周期信息通常意在被以協(xié)作的 方式編輯。當(dāng)前的CAD應(yīng)用允許用戶定義對象組件中的對象(或部件)之間的空間關(guān)系,例 如對象組件的兩個產(chǎn)品之間的空間關(guān)系。通常,如本領(lǐng)域中所公知的,用戶是相對于另一對 象來移動對象以便將該對象放置在特定位置的設(shè)計者。例如,設(shè)計者可能希望將螺絲放置 為通過平板中包括的孔。為此,設(shè)計者選擇并在該平板上移動該螺絲,直到到達(dá)該螺絲相對 于該平板中的孔的期望位置的大致接近位置。隨后,使用該螺絲和該平板的匹配特性來找 到螺絲相對于該平板的位置,該位置根據(jù)設(shè)計者所提供的螺絲的位置確定。然而,相對于另一對象來定位一個對象對于設(shè)計者而言是困難且繁瑣的任務(wù),因 為設(shè)計者必須以正確的位置,在第二對象(或第二對象的部件)上方移動第一對象(或 第一對象的部件),并且第一和第二對象可能是非常小的;例如,對象的部件可能類似一個 點O另外,大多數(shù)當(dāng)前解決方案提供兩個所選對象之間的給定的兩個位置中的僅僅一 個位置。因此,這些解決方案不能提供這些對象之間的一組全局且排序后的所有相關(guān)解決 方案,并且因此,設(shè)計者不能確定多個解決方案中的最好解決方案是什么。此外,如果用戶 不能在特定要素的上方移動對象,將不會向他/她告知對應(yīng)的解決方案。此外,一些解決方案通過使用第一和第二對象的所有幾何要素,向設(shè)計者提供兩 個所選對象之間的位置,這些位置隨后被無用的位置快速地淹沒。因此,根據(jù)如上簡短討論的現(xiàn)有解決方案的限制,需要以更容易和更快速地方式 改進(jìn)對象的重復(fù)組裝,從而提高設(shè)計者的生產(chǎn)率以及最小化設(shè)計錯誤。
發(fā)明內(nèi)容
因此,本發(fā)明提供了一種用于在計算機(jī)輔助設(shè)計系統(tǒng)中設(shè)計對象組件的方法。所 述方法包括選擇該組件中的第一對象和第二對象,該第一對象和第二對象中的每個具有界 面信息;計算該組件中的第一對象相對于第二對象的一組位置;以及同時顯示所計算出的 第一對象相對于第二對象的位置的表示。根據(jù)本發(fā)明的方法可以包括一個或多個下述特征-根據(jù)多個可視級別,顯示同時顯示的所計算出的位置的表示;-同時顯示的所計算出的位置的表示具有各自的透明度;-根據(jù)所計算出的位置的排名(rank),顯示同時顯示的所計算出的位置的表示;-在顯示步驟之前,根據(jù)至少一個準(zhǔn)則來對該組第一對象相對于第二對象的位置進(jìn)行排名的步驟;-在計算該組位置的步驟之前,在用戶啟動后,添加第一對象和第二對象之間的約 束的步驟;-所述組件中的第一對象和第二對象是三維建模對象,并且其中所述至少一個準(zhǔn) 則是下述中之一-所述組件中的第一對象和第二對象之間的多個約束;-用戶建議的所述組件中的第一對象和第二對象之間的多個約束,所述第一對象 和第二對象被相對地放置;-所述組件中的第一對象和第二對象在二維空間中的投影之間的距離,所述第一 對象和第二對象被相對地放置;-所述組件中的第一對象和第二對象之間在三維空間中的距離,所述第一對象和 第二對象被相對地放置;-所述組件中的第一對象和第二對象之間的轉(zhuǎn)動角度,所述第一對象和第二對象 被相對地放置;-所述組件中的第一對象和第二對象在圖形用戶界面上是可見的,所述第一對象 和第二對象被相對地放置;-檢測所述組件中的第一對象和第二對象之間的設(shè)計錯誤,所述第一對象和第二 對象被相對地放置;-計算所述組件中的第一對象相對于第二對象的一組位置的步驟包括計算所述第 一對象和第二對象的界面信息的至少一個匹配,并且在每次計算所述至少一個匹配后,求 解所述第一對象和第二對象之間的幾何約束;-根據(jù)圖形的遍歷來執(zhí)行計算所述界面信息的至少一個匹配以及在每次計算所述 至少一個匹配后求解幾何約束的步驟,其中,所述圖形的每個節(jié)點表示第一對象的一個界 面信息和第二對象的一個界面信息的組合,在位于父節(jié)點上的該圖形的給定級上的該圖形 的每個節(jié)點表示已經(jīng)由在所述給定級的上級中的另一節(jié)點表示的組合,不具有可求解的幾 何約束的該圖形的每個節(jié)點被從該圖形中刪除,并且對于給定節(jié)點,該組位置中的一個位 置由下述提供-根據(jù)所述給定節(jié)點的組合構(gòu)建的一組約束;-根據(jù)所述給定節(jié)點的父節(jié)點的組合構(gòu)建的一組約束;-計算所述組件中的第一對象相對于第二對象的一組位置的步驟還包括計算所述 第一對象的至少兩個界面信息之間的第一標(biāo)識符和所述第二對象的至少兩個界面信息之 間的第二標(biāo)識符,將所述界面信息的所述第一和第二標(biāo)識符與分別擁有所述第一對象的所 述至少兩個界面信息和所述第二對象的所述至少兩個界面信息的對象相關(guān)聯(lián),并且在計算 在所述第一和第二對象中的至少一個處涉及的另一匹配期間,使用所述第一和第二標(biāo)識符 來識別匹配;-首先,在考慮用戶所添加的約束的情況下,執(zhí)行計算所述組件中的第一對象相對 于第二對象的一組位置的步驟,隨后,在不考慮用戶所添加的約束的情況下,執(zhí)行計算所述 組件中的第一對象相對于第二對象的一組位置的步驟;-根據(jù)至少兩個準(zhǔn)則來執(zhí)行對該組第一對象相對于第二對象的位置進(jìn)行排名的步驟,所述至少兩個準(zhǔn)則中的每個準(zhǔn)則被排名,并依據(jù)該排名后的準(zhǔn)則,按照字母順序?qū)υ摻M 位置進(jìn)行排名;-在選擇第一對象和第二對象的步驟中,還包括識別所述第一對象的至少一個公 開(publication)以及所述第二對象的至少一個公開的步驟,以及針對所述第一對象的至 少一個所識別出的公開以及所述第二對象的至少一個所識別出的公開中的每一個,計算所 述第一對象的界面信息以及所述第二對象的界面信息的步驟;-所述第一對象的至少一個公開以及所述第二對象的至少一個公開包括幾何要 素;-計算所述第一對象的界面信息以及第二對象的界面信息,以便表示與幾何要素 間的一致性;-幾何要素被限制為點、線、平面以及軸系統(tǒng);-在用戶對觸覺設(shè)備進(jìn)行動作后,通過將光標(biāo)放置在同時顯示的計算出的位置的 表示中的一個表示上,來強(qiáng)調(diào)同時顯示的表示中的該一個表示。本發(fā)明還提供了用于在計算機(jī)輔助設(shè)計系統(tǒng)中設(shè)計對象組件的計算機(jī)程序,該計 算機(jī)程序存儲在計算機(jī)可讀介質(zhì)中,所述計算機(jī)程序包括用于使得計算機(jī)輔助設(shè)計系統(tǒng)執(zhí) 行本發(fā)明的方法的上述步驟的代碼模塊。本發(fā)明還涉及用于在計算機(jī)輔助設(shè)計系統(tǒng)中設(shè)計對象組件的裝置,所述裝置包括 用于實現(xiàn)本發(fā)明的方法的上述步驟的模塊。
現(xiàn)在將通過非限制性的示例參照附圖來描述實現(xiàn)所公開的技術(shù)的系統(tǒng),在附圖 中圖1是CAD系統(tǒng)中的典型⑶I的示意圖;圖2是用于執(zhí)行本發(fā)明的一個實施例的流程圖;圖3到圖5是根據(jù)本發(fā)明的方法的圖形表示;圖6到圖8例示了根據(jù)本發(fā)明的曲柄與軸間的匹配;以及圖9是適于執(zhí)行本發(fā)明的硬件和軟件環(huán)境的示意圖。
具體實施例方式參見圖1,所例示的圖形用戶界面(或GUI) 100可以是典型的CAD類界面,該GUI 100具有標(biāo)準(zhǔn)的菜單欄110、120以及底部和側(cè)邊工具欄140、150。這些菜單欄和工具欄包 含一組可由用戶選擇的圖標(biāo),每個圖標(biāo)與一個或多個操作或功能相關(guān)聯(lián),如本領(lǐng)域所公知 的那樣。這些圖標(biāo)中的一些與適用于在比如在⑶I 100上顯示的建模產(chǎn)品200或產(chǎn)品200 的部件上進(jìn)行編輯和/或工作的軟件工具相關(guān)聯(lián)。為了簡單,在下面的描述中,“產(chǎn)品”、“部 件”、“組件”等可以稱為“部件”。注意,概念“部件”實際上可以歸納為概念“對象”,其中, 對象可以是所設(shè)計的產(chǎn)品的僅僅“物理”部件,或者更普遍地,對象可以是參與設(shè)計過程的 任何軟件工具(而不必在最后的產(chǎn)品“中”)。上述軟件工具可以被成組為工作臺(worlcbench)。每個工作臺包括軟件工具的一個子集。特別地,一個工作臺是編輯工作臺,該編輯工作臺適于編輯建模產(chǎn)品200的幾何特 征。在操作時,設(shè)計者可以例如預(yù)選對象200的部件,并且隨后通過選擇合適的圖標(biāo),發(fā)起 操作(例如,改變維度、顏色等)或編輯幾何約束。例如,典型的CAD操作是對在所述屏幕 上顯示的3D建模對象的打孔或折疊進(jìn)行建模。另外,所述一個或多個操作或功能可以在⑶I 100上所顯示的建模產(chǎn)品200或產(chǎn) 品200的部件附近被直接選擇。為此,與操作或功能相關(guān)聯(lián)的可由用戶選擇的圖標(biāo)170可 以出現(xiàn)在選擇器160(例如,比如鼠標(biāo)的觸覺設(shè)備的光標(biāo))附近。用戶可以使得光標(biāo)160從 圖標(biāo)匣(phylactery) 170上經(jīng)過,與之響應(yīng),該圖標(biāo)匣170顯示一組圖標(biāo)180。通常,可由用 戶選擇的圖標(biāo)170、180具有圖標(biāo)匣的形式。隨后,用戶選擇該組圖標(biāo)180中的一個圖標(biāo),以 便執(zhí)行與所選圖標(biāo)相關(guān)聯(lián)的功能。此外,該組圖標(biāo)180按照語義進(jìn)行動作,也就是,根據(jù)假 定用戶想要做的操作,由CAD系統(tǒng)建議該組圖標(biāo)180。⑶I可以例如顯示與所顯示的產(chǎn)品200相關(guān)的數(shù)據(jù)250。在圖1的示例中,被顯示 為“特征樹”的數(shù)據(jù)250以及它們的3D表示200與包括制動鉗和盤片的制動組件相關(guān)。GUI 還可以示出各種類型的圖形工具130、160,例如用于便于對象的3D取向,用于觸發(fā)編輯后 的產(chǎn)品的操作的模擬,或者GUI還可以呈現(xiàn)所顯示的產(chǎn)品200的各種屬性。圖2是描繪本發(fā)明的一個實施例的流程圖,其中,可見到四個塊,分別與選擇具有 界面信息的對象(步驟20、30以及31)、計算第一對象相對于第二對象的一組位置(步驟 40-6 、對上述位置進(jìn)行排名(步驟80)以及同時顯示所計算出的位置的表示(步驟90) 的階段相關(guān)。流程圖的各個方框具有多個形狀梯形形狀2000指出用戶(例如,設(shè)計者) 輸入,矩形形狀2001表示階段,六邊形形狀2002示出循環(huán),以及平行四邊形形狀2003是條 件測試。所描繪的本發(fā)明的實施例開始于選擇對象組件中的第一對象和第二對象。第一對 象和第二對象具有界面信息。這在圖2中由步驟20、30和31例示。在步驟20,選擇所述組件中的第一對象和第二對象,也就是說,在所述對象組件的 對象中識別和選擇第一和第二對象。所述選擇可以由CAD系統(tǒng)執(zhí)行。所述選擇也可以在用 戶動作后執(zhí)行,該動作通常在CAD系統(tǒng)的圖形用戶界面中進(jìn)行,如圖1中所示。當(dāng)用戶執(zhí)行 所述選擇時,他/她可以使用比如鍵盤、鼠標(biāo)、記錄筆(stylus)、或觸摸屏等的觸覺設(shè)備。例 如,在雙鍵鼠標(biāo)中,當(dāng)鼠標(biāo)的光標(biāo)在GUI的特定區(qū)域上方時,左鍵可以被使用來選擇對象。所選擇的第一和第二對象可以在⑶I 100上顯示。另外,所選擇的第一和第二對 象可以是建模對象或三維(3D)建模對象。三維(3D)建模對象是對象在三維(3D)空間中 的描述。3D空間是物質(zhì)世界的幾何模型,該物質(zhì)世界可以在數(shù)學(xué)上由幾何圖形表示,該幾何 圖形利用坐標(biāo)來描述三維空間中的每個點。此外,存在用于描述三維空間的其它方式。3D 建模對象本質(zhì)上指的是說明,根據(jù)該說明可以生成幾何圖形。因此,3D建模對象是對3D對 象的數(shù)學(xué)描述,也就是,由比如三角形、直線、曲面等的各種幾何實體連接的3D空間中的點 的集合。3D建模對象由該3D建模對象的3D表示來表示。另外,所述對象組件中的第一對象和第二對象可以是不同的產(chǎn)品。產(chǎn)品由對象組 件構(gòu)成。因此,所述選擇可以針對所述組件中的對象執(zhí)行,或者針對所述組件的產(chǎn)品執(zhí)行。 第一對象可以稱為“要被放置的”對象(或產(chǎn)品),而第二對象可以稱為“目標(biāo)”對象(或產(chǎn)品)。
第一對象和第二對象具有公開。通常,公開可以與對象一起存儲(或嵌入有對 象)。公開是在對象下聚集的到幾何要素或該對象內(nèi)的另一公開的鏈接,并且該公開公布并 且使得與將第一對象與對象組件中的其它對象(例如,與第二對象)交接相關(guān)的匹配信息 公開。相應(yīng)地,公開可以定義對象相對于對象組件中的至少一個其他對象的定位的一組知 識。所述公開與對象的聚集(或“嵌入”)大大增加了放置對象時的自動化,因為第一和第 二對象兩者都具有執(zhí)行匹配所需要的信息。公開是到幾何要素的鏈接。有利地,所述幾何要素可以被限制為點、線、平面和軸 系統(tǒng)。通常,根據(jù)所述組件的技術(shù)上下文(例如,在機(jī)械上下文中)作出上述限制,所述幾 何要素優(yōu)選被限制為點、線、平面和軸系統(tǒng)。在另一技術(shù)上下文(例如,包括齒輪的機(jī)械系 統(tǒng))中,將保留曲面。該限制所導(dǎo)致的結(jié)果是,提供給對象的信息量受限,但同時保持足夠 數(shù)目的信息來匹配對象。另外,相對于至少一個其它對象來定位對象的解決方案的數(shù)目是 受限的,并且保留大多數(shù)相關(guān)的位置。因此,在嘗試次數(shù)減少的同時,提供更好的結(jié)果?,F(xiàn)在參見圖3,在如參照圖1中所示的⑶I 100上顯示平板300和螺絲400。⑶I 顯示與所顯示的產(chǎn)品300和400相關(guān)的數(shù)據(jù)250。在圖3的示例中,數(shù)據(jù)250被顯示為“特 征樹”,并且示出平板300和螺絲400的公開。螺絲400包括兩個公開軸401的公開以及 面402的公開。平板300包括5個公開孔301到304的每個軸對應(yīng)一個公開,以及面305 對應(yīng)于一個公開。兩個產(chǎn)品300和400的部件的這7個公開被公布,并且設(shè)計者可以訪問 它們所包含的信息?;氐綀D2,在步驟30,所公開的技術(shù)的過程確定所述第一對象和第二對象的公開 是否是界面信息。如果所有公開是界面信息,則所述過程的下一步驟是步驟40。相反,如果 部分所述公開不是界面信息,則所述過程的下一步驟是步驟31。界面信息是利用數(shù)據(jù)增強(qiáng)來與另一兼容界面信息構(gòu)建完全的指定約束的公開。由 此,界面信息提供與將所述組件的第一對象與至少另一對象交接相關(guān)的匹配信息,所述匹 配信息包括相對于所述組件的至少一個其它對象來定位第一對象所需要的知識。因此,由 于界面信息,可以相對另一對象添加和放置新的對象,而無需補(bǔ)充信息。使用界面信息對于 設(shè)計者是有利的,因為設(shè)計者可以在放置對象之前,添加該對象的匹配信息。另外,他們可 以取決于他們對對象的權(quán)利,訪問或不訪問該對象的匹配信息。這可以使得減少設(shè)計錯誤。 結(jié)果是,相對于另一對象來定位對象的過程得到改進(jìn),并且更快。在步驟31,根據(jù)本發(fā)明的過程識別所述第一和第二對象的至少一個公開,并且針 對每個所識別出的第一和第二對象的公開,計算所述第一和第二對象的界面信息。為此, 第一和第二對象的公開被增強(qiáng),從而包括所有可用信息,比如所期望的幾何圖形的類型、方 位、以及第一對象的距離,以便構(gòu)建與兼容公開間的完全的指定約束。因此,界面信息基于 根據(jù)所述對象組件的所組裝的產(chǎn)品推導(dǎo)出的信息構(gòu)建。在實踐中,計算所述第一和第二對象的界面信息,以便表示與所述對象組件的 幾何要素間的一致性,例如,產(chǎn)品之間的最普遍的運(yùn)動學(xué)聯(lián)合,比如一致性、旋轉(zhuǎn)、棱形 (prismatic),其中點到點一致性、線到線一致性以及面到面接觸作為約束。有利地,界面信 息被鏈接到對象的幾何要素,例如,幾何要素可以被限制到點、線、平面以及軸系統(tǒng)。與公開 類似,這個限制所導(dǎo)致的結(jié)果是,用于匹配對象所需要的信息量受限。另外,一旦第一和第二對象的公開已經(jīng)被增強(qiáng),也就是,計算出界面信息,則可以構(gòu)建掛鉤點(hooking point)。掛鉤點是具有公共標(biāo)識符的一組界面信息或公開。在所述 過程的這個階段,掛鉤點允許識別在步驟31中計算出的界面信息。然而,界面信息不能總是根據(jù)公開計算出,例如,不存在足夠用來執(zhí)行所述計算的 信息。為此,界面信息和公開是可兼容的,這涉及僅僅利用公開、僅僅利用界面信息或利用 公開和界面信息的混合來執(zhí)行步驟40-90。一旦執(zhí)行了步驟30和31,就執(zhí)行步驟40-62來計算所述組件中的第一對象相對于 第二對象的一組位置。在這個階段,第一和第二對象具有界面信息,并且可以利用這些界面 信息來計算該組位置。然而,如先前所述,還可以僅僅利用公開或者公開和界面信息的混合 來計算該組位置。計算第一和第二對象之間的該組位置還可以考慮補(bǔ)充約束,該補(bǔ)充約束是被建議 的約束。實際上,在執(zhí)行上述步驟40-62之前,可以在用戶致動后,輸入對第一對象和第二 對象的約束。有利地,在計算該組位置期間考慮所建議的約束,允許增加組裝過程的速度。 實際上,所計算出的該組位置將包括用戶的設(shè)計意圖,而無需補(bǔ)充的操作時間來匹配對象, 假設(shè)選擇要匹配的對象以及提供所建議的約束同時執(zhí)行的話。因此,減少在組裝對象時的 操作次數(shù)。通常,用戶可以在利用通過點擊第一和第二對象選擇第一和第二對象時,輸入所 建議的約束,如圖4中所示,圖4示出了與圖3中所繪相同的螺絲400和平板300。用戶通過 在點403利用觸覺設(shè)備的光標(biāo)進(jìn)行點擊,選擇螺絲400的底面402,以及用戶通過在點310 利用觸覺設(shè)備的光標(biāo)進(jìn)行點擊,選擇平板300的頂面。用戶還可以經(jīng)由拖放操作來建議約 束。例如,用戶可以通過點擊點403來選擇螺絲400的底面402,拖曳螺絲400通過平板300 的頂面,并且當(dāng)螺絲400的點403靠近平板300的點310時,放下螺絲400。還可以例如經(jīng) 由“樹”(參見圖3)來輸入所建議的約束。按照非限制性方式,可以使用任何其它方式,以 便建議約束,如本領(lǐng)域中所公知的。步驟40的子步驟41-62在兩次處理中實現(xiàn)。首先,在考慮用戶輸入的約束的情況 下,計算第一對象相對于第二對象的一組位置,并且接下來在不考慮用戶輸入的約束的情 況下,計算第一對象相對于第二對象的一組位置。有利地,在兩次處理中進(jìn)行的計算允許計 算一組位置,該組位置不僅包括具有用戶所建議的約束的位置,而且包括僅僅使用特性要 素的位置。隨后,具有一個或多個根據(jù)界面信息構(gòu)建的約束的位置被優(yōu)選為所建議的約束, 該所建議的約束不能與根據(jù)界面信息構(gòu)建的約束一起完成。特別地,如果可以在考慮所建 議的約束的情況下計算任何位置,則根據(jù)本發(fā)明的過程可以提供至少一組根據(jù)界面信息計 算出的位置。計算所述組位置(步驟41-6 可以包括兩個子步驟。第一個子步驟由步驟50-52 定義,并且包括計算第一和第二對象的界面信息的至少一個匹配。第二個子步驟包括步驟 60-62,并且包括在步驟50-52中所執(zhí)行的每次計算至少一個匹配后,求解第一和第二對象 之間的幾何約束。因此,通過嘗試由界面信息提供的幾何約束的每個組合來發(fā)現(xiàn)(也就是, 計算)位置。如果幾何約束的組合可以被求解,并且對于該組合的另一約束而言沒有約束 是冗余的,則該幾何約束的組合是位置。優(yōu)選地,利用專用的圖形結(jié)構(gòu)計算對象的界面信息之間的匹配以及求解幾何約 束,該專用的圖形結(jié)構(gòu)在計算和求解步驟期間被構(gòu)建和遍歷。10
如本領(lǐng)域中所公知,圖形結(jié)構(gòu)包括由弧形連接的節(jié)點。該圖形的每個節(jié)點表示第 一對象的一個界面信息和第二對象的一個界面信息的組合,并且每個弧形表示從一個節(jié)點 通行到另一節(jié)點的可能性。如先前所見,可以在步驟31計算界面信息或公開的掛鉤點。掛鉤點允許識別所計 算出的界面信息以及創(chuàng)建界面信息組。有利地,計算屬于相同的掛鉤點的界面信息之間的 任何匹配。因此,計算的次數(shù)減少。再次參見圖3,考慮從螺絲400和平板300的公開開始 計算界面信息的方案。在該方案中,根據(jù)螺絲400的兩個公開來構(gòu)建螺絲400的掛鉤點,以 及根據(jù)平板300的5個公開來構(gòu)建平板300的掛鉤點。當(dāng)計算相對位置時,僅僅計算螺絲 400和平板300的公開之間的匹配。該圖形包括按照廣度優(yōu)先遍歷的多個級別(步驟43-44)在一個級別的同胞節(jié)點 的后代節(jié)點之前遍歷這些同胞節(jié)點。因此,逐級別遍歷該圖形,一旦已經(jīng)計算和求解父級別 的所有節(jié)點,則把父級別交給子級別。在該圖形的給定級別的該圖形的每個節(jié)點可以指向 父節(jié)點子節(jié)點連接到父節(jié)點。然而,子節(jié)點可以僅僅在由該子節(jié)點表示的組合已經(jīng)由更高 級別的另一節(jié)點表示時,指向父節(jié)點。換言之,在構(gòu)建圖形結(jié)構(gòu)時,如果組合在之前從未出 現(xiàn),則表示該組合的節(jié)點可能不是子節(jié)點。在實踐中,所構(gòu)建的圖形的第一級別是根節(jié)點(步驟42)。根節(jié)點是該圖形的最 高級別。隨后,構(gòu)建和遍歷該圖形的多個級別(步驟43-44)。該圖形包括至少一個第二級 別,該至少一個第二級別包括第一和第二對象的界面信息之間的所有組合。對于給定級別 的每個節(jié)點,計算第一和第二對象的界面信息的一個匹配(步驟50)。如果沒有計算出匹 配,則從該樹中刪除該節(jié)點。有利地,這暗含著該搜索圖形允許限制界面信息的匹配的計算 次數(shù)實際上,子節(jié)點僅僅在由該子節(jié)點表示的組合已經(jīng)由更高級別的另一節(jié)點表示時,指 向父節(jié)點。因此,遍歷該搜索圖形所需要的時間增加,因為在該圖形的更低級別中不能重新 使用不具有匹配的組合。因此,用于構(gòu)建和遍歷該圖形的整個過程被增強(qiáng)。相反,如果計算節(jié)點處的匹配,則求解該節(jié)點的幾何約束(步驟53)。求解幾何 約束可以由本領(lǐng)域公知的求解器執(zhí)行。注意,刪除(suppression)不具有匹配的節(jié)點在 求解步驟是有利的。實際上,求解幾何約束要求大量該系統(tǒng)的計算資源,例如CPU、存儲器.......結(jié)果是,所公開的技術(shù)允許節(jié)省計算資源,并且計算該組位置所需要的時間減少。從該圖形中刪除不具有可求解的幾何約束的該圖形的每個節(jié)點(步驟61),同時 保留具有可求解的幾何約束的節(jié)點。因此,逐步地構(gòu)建和遍歷該圖形。一旦已經(jīng)遍歷該圖 形,則該圖形的節(jié)點提供隨后添加到該組位置中的位置(步驟62)。節(jié)點的相對位置由根據(jù) 該節(jié)點的組合構(gòu)建的一組約束以及根據(jù)該節(jié)點的父節(jié)點的組合構(gòu)建的一組約束提供。此外,由于使用標(biāo)識符,例如掛鉤點,可以改進(jìn)計算位置所需要的計算次數(shù)。為此, 計算對象的界面信息之間的標(biāo)識符,并且將該標(biāo)識符與擁有該界面的相應(yīng)對象相關(guān)聯(lián)。接 下來,在計算涉及所述第一和第二對象中的至少一個的另一匹配期間,將該標(biāo)識符用于識 別匹配。由于該標(biāo)識符,可以識別組合的前一匹配,這提供了將先前計算出的匹配特許為是 解決方案的可能性。在步驟70-71,對在步驟40-62計算出的解決方案進(jìn)行處理,以便計算與該組位置 中的每個位置的約束相關(guān)的數(shù)據(jù)。此外,在步驟71,計算至少一個準(zhǔn)則,從而對該組位置進(jìn)行排名。有利地,僅僅一次計算該準(zhǔn)則,并且隨后將該準(zhǔn)則用于對該組位置進(jìn)行排名,從而 限制資源消耗。在步驟80,根據(jù)至少一個準(zhǔn)則,對第一對象相對于第二對象的一組位置進(jìn)行排名。 排名的步驟提供了位置列表,在該列表中,容易確定預(yù)期的位置是什么。重要的是,根據(jù)準(zhǔn) 則(對先前計算的位置進(jìn)行排名的判斷或確定所依據(jù)的標(biāo)準(zhǔn))進(jìn)行排名。實際上,一個準(zhǔn)則不足以在位置之間作出判定,并且通常,可以使用至少兩個準(zhǔn) 則,以便進(jìn)行位置之間的排名。此外,對每個準(zhǔn)則進(jìn)行排名,并且根據(jù)排名后的準(zhǔn)則,按照 字母順序來對位置進(jìn)行排名。所述字母順序提供了具有兩組排序位置的自然順序結(jié)構(gòu)。例 如,如果根據(jù)第一準(zhǔn)則,第一組位置中的位置具有相同的排名,則根據(jù)第二準(zhǔn)則對這些位置 進(jìn)行排名。結(jié)果是,提供第二組位置,并且根據(jù)第一和第二準(zhǔn)則進(jìn)行排名。如果第二組位置 包括仍然具有相同排名的位置,則可以使用第三準(zhǔn)則來對新的一組位置進(jìn)行排名,等等。通常,所述組件中的第一對象和第二對象是三維建模對象,并且(按照優(yōu)選排名 的)準(zhǔn)則可以是下述中之一i)所述組件中的第一對象和第二對象之間的多個約束這個準(zhǔn)則選擇求解最重 要的多個約束的位置,即,最遠(yuǎn)來自所述圖形結(jié)構(gòu)的根的位置。有利地,這允許提升具有較 少自由度的位置。ii)用戶建議的所述組件中的第一對象和第二對象之間的多個約束,所述第一對 象被放置對于兩個位置之間的相同數(shù)目的約束,包括最重要的多個數(shù)目的建議的約束的 位置將是優(yōu)選的。iii)所述組件中的第一對象和第二對象在二維空間中的投影之間的距離,所述第 一對象被放置;所述第一對象和第二對象是三維對象。所述第一和第二對象可以投影在平 面上,例如,該平面由計算機(jī)屏幕限定。可以在用戶先前輸入的兩個拾取(picking)點之間 測量上述距離,例如,同時在選擇第一和第二對象時用戶建議約束,如先前所見。因此,第一 對象相對于第二對象的每個位置具有拾取點,同樣,第二對象相對于第一對象的每個位置 具有拾取點。因此,可以測量所放置的第一和第二對象的拾取點之間的距離。根據(jù)所測量 的距離,可以對該位置進(jìn)行排名。在實踐中,提供所放置的第一對象和第二對象之間具有更 小距離的位置被賦予特權(quán)所測量的距離越短,所述位置更好。實際上,為更小的距離賦予 優(yōu)先權(quán)允許改進(jìn)通用的設(shè)計過程,因為設(shè)計者可以具有向系統(tǒng)指示他/她將希望賦予特權(quán) 的位置的可能性,并且這可以按照容易的方式執(zhí)行,例如通過在選擇第一和第二對象時點 擊對象來執(zhí)行。另外,設(shè)計者不必準(zhǔn)確地瀏覽整個第二對象來具有期望的解決方案簡單地 點擊第二對象就足夠了。相應(yīng)地,可以防止大部分的設(shè)計錯誤;例如,選擇錯誤的第二對象。 因此,要理解的是,以更容易且更快速的方式來實現(xiàn)對象的重復(fù)組裝,從而大大地增加設(shè)計 者的效率。iv)所述第一對象和第二對象之間在三維空間中的距離,所述第一對象和第二對 象被相對地放置;所述第一對象和第二對象是三維對象。類似地,測量所放置的第一對象和 第二對象的拾取點之間的距離,并且可以為更小的測量距離賦予特權(quán)。要理解的是,這提供 如上述iii)中相同的優(yōu)點。ν)所放置的第一對象和第二對象之間的轉(zhuǎn)動角度,所述第一對象和第二對象是三 維對象。轉(zhuǎn)動角測量由所選擇的第一對象所執(zhí)行的轉(zhuǎn)動,以便與所計算出的位置吻合。根據(jù)所測量的轉(zhuǎn)動角,可以對上述位置進(jìn)行排名。在實踐中,較小的轉(zhuǎn)動角被賦予特權(quán)實際 上,在設(shè)計對象組件時給更接近設(shè)計者所看到的東西的解決方案賦予特權(quán)是有利的。例如, 圖3中的螺絲400可以穿過孔301-303,其中螺絲400的頭在平板300的頂面或底面上。然 而,由于在被選擇時螺絲400的頭被轉(zhuǎn)到頂面,與螺絲的頭被轉(zhuǎn)到底面的位置相比,螺絲的 頭被轉(zhuǎn)到頂面的位置被賦予特權(quán),因為螺絲的頭被轉(zhuǎn)到頂面的情形的轉(zhuǎn)動角比螺絲的頭被 轉(zhuǎn)到底面的情形的轉(zhuǎn)動角小。vi)所述組件中的第一定位的對象和第二對象在圖形用戶界面上是可見的。與不 可見的位置相比,可見的位置被賦予特權(quán)。在實踐中,所放置的第一對象(要放置的對象) 在圖形用戶界面上是可見的,并且它的拾取點在解決方案的位置中是可見的。有利地,設(shè)計 者不會被他/她不感興趣的位置淹沒實際上,設(shè)計者關(guān)注所述組件中的少量對象,并且因 此,不對其它對象感興趣。此外,設(shè)計者可以縮小組件,并且因此在排名步驟期間可以考慮 新的位置。vii)檢測到定位的第一對象和第二對象之間的設(shè)計錯誤。通常,設(shè)計錯誤可能在 沒有考慮干擾說明時發(fā)生。一般來說,干擾說明包括碰撞、接觸以及間隙說明。在這點上, 重要的是避免兩個對象之間的碰撞(物質(zhì)間的相互滲透)。在實踐中,當(dāng)檢測到碰撞時,從 該組位置中刪除該位置。所述準(zhǔn)則不限于上述引用的準(zhǔn)則,并且可以使用任何其它的準(zhǔn)則來對位置進(jìn)行排 名。另外,用戶可以修改對準(zhǔn)則的排名。通過這種方式,對位置的排名符合用戶的需要和要 求。在步驟90,根據(jù)所計算出的位置的排名,同時顯示第一對象相對于第二對象的所 計算出的位置的表示。在實踐中,可以根據(jù)多個可視級別來顯示同時顯示的表示,并且所述 位置表示的各個可視級別中的每一個表示對位置的對應(yīng)排名。相應(yīng)地,利用對應(yīng)的可視級 別來同時顯示和表示所計算出的位置因此,為設(shè)計者提供直觀和有效的方式來在多個位 置中選擇位置。因此,增強(qiáng)設(shè)計者在設(shè)計對象組件時的體驗,因為他/她可以看到所有可能 的位置,即使這些位置難以發(fā)現(xiàn)。因此,即使位置是大量的,設(shè)計者也可以容易地做出他/ 她的選擇。另外,位置的每個所顯示的表示可以具有對應(yīng)的透明度級別。透明度級別暗含該 透明度不是完全的因此,設(shè)計者總是可以看見位置。當(dāng)透射和散射位置的光可以僅僅是部 分的或散射的時,實現(xiàn)部分透明度(或半透明)。此外,可以根據(jù)對所計算出的位置的排名 來確定透明度級別。通常,可以確定透明度級別,從而利用最低的透明度級別來顯示所述排 名中的最好的位置(即,符合最重要的多個準(zhǔn)則的位置),同時利用最低的透明度級別來顯 示最壞的位置(即,符合較不重要的多個準(zhǔn)則的位置)。換言之,位置越好,則所顯示的位 置的透明度越小。在實踐中,所述排名中的最好位置的透明度被設(shè)置為參考值,并且從第二 解決方案到最后的解決方案的透明度從峰值(參考值的一半)線性且規(guī)則地降低到最低值 (幾乎透明)。此外,還可以根據(jù)顏色代碼來執(zhí)行對應(yīng)的渲染。因此,設(shè)計者的視角不再被 重要的多個位置淹沒,因為透明度調(diào)整該組位置中的位置的顯示。因此,設(shè)計者更容易發(fā)現(xiàn) 和理解對象組件,并且因此增加他/她的生產(chǎn)率。此外,如果具有較小透明表示的位置不能使設(shè)計者滿意,則他/她仍然有可能利 用相同的透明度級別來顯示另一位置,因為該位置具有較小的透明表示。例如,用戶可以致13動觸覺設(shè)備,并且在致動后(例如,在致動鼠標(biāo)輪后),基于所述位置的排名,按照降序顯示 所計算出的位置。圖3到圖5是根據(jù)本發(fā)明的方法的實施例的圖形表示。圖3描述了在⑶I上顯示 的平板300和螺絲400。螺絲400是“要被放置”的對象,平板300是“目標(biāo)”對象。“特征 樹”在GUI中示出兩個對象的特性,比如它們的公開。螺絲400包括兩個公開軸401的公 開以及面402的公開。平板300包括5個公開該組位置的家庭計算的軸301到304中的 每個對應(yīng)一個公開,以及面305對應(yīng)一個公開。接著,在圖4,用戶例如利用鼠標(biāo)的光標(biāo),通過點擊對象400的底面402的點403來 選擇“要被放置”的對象400。隨后,用戶通過點擊對象300的頂面305的點310來選擇“目 標(biāo)”對象300。由于螺絲400和平板300的公開不是界面信息,所以根據(jù)螺絲400的兩個公 開來構(gòu)建它的掛鉤點,以及根據(jù)平板300的5個公開來構(gòu)建它的掛鉤點。另外,用戶在選擇 螺絲和平板時建議約束平板的頂面和螺絲的底面之間的用戶約束。隨后,所述過程計算螺絲和平板之間的一組位置。為此,在第一次處理時,通過考 慮所建議的約束來構(gòu)建和遍歷圖形,以及在第二次處理時,在不考慮所建議的約束的情況 下構(gòu)建和遍歷圖形。基于螺絲和每個孔之間的軸-軸一致性來計算一組位置,并且該組位 置包括四個位置420-423。在這步,所述過程可以同時顯示位置420-423的表示。另外,可 以根據(jù)多個可視級別來顯示上述表示。例如,同時顯示的表示可以具有不同的透明度。接下來,根據(jù)準(zhǔn)則對上述位置進(jìn)行排名。第一準(zhǔn)則分析螺絲和平板之間的約束的 數(shù)目,這個數(shù)目是相同的。因此,需要第二準(zhǔn)則來分離所計算出的位置對于每個位置,用戶 所建議的螺絲和平板之間的約束的數(shù)目是相同的。隨后,使用第三準(zhǔn)則螺絲400的拾取點 403被放置在每個位置420-423上,并且隨后,測量點430-433和平板300的拾取點310之 間在二維空間中的距離。距離越短,則位置越好。根據(jù)圖4,如下對上述位置進(jìn)行排名(從 最好到最壞)最好的位置(被標(biāo)注為1)是位置423,隨后是位置422(被標(biāo)注為幻、420(被 標(biāo)注為3)以及421 (被標(biāo)注為4)。一旦被排名,則根據(jù)該排名來顯示所述位置的各個表示。在圖4中,與位置420、 421和422相比,位置423具有更好的可視級別。除了設(shè)計者已經(jīng)選擇螺絲頭400的角500a和平板300的角500b之外,圖5與圖4 類似。因此,用戶所建議的約束是兩個角之間的接觸。當(dāng)計算一組位置時,與使用公開構(gòu)建 的約束一起完成用戶所建議的約束。然而,在這種情況下,這種約束的組合導(dǎo)致的結(jié)果是, 所述組合是過約束。因此,在考慮所建議的約束的情況下進(jìn)行的對該圖形的第一次處理失 敗,并且僅僅根據(jù)對所述圖形的第二次處理(即,在不考慮所建議的約束的情況下進(jìn)行的 處理)來計算該組位置。結(jié)果是,基于螺絲和平板的公開來計算所述位置。隨后,對該組位 置中位置進(jìn)行排名,如圖4中類似,并且利用比三個其它位置更重要的可視級別,在⑶I上 顯示解決方案501。此外,設(shè)計者可以在位置之間進(jìn)行導(dǎo)航??梢酝ㄟ^將光標(biāo)放置在同時顯示的位置 中的一個位置上,來強(qiáng)調(diào)該位置。通常,這在用戶對觸覺設(shè)備進(jìn)行動作(例如,將鼠標(biāo)的光 標(biāo)放置在該位置上)后執(zhí)行。對該位置的強(qiáng)調(diào)可以例如利用對該位置的高亮顯示來執(zhí)行。 高亮顯示包括對該位置的表示應(yīng)用輻射的發(fā)光顏色。所述強(qiáng)調(diào)還可以經(jīng)由可視化效果來執(zhí) 行,比如通過加深所強(qiáng)調(diào)位置的外廓來使該位置閃爍,或者增加構(gòu)成所強(qiáng)調(diào)位置的外廓的點的密度。另外,可以使用允許設(shè)計者將一個位置與其它位置區(qū)分開的任何手段?,F(xiàn)在參見圖6到圖8,描繪了曲柄900與軸901間的匹配。在圖6,在⑶I上表示 根據(jù)本發(fā)明計算出的一組位置中的位置。在這些表示中,位置910具有較小的透明度實際 上,根據(jù)排名,該位置是最好的位置(即,該位置符合較不重要的多個數(shù)目的準(zhǔn)則)。位置 920和930具有更大的透明度。圖6例示了透明度和所計算出的位置的相關(guān)性之間的線性 度。因此,用戶可以容易地檢測到什么是最好的位置,因為透明度是較不重要的。同時,如 果最好的位置不被認(rèn)為是設(shè)計者所關(guān)心的,則他/她仍然可以看見其它位置。在圖7,設(shè)計者已經(jīng)將觸覺設(shè)備的光標(biāo)902移到最好的位置910上。因此,該位置 被強(qiáng)調(diào)。隨后,設(shè)計者可以預(yù)先見到基于該最好位置的解決方案在位置910的透明度增加 的同時,其它位置的透明度減小。因此,強(qiáng)調(diào)解決方案位置910,這有利地允許用戶容易地了 解該解決方案。當(dāng)設(shè)計者將光標(biāo)902移到另一位置930上方時,則接著該位置被強(qiáng)調(diào),如圖8中所 示。因此,設(shè)計者可以預(yù)先見到獨(dú)立于其它位置的每個位置。同時,設(shè)計者可以在其它位置 間容易地進(jìn)行導(dǎo)航。要理解的是,前述方法可以應(yīng)用于能夠由CAD/CAM/CAE系統(tǒng)或者用于設(shè)計對象組 件的任何系統(tǒng)定義的任何配置中的任何對象。本發(fā)明可以在數(shù)字電路中實現(xiàn),或者在計算 機(jī)硬件、固件、軟件或它們的組合中實現(xiàn)。本發(fā)明的裝置可以在可觸及地包含在機(jī)器可讀存 儲設(shè)備中的計算機(jī)程序產(chǎn)品中實現(xiàn),該計算機(jī)程序產(chǎn)品可供可編程處理器執(zhí)行。本發(fā)明的 方法步驟可以由可編程處理器執(zhí)行,該可編程處理器執(zhí)行指令程序來通過操作輸入數(shù)據(jù)并 且生成輸出來執(zhí)行本發(fā)明的功能。有利地,本發(fā)明可以在一個或多個計算機(jī)程序中實現(xiàn),該一個或多個計算機(jī)程序 可以在包括至少一個可編程處理器、至少一個輸入設(shè)備和至少一個輸出設(shè)備的可編程系統(tǒng) 上執(zhí)行,該至少一個可編程處理器被耦合來從數(shù)據(jù)存儲系統(tǒng)接收數(shù)據(jù)和指令,并且將數(shù)據(jù) 和指令發(fā)送到數(shù)據(jù)存儲系統(tǒng)。所述應(yīng)用程序可以利用高級別過程或面向?qū)ο缶幊陶Z言實 現(xiàn),或者如果需要,可以利用匯編或機(jī)器語言實現(xiàn);并且在任何情況下,所述語言可以是編 譯或解釋的語言。圖9示出了客戶端計算機(jī)系統(tǒng),例如,用戶設(shè)計對象組件的工作站。該客戶端計算 機(jī)包括與內(nèi)部通信總線1200相連的中央處理單元(CPU) 1201,以及也與該總線相連的隨機(jī) 存取存儲器(RAM) 1207。該客戶端計算機(jī)系統(tǒng)還具有圖形處理單元(GPU) 1211,該GPU 1211 與連接到該總線的視頻隨機(jī)存取存儲器1210相關(guān)聯(lián)。視頻RAM 1210在本領(lǐng)域中還被公知 為幀緩存器。海量存儲設(shè)備控制器1202管理對比如硬盤驅(qū)動器1203之類的海量存儲設(shè)備 的訪問。適于可觸及地包含計算機(jī)程序指令和數(shù)據(jù)的海量存儲設(shè)備包括所有形式的非易失 性存儲器,作為示例,包括比如EPROM、EEPROM以及快閃存儲設(shè)備之類的半導(dǎo)體存儲設(shè)備, 比如內(nèi)部硬盤和可移動盤之類的磁盤;磁光盤;以及⑶-ROM盤1204。前述中的任何一個可 以由專門設(shè)計的ASIC (專用集成電路)進(jìn)行補(bǔ)充,或者包含在ASIC中。網(wǎng)絡(luò)適配器1205管 理對網(wǎng)絡(luò)1206的訪問。客戶端計算機(jī)系統(tǒng)還可以包括觸覺設(shè)備1209,比如光標(biāo)控制設(shè)備、 或鍵盤等。光標(biāo)控制設(shè)備在客戶端計算機(jī)中被使用來允許用戶有選擇地將光標(biāo)放置在顯示 器1208的任何期望位置上。另外,光標(biāo)控制設(shè)備允許用戶選擇各種命令,以及輸入控制信 號。光標(biāo)控制設(shè)備包括多個信號生成設(shè)備,用于向系統(tǒng)輸入控制信號。通常,光標(biāo)控制設(shè)備可以是鼠標(biāo),該鼠標(biāo)的按鍵被使用來生成上述信號。 已經(jīng)描述了本發(fā)明的優(yōu)選實施例。將理解的是,可以在不背離本發(fā)明的精神和范 圍的情況下進(jìn)行各種修改。因此,其它實現(xiàn)在所附權(quán)利要求的范圍內(nèi)。例如,可以根據(jù)組件 的技術(shù)上下文來對準(zhǔn)則進(jìn)行排名。
權(quán)利要求
1.一種用于在計算機(jī)輔助設(shè)計系統(tǒng)中設(shè)計對象組件的方法,所述方法包括-選擇00)所述組件中的第一對象和第二對象,所述第一對象和第二對象均具有界面 fn息;-計算Go)所述組件中的所述第一對象相對于所述第二對象的一組位置;以及 -同時顯示(90)所計算出的所述第一對象相對于所述第二對象的位置的表示。
2.如權(quán)利要求1所述的方法,其中,根據(jù)多個可視級別來顯示同時顯示的所計算出的 位置的表示。
3.如權(quán)利要求1到2中的任何一個所述的方法,其中,所述同時顯示的所計算出的位置 的表示具有各自的透明度。
4.如權(quán)利要求1到3中的任何一個所述的方法,其中,根據(jù)對所計算出的位置的排名, 顯示同時顯示的所計算出的位置的表示。
5.如權(quán)利要求1到4中的任何一個所述的方法,還包括位于所述顯示步驟之前的如下 步驟-根據(jù)至少一個準(zhǔn)則,對所述第一對象相對于所述第二對象的所述一組位置進(jìn)行排名。
6.如權(quán)利要求1到5中的任何一個所述的方法,還包括位于計算所述一組位置的步驟 之前的如下步驟-在用戶致動后,添加所述第一對象和第二對象之間的約束。
7.如權(quán)利要求5到6中的任何一個所述的方法,其中,所述組件中的所述第一對象和第 二對象是三維建模對象,并且其中,所述至少一個準(zhǔn)則是下述各項之一-所述組件中的所述第一對象和第二對象之間的多個約束;-由用戶建議的所述組件中的被相對地放置的所述第一對象和第二對象之間的多個約束;-所述組件中的被相對地放置的所述第一對象和第二對象在二維空間中的投影之間的 距離;-所述組件中的被相對地放置的所述第一對象和第二對象之間在三維空間中的距離; -所述組件中的被相對地放置的所述第一對象和第二對象之間的轉(zhuǎn)動角度; -所述組件中的被相對地放置的所述第一對象和第二對象在圖形用戶界面上是可見的;-檢測到所述組件中的被相對地放置的所述第一對象和第二對象之間的設(shè)計錯誤。
8.如權(quán)利要求1到7中的任何一個所述的方法,其中,計算所述組件中的所述第一對象 相對于所述第二對象的一組位置的步驟包括-計算所述第一對象和第二對象的界面信息的至少一個匹配;以及 -在每次計算所述至少一個匹配后,求解所述第一對象和第二對象之間的幾何約束。
9.如權(quán)利要求8所述的方法,其中,根據(jù)對圖形的遍歷來執(zhí)行計算所述界面信息的至 少一個匹配以及在每次計算所述至少一個匹配后求解幾何約束的步驟,其中-所述圖形的每個節(jié)點表示所述第一對象的一個界面信息和所述第二對象的一個界面 信息的組合;-指向父節(jié)點的所述圖形的給定級別上的所述圖形的每個節(jié)點表示已經(jīng)由在所述給定 級別的更高級別中的另一節(jié)點表示的組合;-不具有可求解的幾何約束的所述圖形的每個節(jié)點在所述圖形中被刪除;以及對于給定節(jié)點,通過下述各項提供所述一組位置中的一個位置-根據(jù)所述給定節(jié)點的組合構(gòu)建的一組約束;以及-根據(jù)所述給定節(jié)點的父節(jié)點的組合構(gòu)建的一組約束。
10.如權(quán)利要求8到9中的任何一個所述的方法,其中,計算所述組件中的所述第一對 象相對于所述第二對象的一組位置的步驟還包括-計算所述第一對象的至少兩個界面信息之間的第一標(biāo)識符和所述第二對象的至少兩 個界面信息之間的第二標(biāo)識符;-將所述界面信息的所述第一標(biāo)識符和第二標(biāo)識符關(guān)聯(lián)到分別擁有所述第一對象的至 少兩個界面信息和所述第二對象的至少兩個界面信息的對象;以及在計算涉及所述第一對象和第二對象中的至少一個的另一匹配期間,使用所述第一標(biāo) 識符和第二標(biāo)識符來識別匹配。
11.如權(quán)利要求1到10中的任何一個所述的方法,其中,首先,在考慮由所述用戶添加 的約束的情況下,執(zhí)行計算所述組件中的所述第一對象相對于所述第二對象的一組位置的 步驟,隨后,在不考慮由所述用戶添加的約束的情況下,執(zhí)行計算所述組件中的所述第一對 象相對于所述第二對象的一組位置的步驟。
12.如權(quán)利要求5到11中的任何一個所述的方法,其中,根據(jù)至少兩個準(zhǔn)則來執(zhí)行對所 述第一對象相對于所述第二對象的所述一組位置進(jìn)行排名的步驟,所述至少兩個準(zhǔn)則中的 每個準(zhǔn)則被排名,并根據(jù)所述排名后的準(zhǔn)則,按照字母順序?qū)λ鲆唤M位置進(jìn)行排名。
13.如權(quán)利要求1到12中的任何一個所述的方法,還包括在選擇第一對象和第二對象 的步驟處執(zhí)行如下步驟-識別所述第一對象的至少一個公開和所述第二對象的至少一個公開;以及-針對所述第一對象的至少一個所識別出的公開以及所述第二對象的至少一個所識別 出的公開中的每一個,計算所述第一對象的界面信息以及所述第二對象的界面信息。
14.如權(quán)利要求13所述的方法,其中,所述第一對象的至少一個公開和所述第二對象 的至少一個公開包括幾何要素。
15.如權(quán)利要求13到14中的任何一個所述的方法,其中,計算所述第一對象的界面信 息和所述第二對象的界面信息,以便表示與幾何要素間的一致性。
16.如權(quán)利要求14到15中的任何一個所述的方法,其中,所述幾何要素限于點、線、平 面、以及軸系統(tǒng)。
17.如權(quán)利要求1到16中的任何一個所述的方法,其中,在用戶對觸覺設(shè)備進(jìn)行動作 后,通過將光標(biāo)放置在同時顯示的所計算出的位置的表示中的一個表示上,來強(qiáng)調(diào)同時顯 示的表示中的所述一個表示。
18.一種存儲在計算機(jī)可讀介質(zhì)中的計算機(jī)程序,用于在計算機(jī)輔助設(shè)計系統(tǒng)中設(shè)計 對象組件,所述計算機(jī)程序包括用于使得所述計算機(jī)輔助設(shè)計系統(tǒng)執(zhí)行如權(quán)利要求1到17 中的任何一個所述的方法的步驟的代碼模塊。
19.一種用于在計算機(jī)輔助設(shè)計系統(tǒng)中設(shè)計對象組件的裝置,所述裝置包括用于實現(xiàn) 如權(quán)利要求1到17中的任何一個所述的方法的步驟的模塊。
全文摘要
本發(fā)明涉及用于在計算機(jī)輔助設(shè)計系統(tǒng)中設(shè)計對象組件的方法和系統(tǒng),所述方法包括選擇(20)所述組件中的第一對象和第二對象,所述第一對象和第二對象中的每個具有界面信息;計算(40)所述組件中的第一對象相對于第二對象的一組位置;以及同時顯示(90)所計算出的第一對象相對于第二對象的位置的表示。
文檔編號G06F9/44GK102053829SQ20101053728
公開日2011年5月11日 申請日期2010年11月5日 優(yōu)先權(quán)日2009年11月6日
發(fā)明者A·特滕, F·肖萬, M·迪蓋 申請人:達(dá)索系統(tǒng)公司