褚長勇 梁合宜
1(杭州電子科技大學機械工程學院 浙江 杭州 310018)2(浙江大學機械工程學院 浙江 杭州 310006)
在機電產品概念設計過程中,基于模型的系統工程MBSE(Model Based Systems Engineering)用模型取代文本,有效地解決了系統模型迭代困難的問題[1-3],但不同的設計者對系統模型的理解存在差異,導致最終得到的產品幾何模型在結構、功能等方面存在較大差異[4]。因此實現系統模型與幾何模型之間的快速轉換能夠幫助結構設計者更好地理解系統模型,提升產品設計研發效率,規范產品設計流程。文獻[5-6]利用系統建模語言SysML(System Modeling Language)的特性生成特定領域配置文件,實現系統層模型與計算機輔助設計CAD(Computer Aided Design)模型之間的轉換。文獻[7-8]利用SysML擴展機制,構建幾何信息模型,并采用三元圖文法TGG(Triple Graph Grammar)實現從SysML模型至CAD模型的轉換。上述方法分別存在無法根據系統模型生成新的CAD模型;數據轉換次數多,流程復雜等問題,降低了模型轉換效率和準確性。針對上述問題,本文在前人研究的基礎上提出基于XML與STEP映射的系統幾何模型快速轉換方法,這一方法可根據系統模型中各部件之間的對應關系得出相關幾何結構,從而快速得出系統模型對應的初始CAD模型,提高產品迭代速度。
對于數字化模型,其系統模型與幾何模型之間的轉換本質上是數據格式的轉換。可擴展標記語言XML具有良好的獨立性[9],能夠實現各種數據格式之間的轉換。因此,將其作為系統模型向幾何模型轉換的橋梁,以此串聯起如圖1所示的整個模型轉換流程。

