秦飛巍,李路野,高曙明
(浙江大學CAD&CG國家重點實驗室,浙江 杭州 310058)
參數(shù)化特征模型是主流的計算機輔助設計(Computer Aided Design,CAD)模型,實現(xiàn)參數(shù)化特征模型的檢索與重用十分重要。不同CAD系統(tǒng)生成的參數(shù)化特征模型是異構的,其本質是一種語義模型[1]。為了有效地支持基于語義的參數(shù)化特征模型的檢索,需要對異構的參數(shù)化特征模型進行統(tǒng)一的語義描述。
本體是實現(xiàn)異構模型統(tǒng)一語義表示的有效途徑,也是實現(xiàn)基于語義的異構參數(shù)化特征模型檢索的有效手段,其核心問題是如何有效實現(xiàn)CAD系統(tǒng)特征本體到公共特征本體的映射。圍繞本體映射,國內(nèi)外學者已經(jīng)開展了一系列研究工作。浙江大學陳磊等[2]針對三維模型的知識表示、重用和共享等問題,提出一個基于本體的產(chǎn)品數(shù)據(jù)語義互操作框架。該框架首先構建應用本體和產(chǎn)品數(shù)據(jù)語義描述語言本體,然后在兩者之間建立映射關系。最后,以產(chǎn)品數(shù)據(jù)語義描述語言本體為中介,實現(xiàn)異構CAD系統(tǒng)間的產(chǎn)品數(shù)據(jù)語義互操作。高鵬等[3]針對大規(guī)模定制生產(chǎn)中用戶需求表達問題,提出一種基于本體映射的用戶需求知識向產(chǎn)品配置知識自動轉換的方法。首先建立用戶需求本體和產(chǎn)品配置本體,然后通過兩個本體之間的映射,完成用戶需求知識向產(chǎn)品配置知識的轉換。北京航空航天大學余旭等[4]針對產(chǎn)品數(shù)據(jù)管理系統(tǒng)中知識重用難的問題,利用“領域本體—索引知識—數(shù)據(jù)資源”三層映射結構表達設計知識,提出基于領域本體的設計知識檢索技術。華盛頓州立大學Zhan等[5]提出一種本體映射方法,用于CAD系統(tǒng)和虛擬裝配系統(tǒng)之間的產(chǎn)品數(shù)據(jù)信息集成。在這個工作中,定義了Pro/Engineer系統(tǒng)本體(Pro/Engineer Application Ontology,PRO-AO)和虛擬裝配系統(tǒng)本體(Virtual Assembly Design Environment Application Ontology,VADE-AO)兩個本體。首先,利用系統(tǒng)應用程序接口(Application Programming Interface,API),提取源CAD系統(tǒng)中的產(chǎn)品數(shù)據(jù)信息并轉換成Web本體語言(Web Ontology Language,OWL)實例的形式;然后,利用自動化的算法和規(guī)則,在源CAD系統(tǒng)本體和目標裝配系統(tǒng)本體之間進行本體映射;最后,對源本體和目標本體匹配上的概念進行實例轉換,獲得目標系統(tǒng)的有關產(chǎn)品數(shù)據(jù)。馬薩諸塞大學的Altidor等[6]提出一種特征本體映射方法,用于實現(xiàn)CAD系統(tǒng)之間的特征信息交換和互操作。他們采用一種混雜的特征圖模型來表達隱式的特征屬性(如參數(shù)、草圖和布爾操作)和顯式的特征屬性(如點、線、面和體);利用系統(tǒng)API提取出源系統(tǒng)和目標系統(tǒng)中的特征數(shù)據(jù)信息,轉換成資源描述框架(Resource Description Framework,RDF)/可擴展標記語言(eXtensible Markup Language,XML)格式;在源系統(tǒng)特征本體和目標系統(tǒng)特征本體之間進行動態(tài)映射并計算相似度,選取目標系統(tǒng)中相似度較大的概念作為匹配成功的特征概念。
本文針對參數(shù)化特征模型檢索與重用的需要,提出一種新的自動化特征本體映射方法,該方法能夠處理復雜的特征本體映射,生成由不同CAD系統(tǒng)創(chuàng)建的異構產(chǎn)品特征模型的基于本體的統(tǒng)一語義描述,從而有效地支持異構參數(shù)化特征模型的檢索和重用。
在CAD領域存在多個商品化CAD軟件系統(tǒng),不同廠商使用不同數(shù)據(jù)格式、不同的術語和定義來表達特征信息。目前,CAD系統(tǒng)之間僅能交換和共享基于邊界表示的低層產(chǎn)品數(shù)據(jù)信息,對帶有高層語義信息的參數(shù)化特征模型還沒有一個統(tǒng)一的描述。本體是對某一概念化所做的一種顯式的解釋說明。采用一套領域相關的專門術語來定義一個本體,以人和機器可以理解的術語來描述某具體領域的概念、概念之間的關系、屬性、約束和對象等,并通過形式化的公理來限制和規(guī)范這些術語的解釋和使用,可以有效地解決領域知識的共享問題。因此,本文采用特征本體來實現(xiàn)異構特征模型的統(tǒng)一語義描述。特征本體建??刹捎脙煞N方式:①針對每一CAD系統(tǒng)建立特征本體,然后在各個系統(tǒng)特征本體之間進行本體映射;②對各個CAD系統(tǒng)建立特征本體,同時針對CAD領域建立一個公共特征本體,本體映射在CAD系統(tǒng)特征本體和公共特征本體之間進行。本文采用第2種建模方式,這樣建立好的特征本體模型具有更好的通用性和可擴展性,關鍵在于如何構建一個合適的公共特征本體。下面分別介紹公共特征本體和CAD系統(tǒng)特征本體的構建過程。
一個好的領域本體應該具有準確性、清晰性、一致性、完整性、緊湊性、可擴展性、計算有效性和良好的應用性[7]。本著這些原則,公共特征本體(Common Feature Ontology,CFO)(如圖1)的構建基于行業(yè)標準產(chǎn)品模型數(shù)據(jù)交換標準(STandard for the Exchange of Product model data,STEP)進行,并根據(jù)特征模型檢索的實際需求進行了相應的調(diào)整。CFO本體構建過程如下:
(1)確定CFO的應用領域和使用范圍 本文建立CFO是為了給異構參數(shù)化特征模型提供一個統(tǒng)一的語義描述,以支持異構參數(shù)化特征模型的檢索和重用。因此,CFO應覆蓋整個CAD領域,對所有的設計特征都能提供一致的語義描述。
(2)枚舉出本體中需要采用的重要術語和詞匯
枚舉出本體中要采用的關鍵術語、這些術語可能具有的屬性,以及用于描述這些屬性所采用的詞匯。術語要準確、清晰、無歧義,在行業(yè)內(nèi)具有一定的權威性。因此,CFO中關于特征概念的術語來源于STEP標準的111——基于過程的實體形狀建模元素(elements for the procedural modeling of solid shapes),它是CAD系統(tǒng)特征建模操作的標準[8]。要能準確地描述特征,還得對特征涉及的其他概念進行描述。與特征概念相關的其他概念至少有對應的幾何實體的邊界表示信息,其術語選自STEP標準的42——幾何和拓撲表達(geometric and topological representation);草圖、參數(shù)和約束的術語選自STEP標準的108——幾何模型的參數(shù)化和約束(parameterization and constraints for explicit geometric product models)。公共特征本體的術語全部選自行業(yè)標準STEP和WordNet,使得概念表達具有準確性和清晰性,同時本體中只包含特征概念術語以及特征概念必須涉及的相關概念的術語,使得本體盡可能緊湊。
(3)確定本體建模語言和建模工具 本體建模語言采用OWL的DL(description logics)子語言。DL是一階邏輯的可判定子集,使得DL子語言既具有較好的表達能力,又可以進行推理,具有計算有效性[9]。選用Protégé作為本體開發(fā)環(huán)境,它支持許多推理工具,如Fact++,Pellet等,可以在建模過程中隨時使用推理機對本體進行一致性檢查、自動分類和隱含類型推斷,以保證本體的一致性。
(4)定義本體中的類和類之間的層次關系CFO中核心的類有特征(Feature)、零件(Part)、裝配體(Assembly)、幾何實體(Geometry)和草圖(Sketch)等,自頂向下地定義類之間的層次關系。特征可分為體特征(BodyFeature)、輔助特征(Auxiliary)和組合特征(Combined)。體特征可分為正特征(Protrusion)和負特征(Depression),負特征有孔(Hole)、腔體(Pocket)、鍵槽(Slot)和溝槽(Groove)等,正特征有基本體素特征、拉伸和回轉特征等。每個高層特征還有一些子類型,如孔特征可進一步分為盲孔(Blind Hole)和通孔(Through Hole)特征等。幾何實體可分為點(Point)、線(Curve)、面(Surface)、體(Volume)和向量(Vector),曲線包含直線 (Line)、圓 錐 曲 線 (Conic)和 樣 條 曲 線(Spline)等。
(5)定義本體中類的屬性(Slots) 在定義好了本體的類之后,需要對類的內(nèi)部結構——屬性(Slots)進行描述。以核心概念Feature為例,特征具有的主要屬性有:①hasParent,特征依賴圖中該特征的父特征,其值域也為特征。②hasChildren,特征依賴圖中該特征的子特征,其值域也為特征。③hasRefGeometry,創(chuàng)建特征時所基于的幾何體,其值域為Geometry。hasRefGeometry細分為子屬性 hasRefPoint,hasRefCurve,hasRefSurface和hasRefVolume。④hasParameter,記錄特征相關的參數(shù),其值域為參數(shù)。hasParameter是特征所有參數(shù)屬性的父屬性,它可細分為子屬性hasRadius,hasDistance,hasDepth和hasDirection等,各個子屬性分別有自己的數(shù)據(jù)類型和取值范圍。⑤isFeatureOf,特征所屬的零件,其值域為Part。⑥alias,特征的別名,其值域為字符串。層次關系圖中更低層的類繼承高層類的屬性,同時擁有自己專門的屬性。如孔除了繼承來自上層類Feature的所有屬性之外,還有自己的屬性孔深度hasDepth,它是hasParameter的子屬性,其值域為Float,取值大于0。
(6)定義屬性的性質(Facets) OWL DL語言中類的屬性具有多種性質(Facets),如取值類型、取值范圍、屬性數(shù)目(Cardinality)、傳遞性(Transitive)、對稱性(Symmetric)、功能性(Functional)和互逆屬性(Inverse)。指定了屬性的性質,本體才具有完整性,方便后續(xù)對本體庫的執(zhí)行推理。如has-Parent和hasChildren都具有傳遞性,且互為逆屬性;hasFeature和isFeatureOf互為逆屬性,isFeatureOf是Functional的,hasFeature是Inverse-Functional的。
建立好的公共特征本體的局部層次關系如圖1所示。
根據(jù)具體的商用CAD系統(tǒng)所使用的專業(yè)術語和定義,建立相應的應用特征本體(Application Feature Ontology,AFO)。以SolidWorks為例,建立的SW本體局部層次關系如圖2所示。Solid-Works中的特征可分為基本特征、工程特征和編輯特征三大類。其中:①基本特征包括基礎特征和基準特征?;A特征均在草圖的基礎上生成,有拉伸、回轉、掃掠、混成和加厚五種;基準特征指基準面、基準軸、基準曲線、基準點、基準坐標和配合參考等。②工程特征在已有特征的基礎上生成,也稱為二次特征,包括圓角、倒角、孔、抽殼、筋和圓頂?shù)?。③編輯特征也是在已有特征的基礎上生成的,主要有切除、復制、陣列和鏡像四種。需要說明的是,對于AFO的每個特征概念,都同時保存了特征對應幾何實體的基于邊界表示的相關信息。
本體映射可以消除語義異構,建立參數(shù)化特征模型的統(tǒng)一語義描述。為了實現(xiàn)從AFO本體到CFO本體的有效準確映射,需要解決三個方面的問題:①語義異構問題;②復雜映射問題(現(xiàn)有工作尚未涉及);③映射結果檢查。
在不同的CAD系統(tǒng)中,同一個特征概念可能使用不同的專業(yè)術語和詞匯來表達,同時同一術語也可能在不同的環(huán)境下表達不同的特征概念和含義。例如,對于零件之間的配合關系,Pro/Engineer系統(tǒng)使用Mate來表示,CATIA系統(tǒng)使用Contact來表示;對于拉伸特征,SolidWorks系統(tǒng)使用Extruded Boss/Base來表示,而SolidEdge系統(tǒng)使用Protrusion來表示。對于這樣的語義異構問題,可以采用文獻[5-6]提出的本體映射方法解決。但是,通過對CAD應用系統(tǒng)進行分析,發(fā)現(xiàn)還存在如下情形,即源系統(tǒng)中的概念和目標系統(tǒng)中的概念在語義上不僅只是一對一的匹配關系,還可能存在其他多種形式的匹配關系。源系統(tǒng)中的某概念可能在語義上包含目標系統(tǒng)中的多個概念,或者源系統(tǒng)中的某個概念被目標系統(tǒng)中的概念所包含,甚至在目標系統(tǒng)中找不到與源系統(tǒng)中的概念相對應的概念。例如對于陣列/復制特征操作,UG NX系統(tǒng)中使用Instance Feature來表示,而SolidWorks系統(tǒng)中分別使用 Linear Pattern和 Circular Pattern表示;SolidWorks系統(tǒng)中Chamfer既表示邊倒角也表示點倒角,而在UG NX系統(tǒng)中Chamfer只表示邊倒角,SolidWorks中的術語Chamfer語義上包含了UG NX系統(tǒng)中的術語“Chamfer”?,F(xiàn)有的特征本體映射工作有一定的局限性,無法解決這種特征本體概念之間的復雜映射情況(一對多、多對一和奇異特征)。
本文提出的本體映射方法可以解決特征本體之間的復雜映射情形,基本思路如下:①分析CFO和AFO中特征概念的結構,考慮其自身的內(nèi)外部結構特點,采用新的屬性相似度和概念相似度計算方法,從多個角度衡量概念之間的相似程度;②基于從不同角度衡量相似度的相似性評價指標,對特征概念在復雜映射情況下的映射類型作出判別;③采用自動化的特征本體映射算法,先做名稱匹配,再做結構匹配;④利用本體的推理能力和語義網(wǎng)規(guī)則語言(Semantic Web Rule Language,SWRL),對概念匹配的結果進行一致性檢查和驗證,以保證本體映射的有效性和準確性。
相似性評價用于計算來自不同本體的概念之間的相似度。針對特征本體進行相似性評價的難點在于,不同商業(yè)CAD系統(tǒng)描述特征概念時不但可能使用不同的術語,而且在語義上也存在多種對應關系(一對一、一對多、多對一和無法對應)。因此,要從多個角度來定義相似性評價指標,才能對這種復雜映射情形下的特征概念進行相似度的計算和衡量。
概念(類)在本體中具有外部結構和內(nèi)部結構[10]。概念實體的外部結構是概念和本體中其他概念的關系,特征本體概念之間存在的關系主要有層次關系(subClassOf)、組成關系(partOf)和同類關系(siblingOf)??梢园烟卣鞅倔w看成一個帶屬性邊的有向圖,概念實體是圖中的節(jié)點,概念與概念之間的關系是圖中的有向屬性邊。這樣就將本體映射問題轉換成一個圖同構問題,將查找匹配概念變成查找公共有向子圖。但對特征本體分析后發(fā)現(xiàn),特征本體的層次關系并不復雜,且AFO和CFO的圖結構非常類似,因此難以利用特征概念的外部結構進行相似性評價。
概念的內(nèi)部結構是概念自身所擁有屬性的總和。進行相似性評價時主要利用特征概念在本體中的內(nèi)部結構,因為不同的特征概念具有完全不同的內(nèi)部結構,所以可以用作相似性度量。例如Shell特征,它有屬性hasRefSurface,是hasRefGeometry的子屬性,值域為Surface,Cardinality=1;屬性thickness是hasParameter的子屬性,F(xiàn)unctional=true,cardinality=1,值域為float,取值大于0。Extruded Boss/Base特征,它有屬性hasSketch,值域為Sketch,是isSketchOf的逆屬性,值域為Sketch,Cardinality=1;屬性termination1和termination2式中Wi是權重,依據(jù)性質的重要性分配其大小,一般應給予標簽和值域以較大的權重。在本文的實驗中,設置標簽的權值為0.7,值域的權值為0.3。同時,兩個等價屬性的基數(shù)、功能性、對稱性、傳遞性和是否有逆屬性等性質,必須完全保持一致。
然后,考慮如何評價兩個特征概念之間的相似性。兩個特征概念之間共有的屬性數(shù)目#sim_attributes越多,表明兩個概念越相似;在復雜映射情形下,相似性評價指標不僅要能衡量系統(tǒng)特征本體概念s和公共特征本體概念t在一一對應情況下的語義接近程度,還要對s在語義上包含t,或者s在語義上被t包含的情況下的語義相似度進行計算和區(qū)分?;谏鲜隹紤],從兩個角度出發(fā),定義相似性評價指標如下:是hasParameter的子屬性,F(xiàn)unctional=true,cardinality=1,值域為int;屬性depth1和depth2是hasParameter的子屬性,F(xiàn)unctional=true,cardinality=1,值域為float。可以利用內(nèi)部結構的不同來區(qū)分Shell特征和Extruded Boss/Base特征。
首先,利用屬性自身的性質(Facets)計算出等價的屬性,一個屬性擁有多種性質,即定義域、值域、標簽、描述、基數(shù)、功能性、對稱性、傳遞性和是否有逆屬性等。因此,兩個屬性A和B的相似度計算如下:
式中:#sim_attributes指源系統(tǒng)特征本體中概念s和目標公共特征本體中概念t共有的屬性數(shù)目,#AFO_attributes指源系統(tǒng)特征本體中概念s包含的屬性數(shù)目,#CFO_attributes指目標公共特征本體中概念t包含的屬性數(shù)目。
利用閾值將概念相似程度值域劃分為匹配區(qū)間和差異區(qū)間兩個區(qū)間。定義ThrAFO為AFO中的判別閾值,當SimAFO(s,t)>ThrAFO時,SimAFO(s,t)≈1,兩個概念在SimAFO度量下落在匹配區(qū)間;否則SimAFO(s,t)?1,兩個概念在SimAFO度量下落在差異區(qū)間。ThrCFO為CFO中的判別閾值,當SimCFO(s,t)>ThrCFO時,SimCFO(s,t)≈1,兩個概念在SimCFO度量下落在匹配區(qū)間;否則SimCFO(s,t)?1,兩個概念在SimCFO度量下落在差異區(qū)間。可根據(jù)具體的本體映射將閾值設置為不同的值,在本文實驗中,當SW 本體和CFO映射時,取ThrAFO=ThrCFO=0.91,NX本體和CFO映射時取ThrAFO=ThrCFO=0.89,實驗結果表明選取這樣的閾值比較合適。
基于相似性評價指標進行相似度計算,得出特征概念在不同角度的相似度值,并獲得相似度值所處的區(qū)間。在此基礎上,可以判別出源AFO中的M個特征概念si(i=1,…,M)和目標CFO中的N個特征概念tj(j=1,…,N)之間的如下對應關系:
(1)一對一特征映射 源本體和目標本體中的特征概念使用相同或者不同的術語來表達,但它們描述的都是同一個特征語義,因此具有幾乎相同的內(nèi)部結構。對于源本體中的si,能夠在目標本體中找到tk,使得SimAFO(si,tk)≈1且SimCFO(si,tk)≈1。
(2)多對一特征映射 源本體中的特征概念所表達的特征語義是目標本體中的特征概念所表達的特征語義的一部分,即源本體中的特征概念被目標本體中的特征概念所包含。這時,目標本體中的概念內(nèi)部結構可分為兩部分:①與源本體中的特征概念共有的屬性集合;②其他屬性集合。對于源本體中的si,能夠在目標本體中找到tk,使得SimAFO(si,tk)≈1且SimCFO(si,tk)?1。在這種情況下,一般還能在接下來的映射過程中,找到另外的源本體概念sx(x = 1,…,l), 使 得 SimAFO(sx,tk) ≈ 1 且SimCFO(sx,tk)?1,它們共同構成對tk的多對一映射。
(3)一對多特征映射 源本體中的特征概念所表達的特征語義包含目標本體中的特征概念所表達的特征語義。這時源本體中的概念內(nèi)部結構可分為兩部分:①與目標本體中特征概念共有的屬性集合;②其他屬性集合。對于源本體中的si,能夠在目標本體中找到tx(x=1,…,l),使得SimAFO(si,tx)?1,且SimCFO(si,tx)≈1(x=1,…,l)。此時si和目標本體中的l個概念之間是一對多的映射。
(4)無法映射的特征 之所以會出現(xiàn)這樣的情況,是因為CAD應用系統(tǒng)中存在奇異特征,即這樣的特征操作是某個CAD系統(tǒng)獨有的,在其他系統(tǒng)中沒有類似的特征操作。這時對于源本體中的si,目標系統(tǒng)的所有概念tk(k=1,…,n),SimAFO(si,tk)?1且SimCFO(si,tk)?1。對于奇異特征,可以根據(jù)其對特征模型檢索的影響程度,添加新的概念到CFO中,或者簡單地將其拋棄。
用于AFO和CFO之間特征概念匹配的本體映射算法,既考慮特征概念的名稱,又考慮特征概念的結構。名稱匹配簡單地比較兩個概念的標志符、標簽和別名。首先進行基于名稱的匹配是考慮這樣一個前提,即在大多數(shù)情況下,用戶通常會使用相同或者相近的詞匯來表示語義相同的概念,因此先進行名稱匹配可以提高整個映射算法的效率。然而,自然語言中存在同義詞現(xiàn)象和一詞多義現(xiàn)象,因此名稱匹配只能用于預判斷,關鍵是進行后續(xù)的結構匹配。結構匹配考慮兩個概念的內(nèi)部結構,通過前面提出的兩個相似度評價指標,進行多種類型的匹配判斷。
本體映射算法的流程圖如圖3所示,具體步驟如下:
步驟1 排序。將AFO中所有M個特征概念按字母序排序,形成源本體特征列表;將CFO中的所有N個特征概念按字母序排序,形成目標本體特征列表。排序可使得查找時間復雜度從O(N)降低到O(log N)。
步驟2 名稱匹配。選取AFO中的某特征概念si,與CFO中的特征概念tj(j=1,…,n)按基于名稱的匹配技術進行概念匹配,匹配成功則轉步驟3,否則轉步驟4。先做名稱匹配的目的是提高映射算法的整體效率。
步驟3 一對一映射識別。將si和名詞匹配上的tk做結構匹配,若SimAFO(i,k)≈1且SimCFO(i,k)≈1,則匹配成功,特征si和tk之間是一對一的特征映射,本次匹配結束,轉步驟2,進行下一個概念的匹配。
步驟4 全局結構匹配,多路選擇判斷。將AFO中的特征概念si與CFO中的特征概念tj(j=1,…,k-1,k+1,…,n)按基于結構的匹配技術進行概念匹配,計算SimAFO和SimCFO兩個相似度評價指標。對CFO中的特征概念tj(j=1,…,k-1,k+1,…,n)按計算結果降序排列,選出SimAFO和SimCFO較大的特征概念tx。若SimAFO(si,tx)≈1,SimCFO(si,tx)?1,則si和tx之間存在多對一的特征映射,轉步驟5;若存在tx(x=1,…,l)使得SimAFO(si,tx)?1,SimCFO(si,tp)≈1,則si和tx(x=1,…,l)之間存在一對多的特征映射,轉步驟6;若對所有的目標概念tx(x=1,…,k-1,k+1,…,n),SimAFO(si,tx)?1,SimCFO(si,tx)?1,則si是奇異概念,轉步驟7。
步驟5 多對一映射識別。標記si和tx之間存在多對一的特征映射,建立tx的多對一映射列表,在接下來的匹配過程中,若發(fā)現(xiàn)sq與tx之間存在多對一映射,則將sq加入到tx的多對一映射列表。本次匹配結束,轉步驟2,進行下一個概念匹配。
步驟6 一對多映射識別。標記si和tx(x=1,…,l)之間存在一對多的特征映射,建立si的一對多映射列表。本次匹配結束,轉步驟2,進行下一個概念匹配。
步驟7 奇異特征處理。識別出si是奇異概念,根據(jù)si的重要程度簡單地拋棄si,或者按照AFO中si的特征定義添加新概念到CFO中,然后轉步驟2,重復映射流程。
步驟8 準確性檢查。利用OWL的推理能力,結合SWRL規(guī)則,對映射結果進行準確性檢查,具體方法見2.4節(jié)。
執(zhí)行映射算法到最后,有必要對匹配結果進行準確性檢查和驗證,因為商用CAD系統(tǒng)并不始終保證特征的語義有效性。例如孔特征是一類非常重要的特征,然而在產(chǎn)品模型的詳細設計過程中,隨著設計師添加和修改操作的進行,原有的通孔可能會變成盲孔,原有的盲孔也可能會成為通孔,但其原始的特征類型并不改變。如此的AFO特征本體實例的錯誤難以在概念匹配過程中被發(fā)現(xiàn),會傳播到CFO特征本體實例,因此有必要對由映射得到的CFO特征本體實例進行有效性檢查及修正。
鑒于特征的語義完全由其特征的邊界組成決定,即特征存在特定的邊界組成條件。例如在SolidWorks和UG NX應用軟件系統(tǒng)中執(zhí)行一個通孔操作,會新生成一個圓柱面,該圓柱面包含2個Edge(圓弧),每個圓弧邊與圓柱面和一個平面鄰接,這兩個平面的法向是相反的;執(zhí)行一個盲孔操作,會新生成一個圓柱面和一個平面,圓柱面有兩個Edge(圓弧),每個圓弧邊與圓環(huán)面和一個平面鄰接,這兩個平面的法向是相同的。在CATIA應用軟件系統(tǒng)中,執(zhí)行一個通孔操作,新生成的圓柱面是通過兩個半圓柱面來表達的,但仍然能找到半圓柱面的兩個圓弧邊,每個圓弧邊都與半圓柱面和一個平面鄰接。通孔時這兩個平面的法向相反,盲孔時這兩個平面的法向相同,CAD系統(tǒng)中的其他特征操作也存在類似的語義條件。因此,本文將這樣的條件以SWRL規(guī)則的形式表達出來,使得本體推理機可以理解,進而對特征實例進行分類、識別、一致性檢查和驗證。
規(guī)則1 通孔識別和有效性驗證。
Hole(?h)∧hasCylndricalSurface(?h,?s)∧hasArc(?s,?c1)∧hasArc(?s,?c2)∧has-AdjacentPlane(?c1,?p1)∧hasAdjacentPlane(?c2,?p2)∧hasNormal(?p1,?n1)∧hasNormal(?p2,?n2)∧swrlb:nonEqual(?n1,?n2)→ThroughHole(?h)。
規(guī)則2 盲孔識別和有效性驗證。
Hole(?h)∧hasCylndricalSurface(?h,?s)∧hasArc(?s,?c1)∧hasArc(?s,?c2)∧has-AdjacentPlane(?c1,?p1)∧hasAdjacentPlane(?c2,?p2)∧hasNormal(?p1,?n1)∧hasNormal(?p2,?n2)∧swrlb:equal(?n1,?n2)→Blind-Hole(?h)。
使用SWRL規(guī)則進行準確性檢查完畢后,刪除掉CFO本體庫實例層中不一致的項目,修正錯誤的特征數(shù)據(jù)語義表達。
使用前述方法,通過本體實例化,對來自不同CAD軟件系統(tǒng)的每個參數(shù)化零件模型都生成了基于公共特征本體的統(tǒng)一的語義描述。實例化后的公共特征本體的OWL文件與零件模型一一對應,是零件模型的語義描述符。在組成關系上,每個零件實例由若干個特征實例聚合而成。特征實例有特征類型、父特征、子特征、特征尺寸和面的數(shù)目等多個屬性;根據(jù)不同的特征類型,一些與類型相關的具體參數(shù)如回轉角度、拉伸長度和角度、草圖等也包含在各自的特征實例中;此外,如前所述,每個特征實例都同時保存了該特征對應幾何實體的基于邊界表示的相關信息。
利用基于本體的語義描述符,對零件模型進行相似性評價的過程如下:
(1)由OWL文件中的特征實例的特征類型、父特征和子特征,得到零件模型的特征依賴圖(Feature Dependency Graph,F(xiàn)DG),它是一個節(jié)點帶標簽的有向無環(huán)圖[11]。給定CFO中特征概念名的集合FV,定義FDG=〈V,RV,E〉。其中:V 是圖中節(jié)點的有限集,表示組成零件的各個特征實例;RV?V×FV表示特征實例與關聯(lián)的特征概念名的關系,例如(vi,Hole)表示節(jié)點vi對應的特征實例是一個孔特征;E?V×V表示特征之間的依賴關系,例如(vi,vj)表示特征實例vi具有子特征實例vj。某零件模型及其對應的FDG圖如圖4所示。
(2)根據(jù)FDG圖,進行帶標簽有向無環(huán)圖的精確匹配,即匹配時要求圖的節(jié)點之間的連接關系相同,同時節(jié)點的類型也一樣。不同的CAD軟件系統(tǒng)可能使用不同的術語來描述具有相同語義的特征概念,例如拉伸操作,SolidWorks軟件系統(tǒng)使用Boss/Base Extrude來描述,Pro/E軟件系統(tǒng)使用Protrusion來描述,因此其FDG圖無法有效匹配。但通過公共特征本體進行統(tǒng)一描述之后,拉伸操作都用Extrusion來表達,此時來自不同CAD系統(tǒng)的異構特征模型的FDG圖可以有效地匹配上,因此提高了模型檢索的查全率和查準率。
對于兩個匹配上的FDG圖,計算匹配節(jié)點之間的幾何相似度[12]
式中:q是查詢實例中的節(jié)點;t是庫中模型實例的特征節(jié)點;size(q)是特征q對應幾何體的尺寸;#face(q)是特征q對應幾何體包含的面的數(shù)目;α和β是權值參數(shù),且滿足α+β=1,可根據(jù)不同的應用需求設置α和β的大小。
(3)根據(jù)匹配節(jié)點的相似度,得出兩個零件模型之間的相似度。
根據(jù)本文提出的本體映射方法,編程實現(xiàn)了映射算法。本體映射算法基于Jena和OWL API進行開發(fā),用于CAD系統(tǒng)特征本體AFO和公共特征本體CFO之間的映射?;诒倔w的特征模型庫是存儲異構參數(shù)化特征模型本體化描述的知識庫,由對象庫、類庫和規(guī)則庫等組成。系統(tǒng)特征本體(SolidWorks本體和UG NX本體)和公共特征本體使用本體編輯器Protégé創(chuàng)建,規(guī)則庫由本體編輯器的插件SWRL Tab面板添加。SolidWorks A-gent和UG NX Agent分別是SolidWorks系統(tǒng)和UG NX系統(tǒng)的插件,利用Eclipse集成開發(fā)環(huán)境和CAD系統(tǒng)提供的應用程序接口(Application Programming Interface,API)開發(fā),用于捕獲商用CAD系統(tǒng)的3D模型特征信息,創(chuàng)建對應的CAD系統(tǒng)特征本體實例,加載進AFO本體庫;然后,利用本體映射算法,建立AFO中特征概念和CFO中概念的對應關系,把AFO中的特征實例轉換成對應的CFO實例,加載進CFO本體庫,實現(xiàn)異構參數(shù)化特征數(shù)據(jù)語義層的統(tǒng)一描述;最后,利用SWRL規(guī)則,使用推理機對語義表示的結果做一致性檢查和有效性驗證,保證語義數(shù)據(jù)表達的準確性。由此獲得了一個基于本體的統(tǒng)一表達的異構參數(shù)化特征模型庫,可以在此基礎上建立索引,開發(fā)檢索機制,對異構參數(shù)化特征模型進行多模式的查詢和檢索,實現(xiàn)設計重用。
本體映射的部分結果如下:
例1 抽殼特征操作,兩個系統(tǒng)的抽殼操作如圖5所示。
本體映射算法計算結果如表1所示,SW中的Shell和CFO中的Shell,以及NX中的Shell和CFO中的Shell都是一對一的映射。
例2 圓角特征操作,兩個系統(tǒng)的圓角操作如圖6所示。
表1 抽殼特征映射結果
本體映射算法計算結果如表2所示,SW中的Fillet和CFO中的Fillet是一對一映射,NX中的Edge Blend,F(xiàn)ace Blend和CFO中的Fillet是多對一映射。
表2 圓角特征映射結果
例3 倒角特征操作,兩個系統(tǒng)的倒角操作如圖7所示。
本體映射算法計算結果如表3所示,SW中的Chamfer和CFO中的Chamfer Edge,Chamfer Vertex是一對多的映射,NX中的Chamfer和CFO中的Chamfer Edge是一對一映射。
表3 倒角特征映射結果
為驗證本文提出的基于本體的語義表示方法在異構參數(shù)化特征模型檢索中應用的有效性,對異構CAD零件模型庫進行了檢索。異構CAD零件模型庫中包含SolidWorks,UG NX,Pro/E等常用CAD應用軟件系統(tǒng)創(chuàng)建的零件模型。原型系統(tǒng)采用第3章提出的模型檢索方法,利用參數(shù)化設計特征這樣的高層語義信息,同時結合特征單元對應的幾何實體所包含的低層幾何拓撲信息,對零件模型進行相似性度量,返回模型庫與輸入查詢零件最相似的前5個零件模型給用戶,查詢結果按相似度降序排列。使用基于公共特征本體的統(tǒng)一語義表示與不使用公共特征本體的統(tǒng)一語義表示的查詢結果對比如圖8所示。
本文針對異構三維參數(shù)化特征模型檢索和重用的需要定義了特征本體,提出一種新的特征本體映射方法將異構參數(shù)化特征模型進行統(tǒng)一描述。該方法的主要特點包括:①定義了滿足異構參數(shù)化特征模型檢索和重用需求的公共特征本體和系統(tǒng)特征本體,本體映射在兩者之間進行;②提出的特征本體映射方法是全自動的,能夠處理異構CAD系統(tǒng)特征概念之間的復雜映射情形;③利用語義規(guī)則對匹配結果進行準確性檢查,保證本體映射的有效性。
在已建好的基于公共特征本體表示的模型庫的基礎上,開發(fā)多層次的索引機制,使得用戶可以采用多種查詢方式方便地進行異構參數(shù)化特征模型檢索,是下一步的研究方向。
[1] GAO Shuming,HE Fazhi.A survey of heterogeneous CAD system integration[J].Journal of Computer-Aided Design &Computer Graphics,2009,21(5):561-568(in Chinese).[高曙明,何發(fā)智.異構CAD系統(tǒng)集成技術綜述[J].計算機輔助設計與圖形學學報,2009,21(5):561-568.]
[2] CHEN Lei,YE Xiuzi,PAN Xiang,et al.Ontology-based semantic interoperability of product data[J].Computer Integrated Manufacturing Systems,2008,14(4):821-828(in Chinese).[陳 磊,葉修梓,潘 翔,等.基于本體的產(chǎn)品語義數(shù)據(jù)互操作[J].計算機集成制造系統(tǒng),2008,14(4):821-828.]
[3] GAO Peng,LIN Lanfen,CAI Ming,et al.Automatic acquisition of product configuration model based on ontology mapping[J].Computer Integrated Manufacturing Systems,2003,9(9):810-816(in Chinese).[高 鵬,林蘭芬,蔡 銘,等.基于本體映射的產(chǎn)品配置模型自動獲?。跩].計算機集成制造系統(tǒng),2003,9(9):810-816.]
[4] YU Xu,LIU Jihong,HE Miao.Design knowledge retrieval technology based on domain ontology for complex products[J].Computer Integrated Manufacturing Systems,2011,17(2):225-231(in Chinese).[余 旭,劉繼紅,何 苗.基于領域本體的復雜產(chǎn)品設計知識檢索技術[J].計算機集成制造系統(tǒng),2011,17(2):225-231.]
[5] ZHAN Pei,JAYARAM U,KIM O,et al.Knowledge representation and ontology mapping methods for product data in engineering applications[J].Journal of Computing and Information Science in Engineering,2010,10(2):012004.1-01204.11.
[6] ALTIDOR J,WILEDEN J,WANG 段 ,et al.Analyzing and implementing a feature mapping approach to CAD system interoperability[C]//Proceedings of the ASME International Design Engineering Technical Conferences & Computers and Information in Engineering Conference.New York,N.Y.,USA:ASME,2009.
[7] YU J,THOM 段 ,TAM A.Requirements-oriented methodology for evaluating ontologies[J].Information Systems,2009,34(8):766-791.
[8] ISO.10303-111 Industrial automation systems and integration-product data representation and exchange-integrated application resource:elements for the procedural modeling of solid shapes[S].Genevese,Switzerland:ISO,2007.
[9] BAADER F,MCGUINNESS 段 ,NARDI D,et al.The description logic handbook:theory,implementation,and applications[M].Cambridge,Mass.,USA:Cambridge University Press,2003:47-100.
[10] EUZENAT J,SHVAIKO P.Ontology matching[M].Heidelberg,Germany:Springer-Verlag,2007:61-72.
[11] DIESTEL R.Graph theory[M].Heidelberg,Germany:Springer-Verlag,2005:173-240.
[12] BAI J,GAO S,TANG W,et al.Design reuse oriented partial retrieval of CAD models[J].Computer-Aided Design,2010,42(12):1069-1084.