摘 要:幾何約束由元件的位置和方向表示,要求得匹配組件之間的完整約束,并且轉(zhuǎn)換成矩陣,將其中一個元件作為基元件,將另外一個元件作為匹配元件,通過旋轉(zhuǎn)和平移操作使元件滿足約束,確定元件的位置和方向。其中,旋轉(zhuǎn)矩陣通過求解一組與方向相關(guān)的線性約束方程來計算。應(yīng)用旋轉(zhuǎn)矩陣TR重新定位匹配組件之后,平移矩陣通過求解一組與位置相關(guān)的線性約束方程來計算。
關(guān)鍵詞:幾何約束;匹配條件;約束求解;幾何約束
中圖分類號:TP391.72 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-7712 (2014) 16-0000-01
裝配設(shè)計是產(chǎn)品設(shè)計的重要組成部分之一,因為大多數(shù)產(chǎn)品的生產(chǎn)是一個元件裝配的過程。眾所周知,裝配設(shè)計在工藝規(guī)劃,生產(chǎn)規(guī)劃與控制和包裝等流程中有重要影響。而幾何約束求解是計算機輔助設(shè)計的核心。幾何約束在CAD系統(tǒng)中用來指定2D草圖的尺寸,在三維裝配中確定元件的位置。目前研究的幾何約束求解方法趨于通用幾何約束求解器。Homann etal.[1]提出了基于形狀識別和基于最大匹配的求解方法,還提出了一種利用網(wǎng)絡(luò)流算法尋找最小密集子圖的方法[2],他們將這種方法應(yīng)用于邊界修改算法(MFA)[3].Gao和Zhang[4]提出了C-樹分解算法。雖然邊界修改算法和C-樹方法可以處理2維和3維問題,但是,具有無自由的缺點。本文基于上述缺陷提出了利用裝配元件的面和法向量求解約束的新方法,提高了約束求解的效率。
一、幾何約束求解問題
給定一個幾何元件(二維中的點、直線、圓、圓弧和三維中的點、直線、平面、球面、曲面等)的集合O和一關(guān)于集合O中幾何體之間的幾何約束(點與點之間的距離、直線與直線之間的角度、兩條直線垂直和直線與圓的相切等)的集合C,我們將二元組(O,C)稱為幾何約束問題.幾何約束求解是指根據(jù)一定的算法作出一個或所有滿足集合C的幾何圖形。通常,用戶總是先畫出一個設(shè)計問題的草圖,所以,幾何約束求解實際上是在一個草圖的基礎(chǔ)上進(jìn)行求解.我們可以將幾何約束問題分成三類:(1)完整約束幾何約束問題——幾何約束問題所對應(yīng)的幾何圖形的形狀有限;(2)欠約束幾何約束問題——幾何約束問題所對應(yīng)的幾何圖形的形狀有無限個;(3)過約束幾何約束問題——幾何約束問題無解。
二、3D中元件間幾何約束的求解
在3D元件裝配中主要有三種類型的匹配條件:(1)距離:指定匹配元件之間的距離;(2)夾角:指定匹配元件之間的夾角;(3)對齊:指定元件是在平面的同側(cè)對齊還是在另一側(cè)對齊。本文的匹配條件是從調(diào)整約束進(jìn)行考慮的,如:“相對面”,“適合”,和“共面”。一套完整約束匹配條件唯一定義一個4x4的變換矩陣,能夠確定匹配元件的相對方向和位置。更詳細(xì)的匹配條件描述將在下面給出。在下面的方程式中,上標(biāo)b,m,mr,和ma分別表示基本元件,匹配元件,旋轉(zhuǎn)后的匹配元件和組裝后的匹配元件。
(一)“相對面”匹配。“相對面”是指兩個平面的相對應(yīng)的面連接到一起。指定的面,是要匹配的面。每個面都是通過其單位法向量N和其局部坐標(biāo)系下面上的任何一點P指定的。該條件是通過約束兩個法向量是相對的,兩個點位于要匹配的兩個面的同一平面上來實現(xiàn)的。因此,這些約束可以表達(dá)為:
N^b=[■(■(N_x^y@N_y^b@N_z^y ))]=-[■(■(N_x^ma@N_y^ma@N_z^ma ))]=-N^ma (1)
[■(N_x^bN_y^bN_z^b )][■(P_x^b-P_x^ma@P_y^b-P_y^ma@P_z^b-P_z^ma )]=0 (2)
方程(1)和(2)分別是匹配元件關(guān)于基本元件的旋轉(zhuǎn)和平移運算。
(二)“適合”匹配?!斑m合”條件適用于兩個圓柱面:一個軸面和一個孔面?!斑m合”條件是通過需要的軸面的中心軸和孔元件平行和一點Pm在匹配組件所在的基本組件的軸上。軸是由一個單位方向向量和其上的一個點確定的。孔軸由一個點Pb和一個單位方向向量Nb根據(jù)它的局部坐標(biāo)系確定的。同樣,面軸是由一個指定的點Pm和一個單位的方向向量Nm根據(jù)它的局部坐標(biāo)系確定的。因此,“適合”條件的約束方程可寫為:
N^b={█(N^ma@〖-N〗^ma )┤ (3)
(P_x^ma-P_x^b)/(N_x^b )=(P_y^ma-P_y^b)/(N_y^b )=(P_z^ma-P_z^b)/(N_z^b )
(三)“共面”匹配?!肮裁妗钡臈l件是指定兩個平面當(dāng)他們處于同一個平面上時。它與“against”約束類似,除了標(biāo)準(zhǔn)向量Nb和Nm需要在同一個方向。因此,該約束可以表述為:
N^b=[■(■(N_x^y@N_y^b@N_z^y ))]=-[■(■(N_x^ma@N_y^ma@N_z^ma ))]=-N^ma (4)
[■(N_x^bN_y^bN_z^b )][■(P_x^b-P_x^ma@P_y^b-P_y^ma@P_z^b-P_z^ma )]=0
三、實例
該實例中充分運用各種匹配條件,實現(xiàn)了如圖1所示的效果。
圖1 實例圖
參考文獻(xiàn):
[1]Hoffman CM,Lomonosov A,Sitharam M.Decomposition plans for geometric constraint systems,Part I:performance measurea for CAD.J Symb Comp,2001(04):367-408.
[2]Gao X S,Hoffmann C M,Yang Weiqiang.Solving spatial basic geometric constraint configurations with locus intersection[A].In:Proceedings of ACM SM02[C].New York:ACM Press,2002:95-104.
[3]Hoffman CM,Lomonosov A,Sitharam M.Decomposition plans for geometric constraint systems,Part II:new algorithms.J Symb Comp,2001(31):409-427.
[4]Gao,X S,Zhang G.Geometric constraint solving via c-tree decomposition[A].In:Proceedings of ACM SM03[C].NewYork:ACM Press,2003:45-55.
[作者簡介]王晶(1984-),女,助教,計算機應(yīng)用碩士,研究方向:虛擬裝配仿真;楊培利(1985-),男,助教,計算機科學(xué)與技術(shù)學(xué)士,研究方向:虛擬裝配仿真。