国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

自主PDM數(shù)據(jù)建模方法及CAD集成

2024-03-25 09:15:36王曉晗肖鵬安宋達(dá)李晨威姚素新
機(jī)械工程師 2024年3期
關(guān)鍵詞:圖形化圖表符號(hào)

王曉晗,肖鵬安,宋達(dá),李晨威,姚素新

(中國艦船研究設(shè)計(jì)中心,武漢 430064)

0 引言

目前,在船舶行業(yè),國內(nèi)主要的研究所、造船廠嚴(yán)重依賴國外工業(yè)軟件,卡脖子問題十分突出。在船舶產(chǎn)品數(shù)據(jù)管理(Product Data Management,PDM)領(lǐng)域,國外美國PTC公司的Windchill、法國達(dá)索公司的Enovia、德國西門子公司的Teamcenter等產(chǎn)品占據(jù)壟斷地位,為了實(shí)現(xiàn)船舶核心設(shè)計(jì)數(shù)據(jù)自主可控,國內(nèi)多家企業(yè)研發(fā)了自主化的船舶工業(yè)軟件。在國家政策的引導(dǎo)下,國內(nèi)自主化船舶工業(yè)軟件迎來發(fā)展機(jī)遇期。為滿足自身的船舶設(shè)計(jì)產(chǎn)品數(shù)據(jù)管理需要,中國艦船研究設(shè)計(jì)中心研發(fā)了完全自主化的國產(chǎn)PDM軟件海云PDM。

PDM軟件主要用于管理產(chǎn)品設(shè)計(jì)過程中產(chǎn)生的大量設(shè)計(jì)、制造數(shù)據(jù),通常需要用數(shù)據(jù)建模工具對(duì)這些數(shù)據(jù)進(jìn)行建模,實(shí)現(xiàn)數(shù)據(jù)的抽象管理。國外一般用獨(dú)立建模工具進(jìn)行數(shù)據(jù)建模,海云PDM中集成了完全自主化的圖形化建模工具,支持統(tǒng)一建模語言UML(Unified Modeling Language)類圖建模、BPMN(Business Process Model and Notation)工作流建模等多種模型,實(shí)現(xiàn)了從圖形化建模到邏輯代碼生成的一體化流程。同時(shí),海云PDM與國產(chǎn)三維設(shè)計(jì)軟件SPD進(jìn)行了數(shù)據(jù)集成,實(shí)現(xiàn)了三維模型數(shù)據(jù)的存儲(chǔ)與管理。本文對(duì)海云PDM中的數(shù)據(jù)建模與三維數(shù)據(jù)集成管理的實(shí)現(xiàn)過程及功能進(jìn)行了深入研究。

1 圖形化建模管理

目前,國外主流的UML建模工具Visio、Enterprise Architect、Rational Rose等都是基于圖表類型從用戶的角度去定義和作業(yè)的。建模工具一般從最基礎(chǔ)的符號(hào)甚至一個(gè)簡單的圖形開始定義,并根據(jù)定義好的基礎(chǔ)符號(hào)向上縱向、橫向擴(kuò)展,不斷增加符號(hào)的復(fù)雜度,并通過不同符號(hào)的組合提高符號(hào)的表達(dá)能力[1]。

在傳統(tǒng)的方法中,主流圖形化建模工具通過可擴(kuò)展標(biāo)記語言(Extensible Markup Language,XML)或JavaScript對(duì)象簡譜(JavaScript Object Notation,JSON)格式的數(shù)據(jù)存儲(chǔ)整個(gè)圖表。在本文的方法中,通過數(shù)據(jù)庫對(duì)象化地存儲(chǔ)單個(gè)圖形元素,再關(guān)聯(lián)到圖表對(duì)象,實(shí)現(xiàn)對(duì)單一圖形元素的實(shí)時(shí)調(diào)控。單獨(dú)定義的圖形元素支持橫向擴(kuò)展,可以實(shí)現(xiàn)多種圖形化建模功能,例如UML類圖建模、BPMN工作流建模、SQL語法器建模等。

1.1 符號(hào)分類庫