圖1 模型數據轉換流程
根據圖1所示的流程,實現模型數據的轉換需要解決三個關鍵性問題。首先是實現機電產品系統模型幾何信息的添加。由于復雜機電系統的組成部分較多,這里的幾何信息包括了零部件的形狀信息和零部件之間的相對位置關系。其次是模型數據轉換系統的開發,包括XML文檔的快速解析和XML/STEP映射庫構建兩個關鍵性問題。
SysML是一種圖形建模語言,由統一建模語言UML發展而來[10],相較于UML,SysML能夠更好地對系統進行描述。由于SysML的常用模型元素中沒有用于表示幾何信息的元素,因此需要利用SysML的擴展機制來實現模型元素的自定義[11-12]。SysML擴展機制有兩種:在SysML中定義新的元模型(heavyweight)和在SysML已有模型元素中自定義版型(lightweight)。為了方便SysML圖的繪制,本文采用lightweight方法進行擴展。
2.1 基本幾何元素定義
在概念設計階段,產品零部件的形狀主要由簡單的幾何形狀來表示[4],經由后期詳細設計和優化設計得到最終結果。在幾何學中,長方體、圓柱等簡單的幾何形狀均由點、線、面這三種基本幾何元素構成的。這里定義基于《block》元模型的新模型元素《basicGeometricElement》來表示點、線、面這三種基本幾何元素及其之間的關系,如圖2所示。
Point類型中包含了坐標定義,以確定點的位置。Line類型由Point組成,并衍生出straightLine和curve兩種子類型。Plane由Line構成,同時根據構成Plane的Line的不同引申出不同的Plane子類型,限于篇幅,這里只給出了roundPlane和rectanglePlane兩種子類型的定義。
2.2 基本幾何形狀定義
在CAD軟件中,幾何模型大都由長方體、圓柱體、球體這三種基本幾何形狀通過相應的布爾運算得到的。因此,本文以基本幾何元素為基礎,構建包含以上三種基本幾何形狀的基本形狀庫,如圖3所示。以《block》為元模型,定義由《shape》表示的基本形狀模型元素。每一個新的基本幾何形狀中都定義了相應的尺寸參數,用戶還可以通過SysML的stereotype擴展機制添加其他的形狀信息以完善形狀庫。如通過對Cylinder中的尺寸參數添加約束信息(diameterTop 圖3 基本幾何形狀定義圖 2.3 幾何約束信息定義 機電系統CAD模型中,各零部件之間通過幾何約束實現裝配。在概念設計過程中,零部件由基本幾何形狀表示,而各個幾何體之間的約束關系主要有位置約束和角度約束[13-14],兩者分別由《positionConstraint》和《directionConstraint》表示,且都由《constraint》元模型擴展得到。 圖4中展示了幾個與平面相關的幾何約束關系定義,其中平面固定約束(PlaneFixed)需要用戶提供平面中一個點的坐標(pointVal)以確定固定點,同時提供平面法向量方向(normalVal)以確定平面在水平方向上的轉動角度。 圖4 幾何約束定義圖 如圖1所示,模型數據轉換系統通過解析導入的XML文檔獲取其中有效的幾何信息,以此在企業現有產品數據庫中檢索擁有相似結構的產品,如果沒有相似產品則根據XML/STEP映射庫中的映射規則導出對應的初始CAD模型。 3.1 系統模型XML文檔解析方法 本文采用Java對XML文檔進行解析。目前,Java解析XML文檔主要有DOM、SAX、JDOM、DOM4J四種方法。四種方法的解析原理及其所采用的方法各不相同[15-17],它們各自的優缺點如表1所示。 表1 XML解析方法比較 續表1 由表1可知,DOM4J是目前XML文檔解析技術中最優秀的。因此,本文采用DOM4J作為XML文檔的解析技術。XML的解析流程如圖5所示。 圖5 DOM4J解析XML文檔流程 3.2 XML/STEP映射研究 在XML文檔中,采用XML Schema對文檔結構進行定義[17];在STEP文檔中,則用EXPRESS語言來描述產品信息。因此,要實現XML/STEP數據轉換,其關鍵就在于XML Schema與EXPRESS之間映射關系的定義。2000年10月,ISO提出了XML對EXPRESS表述的兩種聯編方式[18-19]:早聯編(EarlyBinding)和晚聯編(LateBinding),為XML Schema和EXPRESS之間映射關系的構建提供了理論基礎。在早聯編中,XML標記與EXPRESS數據模型中的數據類型及屬性直接對應。而晚聯編則是其定義的XML標記直接與EXPRESS的元數據對象(包括實體、屬性、數據類型等)相對應。 3.2.1 XML與EXPRESS之間的映射關系 由于應用領域不同,XML和EXPRESS在對同一對象的描述上依舊存在較大的差異,且EXPRESS描述的內容包含了繼承關系和模型的約束關系等復雜信息。為了實現兩者之間的映射,研究人員基于XML和EXPRESS的語法特性提出四條映射原則[21],并根據原則構建出如下XML Schema與EXPRESS基本映射關系: (1) 由XMLSchema中的元素類型(elementtype)對應表示EXPRESS中的實體(ENTITY); (2) 由XML Schema中的元素(element)對應表示EXPRESS中的實體實例(ENTITY INSTANCE); (3) 由XML Schema中的元素(element)或屬性(attlist)對應表示EXPRESS中的實體屬性(ENTITY ATTRIBUTE); (4) 由XML Schema中的元素的嵌套子元素來對應表示EXPRESS中的實體函數、約束等相關信息。 3.2.2 XML與EXPRESS具體映射 (1) 模式映射:指XML模式和EXPRESS模式之間的映射。其中EXPRESS模式中包括了實體和類型,由schema元素、字符集、標識符、注釋、符號等基本元素構成。下面是一段簡化后的長方形平面EXPRESS模式文件: SCHEMA automotive_design; TYPE rectangle_plane=SELECT (rectangle_plane_a,rectangle_plane_b); …… END_TYPE; END_SCHEMA; 文件中第一句聲明引用的協議名稱,automotive_design表示引用的模式為AP214。第二句指明實體的類型,其中TYPE為關鍵字,rectangle_plane為實體名稱,SELECT是類型名。第三句表示實體rectangle_plane有兩個子類。XML模式由schema元素、根元素、復雜類型元素(ComplexTypeelement)和簡單類型元素(SimpleTypeelement)組成。根據XML Schema結構[22],可將之前的EXPRESS模式文件表述如下: …… (2) 數據類型映射:EXPRESS語言包含了簡單數據類型、聚合數據類型、命名數據類型、構造數據類型等多種數據類型[21]。其中,簡單數據類型又分為數值型(number)、實數型(real)、整數型(integer)、字符串(string)、邏輯型(logical)等。在XML Schema中分別有小數(decimal)、float/double、整型(integer)、字符串(string)等與之對應。其中邏輯型雖無法在XML中找到對應的簡單數據類型,但也可以通過在設置邏輯的真假來實現[17]。與簡單數據類型的映射相似,其他數據類型同樣可以在XML Schema和EXPRESS之間構建起映射關系。 3.3 XML/STEP映射庫的構建 通過上述研究可知,通過建立XML Schema與EXPRESS之間的映射關系可以實現XML文檔與STEP文檔之間的雙向轉換,因此構建XML Schema映射庫是十分必要的。本文將根據AP214構建XML Schema映射庫。 3.3.1 XML/STEP頭部段映射 每個STEP文件的頭部段都包括標準(ISO-10303-21)和以“HEADER”開始,以“ENDSEC”結束的文件信息兩部分。文件信息中又包含文件描述(FILE_DESCRIPTION)、文件名(FILE_NAME)和文件概要(FILE_SCHEMA)。下面為一段簡化后的STEP頭部段文件: HEADER; …… FILE_DESCRIPTION(……); FILE_NAME(/*name*/′abc。step′,……); FILE_SCHEMA ((′AUTOMOTIVE_DESIGN {…}′)); ENDSEC; 上述頭部段文件在XML Schema映射庫中的Schema如下所示: …… …… 3.3.2 XML/STEP數據段映射 STEP文件數據段是實體數據模型的核心,并以點作為實體描述的基本元素。根據這一特點,STEP數據段在XML Schema映射庫中的Schema同樣應該以點為基本元素,下面是一個實體點(POINT)的Schema表述: …… 其他實體的Schema表述與POINT相似,只需按照上述方法將所有EXPRESS語言表達的實體都生成XML Schema映射庫中對應的Schema并保存,就可以得到完整的XML/STEP映射庫。模型數據轉換系統根通過調用映射庫中的映射體,生成對應的數據格式并導出。最終實現XML/STEP文檔之間的雙向轉換。 現代制造業越來越重視產品系統層的構建,因此實現系統層到結構層的轉換能夠有效地提升產品設計開發效率。下面以汽車雨刮器為實例,展示系統模型到幾何模型的轉換的過程。 4.1 產品系統模型構建 汽車雨刮器大致可以分為驅動器(Drive)、搖臂(ConnectingRod)和雨刮(WiperBlade),三者通過軸(Shaft)連接在一起。由于Visio不自帶SysML模板,因此在開始創建相關圖形前需要將SysML 1.0這個模塊包導入Visio的模板庫中;根據產品需求選擇對應的圖形和模型元素,如圖6所示為雨刷模塊定義圖。完成系統模型圖繪制后,依靠繪圖工具自身兼容的轉換接口獲得系統模型的XML文檔。 圖6 雨刮器模塊定義圖 4.2 模型數據轉換 模型數據轉換系統的系統界面分為三個部分,從左到右分別顯示獲得的系統模型XML源碼、解析后的XML文件、轉換得到的STEP文檔,如圖7所示。且在操作界面中均可對相應的文件進行修改保存,以保證最終所獲STEP文檔的最優化。將雨刮器系統模型XML文檔導入系統,解析得到有效幾何信息,并通過零部件之間的幾何關系檢索結構相似的現有設計方案,根據檢索結果分別導出如圖8所示的兩種初始設計方案。其中,(a)為根據已有設計方案修改后得到,(b)為系統直接導出的設計方案。 圖7 XML-STEP數據轉換流程 (a) 經已有方案修改后得(b) 系統直接生成圖8 雨刮器初步設計方案 本文主要研究了基于SysML的系統模型幾何信息添加方法。基于Java的XML解析方法和編程技術,開發出模型數據轉換系統;將由XML表述的系統模型進行解析,獲取有效的幾何信息。同時,通過基于XML/STEP映射庫的轉換器獲得對應的STEP中性文件。這一方法以XML/STEP映射庫為基礎,實現XML與STEP之間的直接轉換,為系統幾何模型轉換提供了新的可行方法。隨著數據庫的進一步完善,系統將實現系統模型到復雜高精度幾何模型的直接轉換。同時,隨著制造業信息化的深入推進,系統將會集成更多的功能,如模型優化算法等方法的加入將使模型轉換過程更加智能化,進一步縮短產品研發設計周期。 參考文獻 [1] Buede D M.The engineering design of systems:models and methods[M].2nd ed.New York:John Wiley & Sons,2009. [2] Estefan J A. Survey of model-based systems engineering(MBSE) methodologies[R]. Seattle:INCOSE MBSE Focus Group, 2007. [3] Friedenthal S, Griego R, Sampson M. INCOSE model based systems engineering(MBSE) initiative[EB/OL]. [2016-05-10]. https://www. researchgate. net/publication/. [4] Komoto H, Tomiyama T. A framework for computer-aided conceptual design and its application to system architecting of mechatronics products[J]. Computer-Aided Design, 2012, 44(10):931-946. [5] Hamid S. Integration of system-level design and mechanical design models in development of mechanical systems[D]. Stockholm:KTH-Royal Institute of Technology, 2011. [6] Ahsam Q. An integrated approach towards model-based mechatronic design[D]. Stockholm:KTH-Royal Institute of Technology, 2011. [7] Fan H R, Liu Y. SysML-based model integration for online collaborative design of mechatronic systems[C]// ICED13, Sungkyunkwan University, Seoul, Korea, 2013:237-246. [8] 樊紅日. 基于SysML的復雜機電產品多域模型集成問題研究[D]. 杭州:浙江大學, 2015. [9] W3C.Extensible markup language(XML)[EB/OL].[2016-10-11]http://WWW.W3.org/XML/. [10] Delligatti L.SysML distilled:A brief guide to the systems modeling language[M].Addison-Wesley Professional,2013. [11] Bruck J, Hussey K. Customizing UML:Which technique is right for you[EB/OL]. [2008-06-19] http://www.eclipse.org/modeling/mdt/uml2/docs/articles/Customizing_UML2_Which_Technique_is_Right_For_You/article.html/. [12] Reichwein A. Application-specific UML profiles for multidisciplinary product data integration[D]. Uni Stuttgart-Universit?tsbibliothek, 2011. [13] Chen K, Bankston J, Panchal J H, et al. A framework for the integrated design of mechatronic systems[C]// Collaborative Design and Planning for Digital Manufacturing, 2009:37-70. [14] Chen K.MCAD-ECAD integration:constraint modeling and propagation[D].Atlanta:Georgia Institute of Technology,2008. [15] Ma J, Zhang S, Hu T, et al. Parallel speculative dom-based XML parser[C]// IEEE, International Conference on High PERFORMANCE Computing and Communication & 2012 IEEE, International Conference on Embedded Software and Systems. IEEE, 2012:33-40. [16] Zhang Z Y, Chang S G, Ding T F. Research on the dynamic integrating with heterogeneous database system based XML and hibernate[J]. Applied Mechanics & Materials, 2013, 266:1717-1720. [17] Shang J D, Zhang Y P, Hu D F. The contrast study on the method of STEP/XML data transformation[J]. Advanced Materials Research, 2012, 403-408:4103-4107. [18] Barkmeyer E J, Lubell J. XML representation of EXPRESS models and data[J]. Manufacturing Systems Integration Division National Institute of Standards and Technology, 2004:1-3. [19] Bergstrom P, Lafontaine R. ISO 10303-28 Product data representation and exchange:Implementation methods:XML representation of EXPRESS schemas and data[S]. Geneva, Switzerland:ISO, 2002. [20] 左偉明. 數據標記語言參考手冊[M]. 北京:人民郵電出版社, 2007:35-49, 51-60. [21] 付秀娟. 基于STEP/XML的數據交換方法研究[D]. 哈爾濱:哈爾濱工程大學, 2009.

3 模型數據轉換系統開發



4 實例應用



5 結 語