杜承東 ,董大朋 , 黃 夏
(1.海裝駐上海地區(qū)第二軍事代表室,上海200129;2.滬東中華造船(集團)有限公司,上海 200129)
隨著數(shù)字化造船技術(shù)的不斷發(fā)展,對設(shè)計圖紙的要求也在不斷提高,要求設(shè)計圖紙精細(xì)化并且降低修改率。為了達到這一目的,一款實用性強的設(shè)計應(yīng)用軟件是必不可少的。CATIA 是法國達索公司的一款產(chǎn)品開發(fā)設(shè)計軟件,支持從產(chǎn)品的項目前階段、具體設(shè)計、分析、模擬、組裝到維護在內(nèi)的全部工業(yè)設(shè)計流程[1]。該設(shè)計軟件已成為航空和汽車設(shè)計領(lǐng)域的重要設(shè)計輔助工具,由于其強大的全過程輔助設(shè)計功能,目前已開始逐步在船舶設(shè)計領(lǐng)域推廣。
該軟件可以把系統(tǒng)原理圖信息直接驅(qū)動到三維模型的物理節(jié)點下,使三維模型與系統(tǒng)原理圖的信息完全一致[2][3],減少了大量人為差錯;但該軟件在電氣系統(tǒng)原理圖設(shè)計方面比較繁瑣,需要做大量的前期準(zhǔn)備工作和數(shù)據(jù)積累,例如電纜庫的建立、電氣元件二維符號庫的繪制等,并且繪圖速度和操作便捷度遠(yuǎn)不如目前廣泛使用的AutoCAD 繪圖軟件。
使用AutoCAD 繪制電氣系統(tǒng)圖簡單、高效,但是其圖紙沒有拓?fù)浣Y(jié)構(gòu),與三維設(shè)計軟件沒有相關(guān)接口,不便于三維建模工作的展開。因此利用船舶電氣設(shè)計領(lǐng)域常用的設(shè)計軟件進行二次開發(fā),以便后期便捷對接CATIA 三維設(shè)計軟件是很有必要的。本文介紹一種針對CATIA 三維設(shè)計軟件應(yīng)用自行開發(fā)的AutoCAD 二次開發(fā)程序,用來進行船舶電氣系統(tǒng)圖設(shè)繪,并導(dǎo)入CATIA 三維設(shè)計軟件的方法。
在使用AutoCAD 設(shè)繪電氣系統(tǒng)原理圖時,主要的設(shè)繪內(nèi)容是設(shè)備、電纜以及相關(guān)信息文字。由于AutoCAD 繪制的系統(tǒng)圖本身沒有拓?fù)浣Y(jié)構(gòu),因此可以使用二次開發(fā)程序生成的屬性塊去繪制設(shè)備和電纜;在該二次開發(fā)程序下使用CAD 設(shè)繪電氣系統(tǒng)原理圖時,可以在已有的常規(guī)電氣系統(tǒng)原理圖中增加屬性和關(guān)聯(lián),也可以利用該二次開發(fā)程序設(shè)繪帶屬性的新圖;在設(shè)繪中,電纜塊插入點需要放置在表示電纜的線形圖元上,設(shè)備塊插入點需要放置在表示設(shè)備的矩形框或封閉區(qū)域內(nèi),這樣可以識別到代表電纜的直線及其電纜塊內(nèi)屬性信息,以及代表設(shè)備的框及其設(shè)備塊內(nèi)屬性信息;二次開發(fā)程序還可以識別到代表電纜的直線和代表設(shè)備的框之間的連接關(guān)系,使得繪制的圖紙具有邏輯關(guān)系;在上述信息全部識別完整的條件下,該二次開發(fā)程序還具有自動生成電纜表冊、設(shè)備明細(xì)表、圖紙差異校對、生成數(shù)據(jù)表格等輔助功能。
該二次開發(fā)程序的電氣系統(tǒng)圖設(shè)繪界面,見圖1。通過圖1中的增加設(shè)備或增加電纜來進行系統(tǒng)圖設(shè)繪,也可以選用無框設(shè)備來疊加在已有系統(tǒng)圖的設(shè)備框線上,僅增加設(shè)備屬性;程序識別電纜和設(shè)備的的連接關(guān)系后會高亮顯示,表示圖紙中電纜和設(shè)備已成功關(guān)聯(lián),以便進行校對工作,見圖2。
圖1 電氣系統(tǒng)圖設(shè)繪界面
圖2 設(shè)備和電纜關(guān)聯(lián)后的系統(tǒng)圖
該二次開發(fā)程序可以輔助進行電氣設(shè)備布置圖的設(shè)繪,替代傳統(tǒng)的布置圖和系統(tǒng)圖分別設(shè)繪的方式;可以使用該二次開發(fā)程序讀取電氣系統(tǒng)圖中的設(shè)備信息,讀取完成后切換到布置圖進行布置;程序提供了幾種常用的設(shè)備符號供選擇,復(fù)雜的形狀只能手工復(fù)制,再交給程序自動轉(zhuǎn)成屬性塊;程序除了能把從電氣系統(tǒng)圖讀到的設(shè)備代號自動填到符號中,還可以自動生成設(shè)備三維建模用的設(shè)備模型代號,即小樣代號或零件代號。大中型設(shè)備(控制箱、控制臺等)的模型代號為設(shè)備代號加中文描述,小型設(shè)備(燈具、開關(guān)、接線盒等)的模型代號為設(shè)備型號加中文描述;程序還能根據(jù)自動生成布置圖的明細(xì)表,明細(xì)表中的設(shè)備數(shù)量根據(jù)模型代號統(tǒng)計,程序會自動累加模型代號相同的設(shè)備數(shù)量得到設(shè)備總數(shù)。
首先在向CATIA 導(dǎo)入上述設(shè)繪完畢二維圖紙中的電纜和設(shè)備前,需要在CATIA 的系統(tǒng)邏輯根節(jié)點下建立設(shè)備和電纜2 個邏輯節(jié)點,然后在這兩個邏輯節(jié)點下分別建立例如電力一次系統(tǒng)、電力二次系統(tǒng)、照明系統(tǒng)等不同的電氣系統(tǒng)節(jié)點,完成后分別點擊設(shè)備導(dǎo)入和電纜導(dǎo)入按鈕。
通過該導(dǎo)入功能,二維平面CAD 圖紙中的設(shè)備和電纜就分別被導(dǎo)入到了邏輯設(shè)備和電纜下相應(yīng)系統(tǒng)的節(jié)點下。
該二次開發(fā)程序功能,使用C#語言和CATIACAA 聯(lián)合開發(fā),因為CATIA 并沒有提供邏輯節(jié)點的二次開發(fā)接口,只能使用C#提取AutoCAD 的屬性信息,保存到XML 文件后再由CATIA-CAA 讀取并實例化到CATIA 的系統(tǒng)邏輯節(jié)點上;CAA 程序由C#起動,使用時無需分別運行兩個程序;CAA 功能也可由EKL 代替,不過需要把EKL 代碼掛到CATIA 節(jié)點上,使用起來比較繁瑣;CATIA 結(jié)構(gòu)樹的搭建,也可以根據(jù)實際需要修改并修改代碼。
在上述操作完成后,此時電纜和設(shè)備間還沒有創(chuàng)建連接關(guān)系,創(chuàng)建連接關(guān)系前需要點擊程序的生成端口按鈕來為每個電纜和設(shè)備節(jié)點生成端口,端口數(shù)量按設(shè)備的實際電纜接口數(shù)量創(chuàng)建,并盡量按常規(guī)CAD設(shè)繪習(xí)慣設(shè)置端口的位置。
電纜及設(shè)備的端口創(chuàng)建完成后,就可以為電纜和設(shè)備創(chuàng)建連接關(guān)系了。目前還無法在CATIA 內(nèi)部直接創(chuàng)建電纜和設(shè)備的連接關(guān)系,只能在CATIA 外部進行,即需要使用CATIA 的原生功能把系統(tǒng)圖導(dǎo)出,點擊程序的XML 導(dǎo)出按鈕,程序會自動打開CATIA XML導(dǎo)出界面;按照CAITA 界面中指定的XML 位置點擊生成連接按鈕,程序會自動把電纜和設(shè)備的連接關(guān)系寫入導(dǎo)出的XML 文件中,完成后再點擊XML 導(dǎo)入按鈕,程序會自動打開CATIA 導(dǎo)入XML 界面;點擊Full Update 后,CAD 系統(tǒng)圖導(dǎo)入CATIA 就全部完成了。
利用該二次開發(fā)程序?qū)AD 系統(tǒng)圖導(dǎo)入到CATIA中形成邏輯系統(tǒng)圖,無需使用CATIA 原生功能中的系統(tǒng)圖設(shè)繪功能,完成了CATIA 電纜節(jié)點、設(shè)備節(jié)點和連接關(guān)系的信息輸入,有了這些就可以進行CATIA 中的邏輯到物理的驅(qū)動了,此功能由CAA 開發(fā)、C#程序起動。
使用該二次開發(fā)程序設(shè)繪電氣系統(tǒng)圖紙前,可以將電纜庫和艙室?guī)鞂?dǎo)入到程序中,程序支持EXCEL 表格形式的批量導(dǎo)入和手動導(dǎo)入。由于每個工程使用的電纜型號和規(guī)格都不一樣,在導(dǎo)入前需要建立本項目的工程再進行導(dǎo)入,這樣導(dǎo)入后在修改電纜型號、規(guī)格時,僅在該項目已采購電纜中選擇,避免了電纜型號修改后但實際庫內(nèi)電纜無貨的情況。
艙室?guī)炫c電纜庫一樣,根據(jù)工程項目需要建立,在修改設(shè)備屬性時可以根據(jù)設(shè)備位置進行艙室?guī)斓倪x擇。
在該二次開發(fā)程序中,同時設(shè)計有輔助計算功能,可以根據(jù)用戶實際需求預(yù)設(shè)各種經(jīng)驗計算公式和電纜、開關(guān)選型庫。例如:在設(shè)備屬性中如填寫了電制、額定功率、額定電流等屬性,可使用該程序在系統(tǒng)設(shè)計中自動選擇保護開關(guān)、負(fù)載電纜的規(guī)格;設(shè)置配電板配電容量、電流等的計算公式,并根據(jù)負(fù)載性質(zhì)設(shè)置同時系數(shù),可以計算配電板的總負(fù)載功率、配電線路的三相平衡率、電纜壓降等,大幅減少設(shè)計人員的相關(guān)計算工作量。
該二次開發(fā)程序還提供了數(shù)據(jù)導(dǎo)出功能,根據(jù)設(shè)計需要導(dǎo)出電纜或設(shè)備的屬性信息。 該導(dǎo)出功能可滿足各種清冊清單的快速編制或再導(dǎo)入到其它建模軟件,文件格式可選多種格式,使系統(tǒng)圖的信息數(shù)據(jù)可以與其它建模軟件通用。
目前該軟件僅實現(xiàn)了將設(shè)備和電纜全自動導(dǎo)入到CATIA 節(jié)點下,而電纜、設(shè)備和節(jié)點的邏輯關(guān)系還需要人工導(dǎo)出 XML 文件后,經(jīng)過軟件修改 XML 文件再由人工導(dǎo)入才能建立,過程十分繁瑣。因此后續(xù)將進一步研究通過 CAA 二次開發(fā),實現(xiàn)自動建立上述邏輯關(guān)系。
目前導(dǎo)入 CATIA 的只有電纜、設(shè)備和它們之間的邏輯關(guān)系,并沒有同 CAD 系統(tǒng)圖一樣的可視化圖形,后續(xù)將進一步研究開發(fā)通過讀取 CAD 圖紙中圖形信息和位置,在 CATIA 圖形中自動生成與 CAD 圖紙完全一致的 CATIA 圖形;目前 CAD 電纜和設(shè)備需要使用屬性塊進行繪制才能實現(xiàn)與 CATIA 交互,但目前很多圖紙使用的都是普通文字和圖形,后續(xù)還需進一步研究開發(fā),實現(xiàn)自動將普通的 CAD 圖紙轉(zhuǎn)換成帶標(biāo)準(zhǔn)屬性塊的圖紙,進一步減少圖紙繪制的工作量。
本文針對CATIA 三維設(shè)計軟件應(yīng)用下自行開發(fā)的一個CAD 二次開發(fā)接口程序,介紹了應(yīng)用該二次開發(fā)程序進行系統(tǒng)圖信息輸入和CAITA 導(dǎo)入的標(biāo)準(zhǔn)化設(shè)計流程。如:在設(shè)計初期就使用該二次開發(fā)程序進行系統(tǒng)原理圖設(shè)繪,無需使用CAITA 設(shè)繪二維電氣系統(tǒng)圖,提高了繪制系統(tǒng)圖的效率,同時可以減少很多設(shè)計過程中的反復(fù)統(tǒng)計和校對工作,比如電纜長度預(yù)估、設(shè)備種類及數(shù)量統(tǒng)計、總功率計算等;此外,還可減少設(shè)計工作中的開關(guān)規(guī)格選擇、系統(tǒng)圖與布置圖的校對、系統(tǒng)布置與三維模型的校對、設(shè)備代號排序等工作,并能完成二維AutoCAD 系統(tǒng)圖直接同步導(dǎo)入CATIA 三維物理模型的工作;該程序還提供了從設(shè)計到出圖整個過程的同步和檢查功能,可減少大量人為差錯,提高設(shè)計效率和設(shè)計質(zhì)量。