符號(hào)分類庫用于定義符號(hào),對(duì)符號(hào)進(jìn)行分類管理,確定符號(hào)在畫布展示的樣式。首先,完成符號(hào)管理的建模,按照目錄、符號(hào)類別、符號(hào)組件的結(jié)構(gòu)對(duì)符號(hào)進(jìn)行分類管理;其次,完成符號(hào)定義,支持對(duì)符號(hào)的注冊(cè)及樣式屬性配置,使符號(hào)分類庫具備定義、擴(kuò)展領(lǐng)域模型的能力;最后,通過mxGraph插件支持符號(hào)的可視化展示及符號(hào)樣式的管理。

定義符號(hào)的過程 如 下:1)在符號(hào)類別下新增符號(hào);2)判斷新增的符號(hào)圖形是否是mxGraph中已有的圖形,若有則是直接使用mxGraph中的圖形,否則需畫矢量圖注冊(cè)圖形,確定符號(hào)的形狀;3)定義符號(hào)樣式,確定圖形樣式信息;4)確定符號(hào)名稱、寬、高、圖標(biāo)等基本信息;5)將完成定義的圖形符號(hào)拖動(dòng)到畫布上進(jìn)行展示。

1.2 符號(hào)配置庫

在符號(hào)定義完成后,需要在符號(hào)目錄下按規(guī)范定義圖表類型。例如UML下有類圖、用例圖,BPMN下有業(yè)務(wù)流程圖等,不同的圖表所包含的符號(hào)各不相同。符號(hào)配置庫用于定義圖表類型,在圖表與符號(hào)之間建立關(guān)聯(lián),動(dòng)態(tài)配置圖表所需的符號(hào)組件,其功能主要包括定義圖表類型和動(dòng)態(tài)配置符號(hào)兩部分內(nèi)容:1)定義圖表類型。對(duì)圖表建模,在圖表目錄下關(guān)聯(lián)新的圖表,按照?qǐng)D表目錄、圖表類型的結(jié)構(gòu)對(duì)圖進(jìn)行管理。2)動(dòng)態(tài)配置符號(hào)。根據(jù)圖表所屬的目錄,篩選該目錄下所有的符號(hào)組件,可任意選擇符號(hào)組件,為新增的圖表配置所需的符號(hào)。

符號(hào)配置庫實(shí)現(xiàn)了自定義圖表及圖表中符號(hào)的動(dòng)態(tài)配置。如圖2所示,在海云PDM的圖形化建模工具中配置符號(hào)過程如下:1)選中需要配置的圖表類型,并選擇符號(hào);2)在該目錄下所有的符號(hào)組件中,選擇需要配置的符號(hào)。

1.3 圖形化工具

結(jié)合符號(hào)分類庫與配置庫,圖形化工具支持在創(chuàng)建不同類型圖表時(shí),獲取不同圖表所關(guān)聯(lián)的符號(hào)組件,生成不同環(huán)境的畫布,拖動(dòng)符號(hào)組件進(jìn)行畫圖。

圖形化工具的模型涉及點(diǎn)、線與圖,線代表點(diǎn)與點(diǎn)之間的連接關(guān)系,圖是點(diǎn)和線的集合,這三者都屬于符號(hào)。點(diǎn)和點(diǎn)之間的關(guān)聯(lián)記錄了點(diǎn)的父子關(guān)系,父節(jié)點(diǎn)可以包含多個(gè)子節(jié)點(diǎn);點(diǎn)與線之間的關(guān)聯(lián)記錄了線的源頂點(diǎn)和目標(biāo)頂點(diǎn);圖與符號(hào)之間的關(guān)聯(lián)記錄了圖中包含的所有符號(hào)。

圖形化工具支持對(duì)圖的保存和解析功能。保存功能不使用傳統(tǒng)的XML格式文件存儲(chǔ),而是將圖形存儲(chǔ)至數(shù)據(jù)庫中管理,實(shí)現(xiàn)對(duì)單一圖形元素的實(shí)時(shí)修改與調(diào)整。解析功能是將圖形化元素模型轉(zhuǎn)換為對(duì)應(yīng)業(yè)務(wù)應(yīng)用模型,實(shí)現(xiàn)語義的轉(zhuǎn)換功能。

