摘? 要: 根據冷沖模CAD系統(tǒng)的設計特點,將面向對象" title="面向對象">面向對象思想與模板的知識表達方式相融合,提出了面向對象工程模板,建立了設計與制造活動的有機聯(lián)系,實現(xiàn)了幾何信息與制造信息的集成和分離的對立統(tǒng)一,將復雜對象、層次結構及動態(tài)的數(shù)據結構" title="數(shù)據結構">數(shù)據結構用相對簡單且組織嚴密的方式組織起來。
關鍵詞: 數(shù)據模型? 面向對象工程模板? 冷沖模
?
隨著計算機輔助設計(CAD)的迅速發(fā)展,集成化CAD系統(tǒng)的研制與開發(fā)成為當今計算機集成制造系統(tǒng)(CIMS)環(huán)境下CAD的發(fā)展方向。產品的設計制造過程實質是對信息的采集、傳遞、加工和處理過程,其本質體現(xiàn)在以信息集成為特征的技術集成和人的集成兩方面[1]。信息集成是指將CAD/CAM/CIMS工程設計中涉及的數(shù)據和信息(尤其是圖形數(shù)據、結構化" title="結構化">結構化數(shù)據和非結構化非圖形信息)集中起來管理。由于工程設計過程的特殊性,設計過程是一個不斷反復、試探、選擇、完善的過程,會面臨大量需要組織的設計數(shù)據和試驗數(shù)據;同時還會因為同一設計對象的多個版本而產生大量的重復數(shù)據,這些都給數(shù)據組織帶來了很大的困難。因此如何及時、有效地組織和管理工程數(shù)據成為工程設計人員" title="設計人員">設計人員迫切需要解決的問題。
傳統(tǒng)的數(shù)據模型工程設計中沒有足夠的能力表達工程數(shù)據的全部語義結構,表達工程數(shù)據的數(shù)據模型應當具有以下幾個方面的特性:
·隨著工程設計的逐步深入,設計人員能夠定義新的數(shù)據類別,并對已有的數(shù)據類別進行改進和重新定義;
·可以允許定義靜態(tài)和動態(tài)的數(shù)據種類,靜態(tài)實體屬于設計環(huán)境的一部分,可用它創(chuàng)建表示設計對象的動態(tài)實體;
·在提供基本數(shù)據結構的同時,可以建立設計中數(shù)據結構的抽象數(shù)據類型;
·提供描述復雜對象的數(shù)據描述標準框架,使得不同的設計者從不同的角度描述同一設計對象時,它們的視圖是相關的;
·在數(shù)據模型里可以按照一定的格式描述任意一個產品設計信息及其語義信息,滿足設計要求;
·滿足設計和生產要求的一切產品都能為數(shù)據模型所描述。
1 面向對象與模板
模板的基本思想是從一組相似的事物中抽象出一種框架型的模式,任何一個類似的事物都可作為以模板為超類派生的實例[2]。將模板概念引入到工程CAD領域,這與工程CAD領域的設計特色有密切的關系。工程設計是設計人員具有創(chuàng)造性的思維活動,其特點具體表現(xiàn)在創(chuàng)造性、變異性、模式重復性、繪圖工作量大[3]等方面。采用工程模板的設計思想使設計人員在設計的不同階段都能按照自己的要求進行操作;而面向對象模型可以描述很復雜的事物,并能在統(tǒng)一概念化的基礎上處理有關數(shù)據[4]。因而把對面向對象模型的研究和對工程模板設計理論與方法學的研究結合起來設計面向對象工程模板,使產品數(shù)據信息模型可以從更本質的基礎上建立起來。
模板的應用很廣泛,如在程序設計語言中(如VC++)引入了面向對象類(函數(shù))模板用于支持程序設計的參數(shù)化、多態(tài)性。模板函數(shù)可以使某個類型范圍之內的各種類型的對象達到一些相同或相似的功能,但這種類型要求參數(shù)個數(shù)相同,因而函數(shù)模板適用于函數(shù)名相同、算法相同、參數(shù)個數(shù)相同,只是類型不同的問題[5]。與面向對象類(函數(shù))模板相比,面向對象工程模板有以下特點:
·描述數(shù)據的結構信息采用半結構化數(shù)據模式,不是對數(shù)據結構進行強制性的約束;
·可以利用工程模板的嵌套、層次結構描述具有復雜語義的數(shù)據類型;
·數(shù)據模式的自描述性;
·可以支持產品全生命周期的信息建模。
2 面向對象工程模板定義
?????? 定義1:TEMPLATE::=
定義2:OBJECTSET::=[
定義3:ATTRIBUTES::=[
定義4:METHODS::=[
定義5:RULES::=[
定義6:ASSEMBLY::=[
定義7:ARRANGESET::=[
定義8:STORAGE::=[
面向對象工程模板通過一組定義表示一個復雜的數(shù)據類型,它描述的是一種抽象數(shù)據類型。應用抽象數(shù)據的概念可以從概念的高度,把握事務之間內在的、實質性聯(lián)系。面向對象方法進一步發(fā)展了抽象數(shù)據概念,引入了能把有關事物進行分類、組織成層次的概括(Generalization)機制和把有關對象歸并在一起的聚集(Aggregation)機制。
面向對象工程模板模型具有充分的柔性和可擴充性。在建模時,利用類的封裝性、繼承性和多態(tài)性[6],采用面向對象的自上而下、從概念抽象開始、逐步細化的方法。每個對象可以按照概括(G-關聯(lián))關系展開,深入分析,建立下層對象之間的聯(lián)系。
由于工程設計的特殊性,在工程設計過程中,不僅要考慮產品的幾何信息和制造信息,如零部件屬性、零部件之間的各種裝配位置關系、約束條件等,同時還應當從面向對象的思想考慮一個零件對象應有的一些方法。例如對于鏈接件對象,它應當有可以將另幾個對象鏈接在一起的方法。這些方法都應當封裝在零件內部,提供給外界一個接口。對于一個類,將它的所有實現(xiàn)方法放在一個DLL中,形成一個方法庫,把該類的方法庫與每一個方法的源代碼均當作非結構化數(shù)據交給工程數(shù)據庫管理系統(tǒng)進行存儲。
3 面向對象工程模板應用
以冷沖模CAD設計為例,用面向對象模板組織模具設計中的各種工程設計信息,設計信息的面向對象工程模板數(shù)據模型如圖1所示。冷沖模是由模架、沖頭、鏈接件、凹模、墊板等元件組成。在面向對象工程模板模型中,不僅表示元件特征信息,而且描述了元件的位置分布關系、連接關系、操作關系等語義信息,明確地表示了元件之間的關聯(lián)信息。其中G-關聯(lián)(Generalization)用IS-A表示,A-關聯(lián)(Aggregation)用A表示。圖1中顯示的是零件聚集關系的展開,既可以在一類對象的共性上對其進行分析和處理,也可以對其中的某個具體對象的個性進行分析和處理。從數(shù)據模式中可以看出,從設計活動一開始,面向對象模板就建立了設計和制造活動的有機聯(lián)系,實現(xiàn)了幾何信息與制造信息的集成和分離的對立統(tǒng)一。
?
?
面向對象工程模板數(shù)據模型采用面向對象技術定義模板的組織結構,利用定義的模板描述語言(TDL)進行工程設計,一方面有效地組織工程設計中的各種數(shù)據,另一方面能夠很好地模擬工程中的復雜對象,能表示其層次結構,支持動態(tài)的數(shù)據結構,在設計對象這一較高層次上進行管理。由于考慮了產品的設計工藝、制造工藝以及約束條件等信息,將設計中的各種信息、數(shù)據集成在面向對象工程模板中,從而使得設計人員在進行初期的功能設計和裝配設計時就能保證產品設計的可行性及合理性,并及時發(fā)現(xiàn)設計中存在的各種問題;在設計結束階段形成了以模板的版本號為根目錄的整個產品的工程數(shù)據,在試驗中取得了良好的應用效果。
下面給出一個模板整體框架,主要以注釋方式給出模板含義的解釋。
// 對象列表;
? begin of object:
?????? ? inherit:
????????????? basebox:shangdianban,gudinban,
????????????? aomo:aomo,
????????????? chongtou:chongtou,
???????????????????? ……
????????????? part:
???????? upmojia:shangmojia,daozhu,??????????? //上模座由上模架和導柱組成
???????????????????? ……
???????? end of object
?????// 對象屬性集合段;
??? begin of attribute:
??????? default mobin.d 50?? ?? //模柄直徑的默認值為50
?????? ? table luodin3.d mobin d3? d=mobin.d
????????????????????????????????????????? ? //螺釘3的d為模柄中的d3字段,條件為模柄d
???????? ……
end of attribute
??? // 位置約束段;
?? begin of positon
???? luodin1 1, 95,45?? //以第一種方式排列距中心點x 坐標95,y坐標45
???? daohuald1 3, 30,0? //以第三種方式排列距中心點x 坐標30,y坐標0
????????????????????????????????????????????????
???????……
???????end of position
// 裝配約束段;
?????? begin of assemble
? ?? ? luodin:luodin1 (shangmojia,shangdianban,gudinban)
????????????????????????????????????????? //表示螺釘1連接上模座、上墊板和固定板
?????????? ……
?????? ? end of assemble
????????????? ……
//產品設計描述、版本等信息描述段;
????? begin of describe
???????? name:luoliaomo
????????????? version:1.1.1
????????????? designer:wangjun
????????????? designdate:2002-05-25
???????? ……
end of describe
本文通過面向對象工程模板建立數(shù)據模型可以使設計人員節(jié)省大量的時間、減少工作量、統(tǒng)一設計風格、設計標準化、確保效果與效率;同時建立了設計和制造過程中產品數(shù)據的統(tǒng)一模型,并在此基礎上建立面向對象工程數(shù)據庫處理的工程數(shù)據。設計人員可以通過面向對象工程數(shù)據庫系統(tǒng)對工程數(shù)據進行及時、有效的管理。
?
參考文獻
1 宛延凱. 工程數(shù)據庫系統(tǒng)[M]. 北京:清華大學出版社,2000
2 劉曉平,韓江洪.工程CAD中的模板運算與性質研究[J].系統(tǒng)仿真學報, 2000;12(6): 592~594
3 劉曉平,田景成,黃永紅.基于模板的工程CAD設計方法學研究. [J]計算機輔助設計與圖形學學報,1999;(7):296~297
4 Alfons Kempe, Guido Moerkotte. Object-oriented database?management.Beijing:Tsinghua University Press,1998:423~440
5 Klahold P, Schlageter G, Wilkes W[C]. A general model?for version management in database proceedings of the?ACM SIGMOD Conference on Management of Data. Washington DC: Association for Computing Machinery,1998:319~327
6 嚴蔚敏,吳偉民. 數(shù)據結構[M]. 北京:清華大學出版社,1992

