專利名稱:在計算機(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)解決方案,該PLM解決方案稱為商業(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è)計者提供兩 個所選對象之間的位置,這些位置隨后被無用的位置快速地淹沒。
發(fā)明內(nèi)容
因此,根據(jù)如上簡短討論的現(xiàn)有解決方案的限制,需要以更容易和更快速地方式 改進(jìn)對象的重復(fù)組裝,從而提高設(shè)計者的生產(chǎn)率以及最小化設(shè)計錯誤。因此,本發(fā)明提供了一種用于在計算機(jī)輔助設(shè)計系統(tǒng)中設(shè)計對象組件的方法。所 述方法包括如下步驟選擇該組件中的第一對象和第二對象,該第一對象和第二對象中的 每個具有界面信息;計算該組件中的第一對象和第二對象之間的一組相對位置;根據(jù)至少 一個準(zhǔn)則對在第一對象和第二對象間的該組相對位置進(jìn)行排名,并根據(jù)排名步驟提供第一 對象和第二對象之間的相對位置中的最佳位置。根據(jù)本發(fā)明的方法可以包括如下特性中的一個或多個-在計算該組相對位置的步驟之前,在用戶啟動后,對第一對象和第二對象添加約 束的步驟;-在提供相對位置中的最佳位置的步驟之后,在圖像用戶界面上顯示第一對象和第二對象之間的相對位置中的最佳位置的步驟;-組件的第一對象和第二對象是三維建模對象,并且所述至少一個準(zhǔn)則是下列之-所述組件中的第一對象和第二對象之間的多個約束;-用戶建議的所述組件中的第一對象和第二對象之間的多個約束,所述第一對象和第二對象根據(jù)相對位置中的最佳位置被相對地放置;-根據(jù)相對位置中的最佳位置被相對地放置的所述組件中的第一對象和第二對象 之間的在三維空間中的距離;-根據(jù)相對位置中的最佳位置被相對地放置的所述組件中的第一對象和第二對象 在二維空間中的投影之間的距離;-根據(jù)相對位置中的最佳位置被相對地放置的所述組件中的第一對象和第二對象 之間的轉(zhuǎn)動角度;-根據(jù)相對位置中的最佳位置被相對地放置的所述組件中的第一對象和第二對象 在圖形用戶界面上是可見的;-檢測根據(jù)相對位置中的最佳位置被相對地放置的所述組件中的第一對象和第二 對象之間的設(shè)計錯誤;-計算組件的第一對象和第二對象間的一組相對位置的步驟包括計算第一對象 和第二對象的接口信息的至少一個匹配,并且在每次計算所述至少一個匹配后,求解所述 第一對象和第二對象之間的幾何約束;-根據(jù)圖形的遍歷來執(zhí)行計算所述界面信息的至少一個匹配以及在每次計算所述 至少一個匹配后求解幾何約束的步驟,其中,所述圖形的每個節(jié)點表示第一對象的一個界 面信息和第二對象的一個界面信息的組合,在指向父節(jié)點的該圖形的給定級上的該圖形的 每個節(jié)點表示已經(jīng)由在所述給定級的上級中的另一節(jié)點表示的組合,不具有可求解的幾何 約束的該圖形的每個節(jié)點被從該圖形中抑制,并且對于給定節(jié)點,該組相對位置中的一個 位置由下述提供-根據(jù)所述給定節(jié)點的組合構(gòu)建的一組約束,和從所述給定節(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ū)?該組相對位置進(jìn)行排名;
-在選擇第一對象和第二對象的步驟中識別所述第一對象的至少一個發(fā)布 (publication)以及所述第二對象的至少一個發(fā)布,以及針對所述第一對象的至少一個所 識別出的發(fā)布以及所述第二對象的至少一個所識別出的發(fā)布中的每一個,計算所述第一對 象的界面信息以及所述第二對象的界面信息;-所述第一對象的所述至少一個發(fā)布以及所述第二對象的所述至少一個發(fā)布包括 幾何要素;-計算所述第一對象的界面信息以及第二對象的界面信息,以便表示與幾何要素 間的一致性-所述幾何要素被限制為點、線、平面以及軸系統(tǒng)(axissystem);-提供相對位置中的最佳位置的步驟還包括提供該組位置的其他排名的相對位 置,在圖形用戶界面上顯示相對位置中的最佳位置的步驟還包括在圖形用戶界面上顯示 該組位置的其他排名的相對位置;-該組位置中的每個相對位置使用相應(yīng)的渲染被顯示,相應(yīng)的渲染根據(jù)排名步驟 的結(jié)果被確定;-每個相對位置的相應(yīng)渲染是相應(yīng)的透明級別。本發(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)所發(fā)布的技術(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)口 、
BFI ) ο第一對象和第二對象具有發(fā)布。通常,發(fā)布可以與對象一起存儲(或嵌入有對 象)。發(fā)布是在對象下聚集的到幾何要素或該對象內(nèi)的另一發(fā)布的鏈接,并且該發(fā)布公布并 且使得與將第一對象與對象組件中的其他對象(例如,與第二對象)交接相關(guān)的匹配信息 發(fā)布。相應(yīng)地,發(fā)布可以定義對象相對于對象組件中的至少一個其他對象的定位的一組知 識。所述發(fā)布與對象的聚集(或“嵌入”)大大增加了放置對象時的自動化,因為第一和第 二對象兩者都具有執(zhí)行匹配所需要的信息。發(fā)布是到幾何要素的鏈接。有利地,所述幾何要素可以被限制為點、線、平面和軸 系統(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的發(fā)布。螺絲400包括兩個發(fā)布軸401的發(fā)布以及 面402的發(fā)布。平板300包括5個發(fā)布孔301到304的每個軸對應(yīng)一個發(fā)布,以及面305 對應(yīng)于一個發(fā)布。兩個產(chǎn)品300和400的部件的這七個發(fā)布被公布,并且設(shè)計者可以訪問 它們所包含的信息?;氐綀D2,在步驟30,所發(fā)布的技術(shù)的過程確定所述第一對象和第二對象的發(fā)布 是否是界面信息。如果所有發(fā)布是界面信息,則所述過程的下一步驟是步驟40。相反,如果 部分所述發(fā)布不是界面信息,則所述過程的下一步驟是步驟31。界面信息是利用數(shù)據(jù)增強來與另一兼容界面信息構(gòu)建完全的指定約束的發(fā)布。由 此,界面信息提供與將所述組件的第一對象與至少另一對象交接相關(guān)的匹配信息,所述匹 配信息包括相對于所述組件的至少一個其他對象來定位第一對象所需要的知識。因此,由 于界面信息,可以相對另一對象添加和放置新的對象,而無需補充信息。使用界面信息對于 設(shè)計者是有利的,因為設(shè)計者可以在放置對象之前,添加該對象的匹配信息。另外,他們可 以取決于他們對對象的權(quán)利,訪問或不訪問該對象的匹配信息。這可以使得減少設(shè)計錯誤。 結(jié)果是,相對于另一對象來定位對象的過程得到改進(jìn),并且更快。在步驟31,根據(jù)本發(fā)明的過程識別所述第一和第二對象的至少一個發(fā)布,并且針 對每個所識別出的第一和第二對象的發(fā)布,計算所述第一和第二對象的界面信息。為此, 第一和第二對象的發(fā)布被增強,從而包括所有可用信息,比如所期望的幾何圖形的類型、方 位、以及第一對象的距離,以便構(gòu)建與兼容發(fā)布間的完全的指定約束。因此,界面信息基于 根據(jù)所述對象組件的所組裝的產(chǎn)品推導(dǎo)出的信息構(gòu)建。在實踐中,計算所述第一和第二對象的界面信息,以便表示與所述對象組件的 幾何要素間的一致性,例如,產(chǎn)品之間的最普遍的運動學(xué)聯(lián)合,比如一致性、旋轉(zhuǎn)、棱形 (prismatic),其中點到點一致性、線到線一致性以及面到面接觸作為約束。有利地,界面信 息被鏈接到對象的幾何要素,例如,幾何要素可以被限制到點、線、平面以及軸系統(tǒng)。與發(fā)布 類似,這個限制所導(dǎo)致的結(jié)果是,用于匹配對象所需要的信息量受限。
另外,一旦第一和第二對象的發(fā)布已經(jīng)被增強,也就是,計算出界面信息,則可以 構(gòu)建掛鉤點(hooking point)。掛鉤點是具有公共標(biāo)識符的一組界面信息或發(fā)布。在所述 過程的這個階段,掛鉤點允許識別在步驟31中計算出的界面信息。然而,界面信息不能總是根據(jù)發(fā)布計算出,例如,不存在足夠用來執(zhí)行所述計算的 信息。為此,界面信息和發(fā)布是可兼容的,這涉及僅僅利用發(fā)布、僅僅利用界面信息、或利用 發(fā)布和界面信息的混合來執(zhí)行步驟40-90。一旦執(zhí)行了步驟30和31,就執(zhí)行步驟40-62來計算所述組件中的第一對象和第二 對象之間的一組相對位置。在這個階段,第一和第二對象具有界面信息,并且可以利用這些 界面信息來計算該組相對位置。然而,如先前所述,還可以僅僅利用發(fā)布或者發(fā)布和界面信 息的混合來計算該組相對位置。計算第一和第二對象之間的該組相對位置還可以考慮補充約束,該補充約束是被 建議的約束。實際上,在執(zhí)行上述步驟40-62之前,可以在用戶致動后,輸入對第一對象和 第二對象的約束。有利地,在計算該組相對位置期間考慮所建議的約束,允許增加組裝過程 的速度。實際上,所計算出的該組位置將包括用戶的設(shè)計意圖,而無需補充的操作時間來匹 配對象,假設(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) 由“樹”(參見圖幻來輸入所建議的約束。按照非限制性方式,可以使用任何其他方式,以 便建議約束,如本領(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)建和遍歷。如本領(lǐng)域中所公知,圖形結(jié)構(gòu)包括由弧形連接的節(jié)點。該圖形的每個節(jié)點表示第 一對象的一個界面信息和第二對象的一個界面信息的組合,并且每個弧形表示從一個節(jié)點 通行到另一節(jié)點的可能性。如先前所見,可以在步驟31計算界面信息或發(fā)布的掛鉤點。掛鉤點允許識別所計 算出的界面信息以及創(chuàng)建界面信息組。有利地,計算屬于相同的掛鉤點的界面信息之間的 任何匹配。因此,計算的次數(shù)減少。再次參見圖3,考慮從螺絲400和平板300的發(fā)布開始 計算界面信息的方案。在該方案中,根據(jù)螺絲400的兩個發(fā)布來構(gòu)建螺絲400的掛鉤點,以 及根據(jù)平板300的5個發(fā)布來構(gòu)建平板300的掛鉤點。當(dāng)計算相對位置時,僅僅計算螺絲 400和平板300的發(fā)布之間的匹配。該圖形包括按照廣度優(yōu)先遍歷的多個級別(步驟43-44)在一個級別的同胞節(jié)點 的后代節(jié)點之前遍歷這些同胞節(jié)點。因此,逐級別遍歷該圖形,一旦已經(jīng)計算和求解父級別 的所有節(jié)點,則把父級別交給子級別,或者進(jìn)行相關(guān)測試。在該圖形的給定級別的該圖形的 每個節(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)建和遍歷該圖形的整個過程被增強。相反,如果計算節(jié)點處的匹配,則求解該節(jié)點的幾何約束(步驟53)。求解幾何約 束可以由本領(lǐng)域公知的求解器執(zhí)行。注意,抑制(suppression)不具有匹配的節(jié)點在求解 步驟是有利的。實際上,求解幾何約束要求大量該系統(tǒng)的計算資源,例如CPU、存儲器……。 結(jié)果是,所發(fā)布的技術(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ù)排名步驟,提供第一對象和第二對象之間的相對位置中的最佳位 置。相對位置的最佳位置是其他位置中滿足最多準(zhǔn)則的位置因此它是按字典順序排名的 位置中的第一位置。因此,當(dāng)設(shè)計對象的組件時設(shè)計者的生活體驗得到了提高。根據(jù)所發(fā) 布的技術(shù),設(shè)計者的視圖不再被大量的位置所淹沒。因此設(shè)計者的生產(chǎn)力得到了提高。此外,如果相對位置中的最佳位置沒有滿足設(shè)計者,他/她仍能夠顯示另一位置。 典型的,計算出的位置可以按照他們的排名順序一個接一個的提供給用戶。例如,用戶可以 致動觸控設(shè)備,并且在致動后(例如,在致動鼠標(biāo)輪后),計算出的位置基于相對位置的排 名以降序被顯示出來從最好位置的到最差位置來顯示各個位置。圖3到圖5是根據(jù)本發(fā)明的方法的實施例的圖形表示。圖3描述了在⑶I上顯示 的平板300和螺絲400。螺絲400是“要被放置”的對象,平板300是“目標(biāo)”對象。“特征 樹”在GUI中示出兩個對象的特性,比如它們的發(fā)布。螺絲400包括兩個發(fā)布軸401的發(fā) 布以及面402的發(fā)布。平板300包括5個發(fā)布孔301到304的每個軸的一個發(fā)布,和面 305的一個發(fā)布。接著,在圖4,用戶例如利用鼠標(biāo)的光標(biāo),通過點擊對象400的底面402的點403來 選擇“要被放置”的對象400。隨后,用戶通過點擊對象300的頂面305的點310來選擇“目 標(biāo)”對象300。由于螺絲400和平板300的發(fā)布不是界面信息,所以根據(jù)螺絲的兩個發(fā)布來 構(gòu)建它的掛鉤點,以及根據(jù)平板的5個發(fā)布來構(gòu)建它的掛鉤點。另外,用戶在選擇螺絲和平 板時建議約束平板的頂面和螺絲的底面之間的用戶約束。隨后,所述過程計算螺絲和平板之間的一組位置。為此,在第一次處理時,通過考慮所建議的約束來 構(gòu)建和遍歷圖形,以及在第二次處理時,在不考慮所建議的約束的情況 下構(gòu)建和遍歷圖形?;诼萁z和每個孔之間的軸-軸一致性來計算一組位置,并且該組相 對位置包括四個位置。為了解釋的目的,圖4中位置420-423被表示成影子視圖。在操作 中,這些位置不會被表示。接下來,根據(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)注為2)、420 (被標(biāo)注為3)以及421 (被標(biāo)注為4)。隨后,提供最佳的相對位置423。典型的,最佳的相對位置顯示在⑶I上。因此,設(shè) 計者可以快速的評估所提供的最佳位置是否滿足他/她的期望和設(shè)計意圖。除了設(shè)計者已經(jīng)選擇螺絲頭400的角500a和平板300的角500b之外,圖5與圖4 類似。因此,用戶所建議的約束是兩個角之間的接觸。當(dāng)計算一組相對位置時,與使用發(fā)布 構(gòu)建的約束一起完成用戶所建議的約束。然而,在這種情況下,這種約束的組合導(dǎo)致的結(jié)果 是,所述組合是過約束。因此,在考慮所建議的約束的情況下進(jìn)行的對該圖形的第一次處理 失敗,并且僅僅根據(jù)對所述圖形的第二次處理(即,在不考慮所建議的約束的情況下進(jìn)行 的處理)來計算該組相對位置。結(jié)果是,基于螺絲和平板的發(fā)布來計算所述相對位置。隨 后,對該組相對位置中的位置進(jìn)行排名,如圖4中類似,并且提供和在GUI上顯示最佳解決 方案501。此外,相對位置中的最佳位置可以同其他排名的該組相對位置一起被提供,并且 相對位置中的最佳位置可以同其他排名的該組相對位置一起被顯示。有益地,設(shè)計者可以 看到所有計算出的相對位置,并且因此,他/她可以確定哪個作為最相關(guān)的位置。此外,用 戶可以限制同時顯示的相對位置的數(shù)量,例如如果GUI中展現(xiàn)的許多的相對位置過于擁擠 的話。并且,該組相對位置中的每個相對位置可以以相應(yīng)的渲染被顯示,相應(yīng)的渲染根 據(jù)排名步驟的結(jié)果被確定。在CAD領(lǐng)域,“渲染”步驟的結(jié)果表示一個可選的視覺效果,其 應(yīng)用于對象的示出這個對象的特定特征的視覺效果屬性(顏色、透明度、紋理、發(fā)光參數(shù)等 等)。這可以是物理特征(比如,一個引擎將被接下來用金屬外觀來渲染),或阻抗特征(引 擎將使用示其熱阻的色彩方案來渲染),或可能的其他特征。因此,每個顯示的相對位置可 以有獨特的渲染,其可以是依賴于它的排名的可選的視覺效果。有益地,用戶可以在顯示的 相對位置中對每個相對位置的相應(yīng)排名進(jìn)行快速方便的評估。實際中,每個相對位置的相應(yīng)渲染可能是相應(yīng)的透明度。典型的,每個位置的相應(yīng) 渲染使得位置越好,所顯示的該位置越不透明。缺省的,最佳解決方案只有一點透明,而最 差解決方案幾乎是全透明的;中間的解決方案比最佳解決方案透明得多。實際中,最佳位置 的透明度被設(shè)置為一個參考值,從第二解決方案到最后一個解決方案的透明度線性的均勻 的從最高值(參考值的一半)降低到到最低值(幾乎全透明)。此外,相應(yīng)的渲染也可以根 據(jù)顏色代碼來進(jìn)行。
此外,設(shè)計者可以在位置之間進(jìn)行導(dǎo)航??梢酝ㄟ^將光標(biāo)放置在同時顯示的位置 中的一個位置上,來強調(diào)該位置。通常,這在用戶對觸控設(shè)備進(jìn)行動作(例如,將鼠標(biāo)的光 標(biāo)放置在該位置上)后執(zhí)行。對該位置的強調(diào)可以例如利用對該位置的高亮顯示來執(zhí)行。 高亮顯示包括對該位置的表示應(yīng)用輻射的發(fā)光顏色。所述強調(diào)還可以經(jīng)由可視化效果來執(zhí) 行,比如通過加深所強調(diào)位置的外廓來使該位置閃爍,或者增加構(gòu)成所強調(diào)位置的外廓的 點的密度。另外,可以使用允許設(shè)計者將一個位置與其他位置區(qū)分開的任何手段?,F(xiàn)在參見圖6到圖8,描繪了曲柄900與軸901間的匹配。在圖6,在⑶I上表示 根據(jù)本發(fā)明計算出的一組相對位置中的多個位置。在這些表示中,最佳位置910具有較小 的透明度,而位置920和930具有更大的透明度。圖6例示了透明度和所計算出的位置的 相關(guān)性之間的線性度。因此,用戶可以容易地檢測到什么是最佳的位置,因為透明度是較不 重要的。同時,如果最佳的相對位置不被認(rèn)為是設(shè)計者所關(guān)心的,則他/她仍然可以看見其 他相對位置。在圖7,設(shè)計者已經(jīng)將觸控設(shè)備的光標(biāo)902移到最佳位置910上。隨后,設(shè)計者可 以預(yù)先見到基于該最佳位置的解決方案在相對位置910的透明度增加的同時,其他位置 的透明度減小。因此,強調(diào)解決方案910,這有利地允許用戶容易地了解該解決方案。當(dāng)設(shè)計者將光標(biāo)902移到另一相對位置930上方時,則接著該相對位置被強調(diào),如 圖8中所示。因此,設(shè)計者可以預(yù)先見到獨立于其他位置的每個位置。要理解的是,前述方法可以應(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)行補充,或者包含在ASIC中。網(wǎng)絡(luò)適配器1205管 理對網(wǎng)絡(luò)1206的訪問??蛻舳擞嬎銠C(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)所述組件中的所述第一對象和第二對象之間的一組相對位置; -根據(jù)至少一個準(zhǔn)則來對在所述第一對象和第二對象之間的該一組相對位置進(jìn)行排名 (80);和-根據(jù)所述進(jìn)行排名的步驟來提供(90)在所述第一對象和第二對象之間的所述相對 位置中的最佳位置。
2.如權(quán)利要求1所述的方法,在計算所述一組相對位置的步驟之前,所述方法還包括 如下步驟-在用戶致動后,向所述第一對象和第二對象添加約束。
3.如權(quán)利要求1到2中的一個所述的方法,在提供所述相對位置中的最佳位置的步驟 之后,所述方法還包括如下步驟-在圖形用戶界面上顯示所述第一對象和第二對象之間的所述相對位置中的最佳位置。
4.如權(quán)利要求2到3中的一個所述的方法,其中,所述組件中的所述第一對象和第二對 象是三維建模對象,并且其中,所述至少一個準(zhǔn)則是下述各項之一-所述組件中的所述第一對象和第二對象之間的多個約束;-由用戶建議的所述組件中的所述第一對象和第二對象之間的多個約束,所述第一對 象和第二對象根據(jù)所述相對位置中的最佳位置被相對地放置;-所述組件中的所述第一對象和第二對象在二維空間中的投影之間的距離,所述第一 對象和第二對象根據(jù)所述相對位置中的最佳位置被相對地放置;-所述組件中的所述第一對象和第二對象之間在三維空間中的距離,所述第一對象和 第二對象根據(jù)所述相對位置中的最佳位置被相對地放置;-所述組件中的所述第一對象和第二對象之間的轉(zhuǎn)動角度,所述第一對象和第二對象 根據(jù)所述相對位置中的最佳位置被相對地放置;-所述組件中的所述第一對象和第二對象在所述圖形用戶界面上是可見的,所述第一 對象和第二對象根據(jù)所述相對位置中的最佳位置被相對地放置;-檢測到所述組件中的所述第一對象和第二對象之間的設(shè)計錯誤,所述第一對象和第 二對象根據(jù)所述相對位置中的最佳位置被相對地放置。
5.如權(quán)利要求1到4中的一個所述的方法,其中,計算所述組件中的所述第一對象和第 二對象之間的一組相對位置的步驟包括-計算所述第一對象和第二對象的界面信息的至少一個匹配;和 -在每次計算所述至少一個匹配后,求解所述第一對象和第二對象之間的幾何約束。
6.如權(quán)利要求5所述的方法,其中,根據(jù)對圖形的遍歷來執(zhí)行計算所述界面信息的至 少一個匹配和在每次計算所述至少一個匹配后求解幾何約束的步驟,其中-所述圖形的每個節(jié)點表示所述第一對象的一個界面信息和所述第二對象的一個界面 信息的組合;-指向父節(jié)點的所述圖形的給定級別處的所述圖形的每個節(jié)點表示已經(jīng)由在所述給定級別的更高級別中的另一節(jié)點表示的組合;-不具有可求解的幾何約束的所述圖形的每個節(jié)點在所述圖形中被抑制;和 -對于給定節(jié)點,通過下述各項提供所述一組相對位置中的一個相對位置 -根據(jù)所述給定節(jié)點的組合構(gòu)建的一組約束;和 -根據(jù)所述給定節(jié)點的父節(jié)點的組合構(gòu)建的一組約束。
7.如權(quán)利要求5到6中的一個所述的方法,其中,計算所述組件中的所述第一對象和第 二對象之間的一組相對位置的步驟還包括-計算所述第一對象的至少兩個界面信息之間的第一標(biāo)識符和所述第二對象的至少兩 個界面信息之間的第二標(biāo)識符;-將所述界面信息的所述第一標(biāo)識符和第二標(biāo)識符關(guān)聯(lián)到分別擁有所述第一對象的所 述至少兩個界面信息和所述第二對象的所述至少兩個界面信息的對象;和-在計算涉及所述第一對象和第二對象中的至少一個的另一匹配期間,使用所述第一 標(biāo)識符和第二標(biāo)識符來識別匹配。
8.如權(quán)利要求2到7中的一個所述的方法,其中,首先,在考慮由所述用戶添加的約束 的情況下,執(zhí)行計算所述組件中的所述第一對象和所述第二對象之間的一組相對位置的步 驟,隨后,在不考慮由所述用戶添加的約束的情況下,執(zhí)行計算所述組件中的所述第一對象 和第二對象之間的一組相對位置的步驟。
9.如權(quán)利要求1到8中的一個所述的方法,其中,根據(jù)至少兩個準(zhǔn)則來執(zhí)行對所述一組 相對位置進(jìn)行排名的步驟,所述至少兩個準(zhǔn)則中的每個準(zhǔn)則被排名,并根據(jù)所述排名后的 準(zhǔn)則,按照字母順序?qū)λ鲆唤M相對位置進(jìn)行排名。
10.如權(quán)利要求1到9中的一個所述的方法,還包括在選擇第一對象和第二對象的步驟 處執(zhí)行如下步驟-識別所述第一對象的至少一個發(fā)布和所述第二對象的至少一個發(fā)布;和 -針對所述第一對象的至少一個所識別出的發(fā)布和所述第二對象的至少一個所識別出 的發(fā)布中的每一個,計算所述第一對象的界面信息和所述第二對象的界面信息。
11.如權(quán)利要求10所述的方法,其中,所述第一對象的至少一個發(fā)布和所述第二對象 的至少一個發(fā)布包括幾何要素。
12.如權(quán)利要求10到11中的一個所述的方法,其中,計算所述第一對象的界面信息和 所述第二對象的界面信息,以便表示與幾何要素間的一致性。
13.如權(quán)利要求11到12中的一個所述的方法,其中,所述幾何要素限于點、線、平面、和 軸系統(tǒng)。
14.如權(quán)利要求2到13中的一個所述的方法,其中-提供所述相對位置中的最佳位置的步驟還包括提供所述一組相對位置中的其他排 名的相對位置;和-在圖形用戶界面上顯示所述相對位置中的最佳位置的步驟還包括在圖形用戶界面 上顯示所述一組相對位置中的其他排名的相對位置。
15.如權(quán)利要求2到14中的一個所述的方法,其中使用相應(yīng)的渲染來顯示所述一組相 對位置中的每個相對位置,所述相應(yīng)的渲染是根據(jù)排名步驟的結(jié)果來確定的。
16.如權(quán)利要求15所述的方法,其中所述一組相對位置中的每個相對位置的相應(yīng)的渲染是相應(yīng)的透明級別。
17.一種存儲在計算機(jī)可讀介質(zhì)中的計算機(jī)程序,用于在計算機(jī)輔助設(shè)計系統(tǒng)中設(shè)計 對象組件,所述計算機(jī)程序包括用于使得所述計算機(jī)輔助設(shè)計系統(tǒng)執(zhí)行如權(quán)利要求1到16 中的任何一個所述的步驟的代碼模塊。
18.一種用于在計算機(jī)輔助設(shè)計系統(tǒng)中設(shè)計對象組件的裝置,所述裝置包括用于實現(xiàn) 如權(quán)利要求1到16中的任何一個所述的方法的步驟的模塊。
全文摘要
本發(fā)明涉及在計算機(jī)輔助設(shè)計系統(tǒng)中設(shè)計對象組件的方法,所述方法包括選擇(20)所述組件中的第一對象和第二對象,所述第一對象和第二對象均具有界面信息;計算(40)所述組件中的所述第一對象和第二對象之間的一組相對位置;根據(jù)至少一個準(zhǔn)則來對在所述第一對象和第二對象之間的該一組相對位置進(jìn)行排名(80);和根據(jù)所述進(jìn)行排名的步驟來提供(90)在所述第一對象和第二對象之間的所述相對位置中的最佳位置。
文檔編號G06F9/44GK102073499SQ20101062427
公開日2011年5月25日 申請日期2010年11月5日 優(yōu)先權(quán)日2009年11月6日
發(fā)明者A·特滕, F·肖萬, M·迪蓋 申請人:達(dá)索系統(tǒng)公司