圖形化工具利用JS庫中的mxGraph插件將符號(hào)分類庫和符號(hào)配置庫圖形化地表達(dá)出來,具體操作過程如下:1)選中不同類型圖表進(jìn)行創(chuàng)建;2)根據(jù)配置庫中的數(shù)據(jù),獲取圖表關(guān)聯(lián)的符號(hào)組件,并生成對(duì)應(yīng)的畫布環(huán)境;3)拖動(dòng)符號(hào)組件到畫布中進(jìn)行畫圖,不同組件根據(jù)符號(hào)分類庫中定義的樣式進(jìn)行展示;4)將圖形信息保存到數(shù)據(jù)庫中;5)解析圖形,將圖形信息轉(zhuǎn)化為業(yè)務(wù)模型,如工作流模板、類實(shí)體等。

圖3展示了按上述操作所畫的工作流兩級(jí)審簽?zāi)0濉?/p>

2 Rational Rose集成

Rational Rose是目前使用廣泛的專業(yè)UML建模工具之一,也是UML標(biāo)準(zhǔn)制定者開發(fā)的軟件,其完全符合OMG(Object Management Group)組織提出的UML建模規(guī)范[2]。同時(shí),Rational Rose還支持UML模型校驗(yàn)功能,可以自動(dòng)檢查出模型的邏輯錯(cuò)誤。

本文將圖形化建模工具導(dǎo)出的XML模型文件導(dǎo)入Rational Rose中,如果導(dǎo)入的模型能被Rational Rose正確解析,就證明海云PDM原生的建模工具同樣符合UML標(biāo)準(zhǔn)建模規(guī)范,這對(duì)于海云PDM建模器的標(biāo)準(zhǔn)化和后續(xù)集成擴(kuò)展具有重要意義。

2.1 UML模型數(shù)據(jù)導(dǎo)出

將海云PDM系統(tǒng)與Rational Rose集成時(shí),需要將海云PDM系統(tǒng)中的模型數(shù)據(jù)以XML格式文件的形式傳入到Rational Rose中進(jìn)行處理。使用圖形化建模管理工具建立的模型包括域、實(shí)體和實(shí)體之間的關(guān)系等類型,分別與標(biāo)準(zhǔn)UML模型中的包圖、類圖和類之間的關(guān)系相對(duì)應(yīng)[3-5]。

海云PDM提供一個(gè)接口,可將上述的模型數(shù)據(jù)以域?yàn)閱挝?,通過XML的形式導(dǎo)出。XML是一種優(yōu)秀的結(jié)構(gòu)化語言,能夠清晰地表達(dá)UML模型屬性和關(guān)系[9]。導(dǎo)出的模型數(shù)據(jù)信息包括域名、域與域之間的層級(jí)關(guān)系、域下的所有實(shí)體、實(shí)體包含的屬性與方法,以及實(shí)體與實(shí)體之間的關(guān)系(包括繼承關(guān)系與關(guān)聯(lián)關(guān)系)。

圖4中展示了接口導(dǎo)出的XML信息,其中:root是根節(jié)點(diǎn);domains為所有域的集合;domain記錄了域的全部屬性信息,包括名稱(name)、內(nèi)容(content)、描述(description)、路徑(path)、識(shí)別碼(sn)、類型(type)等;combineTag屬性記錄了domain的層級(jí)結(jié)構(gòu);concepts為所有實(shí)體的集合;concept記錄了實(shí)體類的信息,實(shí)體下的屬性信息與domain基本相同;combineTag記錄了實(shí)體下的屬性的詳細(xì)信息;linkTag屬性記錄了實(shí)體之間的繼承與關(guān)聯(lián)關(guān)系。

2.2 Rational Rose解析模型數(shù)據(jù)

Rational Rose提供一套API,可以使用Visual Basic語言新建類圖、包結(jié)構(gòu)、類結(jié)構(gòu)、類屬性及類之間的關(guān)系等。通過Visual Basic語言在Rational Rose中編寫腳本插件,訪問海云PDM的導(dǎo)出接口,獲得XML結(jié)構(gòu)數(shù)據(jù)。在Rational Rose內(nèi)部解析數(shù)據(jù),將獲得的模型信息按照UML標(biāo)準(zhǔn)對(duì)應(yīng)生成Rational Rose中的包結(jié)構(gòu)、類結(jié)構(gòu)、包圖、類圖等,實(shí)現(xiàn)了在Rational Rose中對(duì)海云PDM系統(tǒng)模型的瀏覽查看。

調(diào)用海云PDM系統(tǒng)的接口,將生成的XML文件以responseXML類型接收,獲得XML格式數(shù)據(jù)的腳本,如圖5所示。

2.3 數(shù)據(jù)對(duì)比

以系統(tǒng)中的Thing、GraphType、Component類為例,這3個(gè)模型在海云PDM中建立的類圖、類屬性、類之間的關(guān)系如圖6所示,Rational Rose解析導(dǎo)入的XML文件后自動(dòng)建立的模型如圖7所示。對(duì)比兩者后可以發(fā)現(xiàn),包圖、類圖、類屬性及類間關(guān)系基本一致,證明系統(tǒng)中建立的模型符合UML標(biāo)準(zhǔn)規(guī)范。

3 三維CAD數(shù)據(jù)集成

船舶行業(yè)是一個(gè)涉及眾多專業(yè)的龐大系統(tǒng),設(shè)計(jì)建造過程中生成的零部件數(shù)目眾多且復(fù)雜性高。同時(shí),不同專業(yè)的船舶設(shè)計(jì)研究所和造船廠所使用的船舶設(shè)計(jì)建造軟件往往是不同的,這大大增加了船舶在設(shè)計(jì)建造過程中信息交互的難度,無法做到設(shè)計(jì)生產(chǎn)之間的協(xié)同[10]。

因此,在當(dāng)前船舶設(shè)計(jì)研究所與造船廠分離的研制模式下,PDM和CAD的信息交換和數(shù)據(jù)共享是十分必要的,本文重點(diǎn)討論海云PDM與滬東中華造船(集團(tuán))有限公司研發(fā)的三維CAD軟件船舶產(chǎn)品設(shè)計(jì)(Ship Product Design,SPD)系統(tǒng)的數(shù)據(jù)集成[7-8,16]。首先,本文通過分析SPD的三維模型數(shù)據(jù)結(jié)構(gòu)和模型數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,得到抽象化的UML模型視圖。其次,根據(jù)分析結(jié)果在海云PDM中建立SPD模型數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)模型,實(shí)現(xiàn)三維模型數(shù)據(jù)的持久化存儲(chǔ)。最后,基于海云PDM開發(fā)出三維模型數(shù)據(jù)的瀏覽界面。

3.1 三維模型數(shù)據(jù)結(jié)構(gòu)分析

SPD三維模型數(shù)據(jù)抽象分為基礎(chǔ)庫、標(biāo)準(zhǔn)部件、零部件(包括管系、鐵舾、風(fēng)管、電纜專業(yè))3部分內(nèi)容,根據(jù)抽象分析結(jié)果,用UML模型表示每塊內(nèi)容中的SPD數(shù)據(jù)層次結(jié)構(gòu)及數(shù)據(jù)關(guān)系,采用此類方法對(duì)SPD各個(gè)專業(yè)模型的數(shù)據(jù)進(jìn)行持久化集成。

典型的基礎(chǔ)庫表數(shù)據(jù)結(jié)構(gòu)如表1所示。

表1 典型基礎(chǔ)庫表數(shù)據(jù)格式

基礎(chǔ)庫包括區(qū)域、艙室、托盤、涂裝、表面處理、電纜標(biāo)準(zhǔn)、管路系統(tǒng)等,涵蓋船舶各個(gè)專業(yè)的基礎(chǔ)數(shù)據(jù)。

標(biāo)準(zhǔn)部件按照系統(tǒng)內(nèi)碼表進(jìn)行分類劃分,所有標(biāo)準(zhǔn)部件從部件基類擴(kuò)展劃分,部件基類具備專業(yè)、來源、船級(jí)社定義表、表面處理定義等屬性。以管系標(biāo)準(zhǔn)部件中的管子為例,管子由部件基類擴(kuò)展,下面劃分為其它(PVC,玻璃鋼)、船用無縫鋼管、黃銅紫銅管、耐熱鋼管、不銹鋼管、銅鎳鐵管、簿壁管、鋁合金管等標(biāo)準(zhǔn)部件。

零部件數(shù)據(jù)中含標(biāo)準(zhǔn)部件內(nèi)碼表示屬于標(biāo)準(zhǔn)部件的裝配,各專業(yè)零部件由零部件類型擴(kuò)展,本文中解析的零部件專業(yè)包括管系、鐵舾、風(fēng)管、電纜,其中管系零部件有管零件、設(shè)備、管部件、管附件、緊固件等類型。

3.2 三維模型數(shù)據(jù)建模

根據(jù)SPD三維數(shù)據(jù)模型的分析結(jié)果,用UML模型圖表示基礎(chǔ)庫、標(biāo)準(zhǔn)部件、零部件的數(shù)據(jù)層次結(jié)構(gòu)及數(shù)據(jù)關(guān)系。如圖8所示,基礎(chǔ)庫表以船舶專業(yè)為分類標(biāo)準(zhǔn),分別梳理了各專業(yè)類型及關(guān)聯(lián)關(guān)系,基礎(chǔ)庫表BasicType的子類有專業(yè)、來源、船級(jí)社定義表、涂裝、表面處理、區(qū)域、艙室、托盤、甲板、螺栓螺母標(biāo)準(zhǔn)定義表、管路系統(tǒng)定義表、電氣系統(tǒng)、電纜類別、電纜原理、電纜標(biāo)準(zhǔn)、材質(zhì),其中電氣系統(tǒng)和電氣子系統(tǒng)之間有關(guān)聯(lián)關(guān)系,托盤和圖號(hào)之間有關(guān)聯(lián)關(guān)系。

根據(jù)已梳理的UML模型圖,試用海云PDM中的圖形化建模工具建立基礎(chǔ)庫表的實(shí)際數(shù)據(jù)模型。圖9中基礎(chǔ)庫表BasicType和其子類的繼承關(guān)系,其中還包含托盤和圖號(hào)之間的關(guān)聯(lián)關(guān)系;圖10中新建了范圍(Range)類、位置(Position)類,主要用于體現(xiàn)Block類、Zone類、Pallet類和Range類的關(guān)聯(lián)關(guān)系,Pallet類和Block類有關(guān)聯(lián)關(guān)系,Cabin類和Position類也有關(guān)聯(lián)關(guān)系。

圖1 定義符號(hào)流程圖

圖2 配置庫界面

圖3 工作流模板

圖4 導(dǎo)出的XML格式數(shù)據(jù)

圖5 VB語言調(diào)用接口獲取XML數(shù)據(jù)

圖6 海云PDM中的模型

圖7 Rational Rose中的模型

圖8 基礎(chǔ)庫表關(guān)系圖

圖9 基礎(chǔ)庫表建模一

圖10 基礎(chǔ)庫表建模二

3.3 三維模型數(shù)據(jù)持久化

數(shù)據(jù)持久化技術(shù)是將應(yīng)用系統(tǒng)中的對(duì)象數(shù)據(jù)通過ORM(Object Relation Mapping,對(duì)象關(guān)系映射)映射到關(guān)系數(shù)據(jù)庫中,使應(yīng)用系統(tǒng)中的數(shù)據(jù)對(duì)象與關(guān)系數(shù)據(jù)庫中的記錄建立一一對(duì)應(yīng)關(guān)系。

對(duì)象關(guān)系映射一般包括屬性映射和關(guān)系映射兩方面內(nèi)容。屬性映射是根據(jù)應(yīng)用系統(tǒng)中對(duì)象屬性的類型在數(shù)據(jù)庫中將其實(shí)現(xiàn)為一個(gè)物理屬性或虛擬屬性(不在數(shù)據(jù)庫中存儲(chǔ),通過應(yīng)用程序操作返回具體值),本文采取的方法是將一個(gè)類中的所有屬性映射到數(shù)據(jù)庫中的一張表中。關(guān)系映射是指將應(yīng)用程序中類與類之間的關(guān)系持久化到數(shù)據(jù)庫中,其中類與類之間的關(guān)系包括繼承關(guān)系、聚合關(guān)系和關(guān)聯(lián)關(guān)系[6]。

以結(jié)構(gòu)專業(yè)為例,SPD三維模型數(shù)據(jù)的持久化首先需要定義抽象類SPDObject數(shù)據(jù)模型,其屬性包括唯一表示符oid,海云PDM中的其他SPD模型都需要繼承該抽象類,共同擁有SPD對(duì)象屬性。根據(jù)專業(yè)需要分別單獨(dú)定義總段、分段、船型基本信息、區(qū)域、船體裝配件、船體零部件等結(jié)構(gòu)專業(yè)數(shù)據(jù)模型的特有屬性。在完成結(jié)構(gòu)專業(yè)數(shù)據(jù)模型的定義后,為數(shù)據(jù)模型和屬性添加保存、修改、刪除的操作方法,實(shí)現(xiàn)數(shù)據(jù)模型的動(dòng)態(tài)操作。

3.4 三維模型數(shù)據(jù)瀏覽

在三維模型數(shù)據(jù)持久化的基礎(chǔ)上,通過海云PDM的MDA(Model Driven Architecture)架構(gòu)可以實(shí)現(xiàn)結(jié)構(gòu)專業(yè)信息瀏覽、零部件關(guān)聯(lián)關(guān)系瀏覽、模型詳細(xì)信息瀏覽等頂層功能。海云PDM中還集成了基礎(chǔ)庫的數(shù)據(jù)展示界面,用于展示基礎(chǔ)庫表BasicType下所有子類的數(shù)據(jù)。如圖11所示,用戶通過XML文件導(dǎo)入基礎(chǔ)數(shù)據(jù),界面左側(cè)樹結(jié)構(gòu)展示了所有的基礎(chǔ)庫表類型,點(diǎn)擊某個(gè)類型,右邊會(huì)顯示表格,展示選中類型的所有數(shù)據(jù)。

圖11 基礎(chǔ)庫表數(shù)據(jù)瀏覽界面

4 結(jié)語

本文研究了PDM數(shù)據(jù)建模和PDM與CAD集成等內(nèi)容。在海云PDM中實(shí)現(xiàn)了完全自主化的圖形化數(shù)據(jù)建模工具,并且與主流UML 建模工具Rational Rose集成,使自主化建模工具符合UML標(biāo)準(zhǔn)規(guī)范,提高了建模工具的通用性。通過分析SPD的三維模型數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)了海云PDM與國產(chǎn)三維CAD的數(shù)據(jù)集成,將SPD三維模型的專業(yè)數(shù)據(jù)持久化地存儲(chǔ)到海云PDM中,實(shí)現(xiàn)在PDM中管理三維CAD數(shù)據(jù)。

猜你喜歡
圖形化圖表符號(hào)
學(xué)符號(hào),比多少
幼兒園(2021年6期)2021-07-28 07:42:14
“+”“-”符號(hào)的由來
LKJ自動(dòng)化測試系統(tǒng)圖形化技術(shù)研究
變符號(hào)
雙周圖表
足球周刊(2016年14期)2016-11-02 10:54:56
雙周圖表
足球周刊(2016年15期)2016-11-02 10:54:16
雙周圖表
足球周刊(2016年10期)2016-10-08 18:30:55
圖表
世界博覽(2016年16期)2016-09-27 18:25:26
運(yùn)用圖形化聽寫式復(fù)習(xí),構(gòu)建高效地理課堂
圖的有效符號(hào)邊控制數(shù)
金华市| 湛江市| 赤城县| 公主岭市| 开封市| 临朐县| 恩施市| 昆山市| 肃宁县| 尼木县| 枣庄市| 合水县| 浦北县| 交口县| 营山县| 威宁| 土默特右旗| 门头沟区| 莆田市| 会泽县| 加查县| 丹寨县| 华坪县| 龙里县| 云阳县| 南部县| 内江市| 镇远县| 平远县| 珲春市| 霸州市| 南江县| 朔州市| 日喀则市| 滕州市| 镇安县| 龙游县| 永登县| 西宁市| 浮山县| 郯城县|