杜承東 ,董大朋 , 黃 夏
(1.海裝駐上海地區(qū)第二軍事代表室,上海200129;2.滬東中華造船(集團)有限公司,上海 200129)
隨著數字化造船技術的不斷發(fā)展,對設計圖紙的要求也在不斷提高,要求設計圖紙精細化并且降低修改率。為了達到這一目的,一款實用性強的設計應用軟件是必不可少的。CATIA 是法國達索公司的一款產品開發(fā)設計軟件,支持從產品的項目前階段、具體設計、分析、模擬、組裝到維護在內的全部工業(yè)設計流程[1]。該設計軟件已成為航空和汽車設計領域的重要設計輔助工具,由于其強大的全過程輔助設計功能,目前已開始逐步在船舶設計領域推廣。
該軟件可以把系統原理圖信息直接驅動到三維模型的物理節(jié)點下,使三維模型與系統原理圖的信息完全一致[2][3],減少了大量人為差錯;但該軟件在電氣系統原理圖設計方面比較繁瑣,需要做大量的前期準備工作和數據積累,例如電纜庫的建立、電氣元件二維符號庫的繪制等,并且繪圖速度和操作便捷度遠不如目前廣泛使用的AutoCAD 繪圖軟件。
使用AutoCAD 繪制電氣系統圖簡單、高效,但是其圖紙沒有拓撲結構,與三維設計軟件沒有相關接口,不便于三維建模工作的展開。因此利用船舶電氣設計領域常用的設計軟件進行二次開發(fā),以便后期便捷對接CATIA 三維設計軟件是很有必要的。本文介紹一種針對CATIA 三維設計軟件應用自行開發(fā)的AutoCAD 二次開發(fā)程序,用來進行船舶電氣系統圖設繪,并導入CATIA 三維設計軟件的方法。
在使用AutoCAD 設繪電氣系統原理圖時,主要的設繪內容是設備、電纜以及相關信息文字。由于AutoCAD 繪制的系統圖本身沒有拓撲結構,因此可以使用二次開發(fā)程序生成的屬性塊去繪制設備和電纜;在該二次開發(fā)程序下使用CAD 設繪電氣系統原理圖時,可以在已有的常規(guī)電氣系統原理圖中增加屬性和關聯,也可以利用該二次開發(fā)程序設繪帶屬性的新圖;在設繪中,電纜塊插入點需要放置在表示電纜的線形圖元上,設備塊插入點需要放置在表示設備的矩形框或封閉區(qū)域內,這樣可以識別到代表電纜的直線及其電纜塊內屬性信息,以及代表設備的框及其設備塊內屬性信息;二次開發(fā)程序還可以識別到代表電纜的直線和代表設備的框之間的連接關系,使得繪制的圖紙具有邏輯關系;在上述信息全部識別完整的條件下,該二次開發(fā)程序還具有自動生成電纜表冊、設備明細表、圖紙差異校對、生成數據表格等輔助功能。
該二次開發(fā)程序的電氣系統圖設繪界面,見圖1。通過圖1中的增加設備或增加電纜來進行系統圖設繪,也可以選用無框設備來疊加在已有系統圖的設備框線上,僅增加設備屬性;程序識別電纜和設備的的連接關系后會高亮顯示,表示圖紙中電纜和設備已成功關聯,以便進行校對工作,見圖2。

圖1 電氣系統圖設繪界面

圖2 設備和電纜關聯后的系統圖
該二次開發(fā)程序可以輔助進行電氣設備布置圖的設繪,替代傳統的布置圖和系統圖分別設繪的方式;可以使用該二次開發(fā)程序讀取電氣系統圖中的設備信息,讀取完成后切換到布置圖進行布置;程序提供了幾種常用的設備符號供選擇,復雜的形狀只能手工復制,再交給程序自動轉成屬性塊;程序除了能把從電氣系統圖讀到的設備代號自動填到符號中,還可以自動生成設備三維建模用的設備模型代號,即小樣代號或零件代號。大中型設備(控制箱、控制臺等)的模型代號為設備代號加中文描述,小型設備(燈具、開關、接線盒等)的模型代號為設備型號加中文描述;程序還能根據自動生成布置圖的明細表,明細表中的設備數量根據模型代號統計,程序會自動累加模型代號相同的設備數量得到設備總數。
首先在向CATIA 導入上述設繪完畢二維圖紙中的電纜和設備前,需要在CATIA 的系統邏輯根節(jié)點下建立設備和電纜2 個邏輯節(jié)點,然后在這兩個邏輯節(jié)點下分別建立例如電力一次系統、電力二次系統、照明系統等不同的電氣系統節(jié)點,完成后分別點擊設備導入和電纜導入按鈕。
通過該導入功能,二維平面CAD 圖紙中的設備和電纜就分別被導入到了邏輯設備和電纜下相應系統的節(jié)點下。
該二次開發(fā)程序功能,使用C#語言和CATIACAA 聯合開發(fā),因為CATIA 并沒有提供邏輯節(jié)點的二次開發(fā)接口,只能使用C#提取AutoCAD 的屬性信息,保存到XML 文件后再由CATIA-CAA 讀取并實例化到CATIA 的系統邏輯節(jié)點上;CAA 程序由C#起動,使用時無需分別運行兩個程序;CAA 功能也可由EKL 代替,不過需要把EKL 代碼掛到CATIA 節(jié)點上,使用起來比較繁瑣;CATIA 結構樹的搭建,也可以根據實際需要修改并修改代碼。
在上述操作完成后,此時電纜和設備間還沒有創(chuàng)建連接關系,創(chuàng)建連接關系前需要點擊程序的生成端口按鈕來為每個電纜和設備節(jié)點生成端口,端口數量按設備的實際電纜接口數量創(chuàng)建,并盡量按常規(guī)CAD設繪習慣設置端口的位置。
電纜及設備的端口創(chuàng)建完成后,就可以為電纜和設備創(chuàng)建連接關系了。目前還無法在CATIA 內部直接創(chuàng)建電纜和設備的連接關系,只能在CATIA 外部進行,即需要使用CATIA 的原生功能把系統圖導出,點擊程序的XML 導出按鈕,程序會自動打開CATIA XML導出界面;按照CAITA 界面中指定的XML 位置點擊生成連接按鈕,程序會自動把電纜和設備的連接關系寫入導出的XML 文件中,完成后再點擊XML 導入按鈕,程序會自動打開CATIA 導入XML 界面;點擊Full Update 后,CAD 系統圖導入CATIA 就全部完成了。
利用該二次開發(fā)程序將CAD 系統圖導入到CATIA中形成邏輯系統圖,無需使用CATIA 原生功能中的系統圖設繪功能,完成了CATIA 電纜節(jié)點、設備節(jié)點和連接關系的信息輸入,有了這些就可以進行CATIA 中的邏輯到物理的驅動了,此功能由CAA 開發(fā)、C#程序起動。
使用該二次開發(fā)程序設繪電氣系統圖紙前,可以將電纜庫和艙室?guī)鞂氲匠绦蛑校绦蛑С諩XCEL 表格形式的批量導入和手動導入。由于每個工程使用的電纜型號和規(guī)格都不一樣,在導入前需要建立本項目的工程再進行導入,這樣導入后在修改電纜型號、規(guī)格時,僅在該項目已采購電纜中選擇,避免了電纜型號修改后但實際庫內電纜無貨的情況。
艙室?guī)炫c電纜庫一樣,根據工程項目需要建立,在修改設備屬性時可以根據設備位置進行艙室?guī)斓倪x擇。
在該二次開發(fā)程序中,同時設計有輔助計算功能,可以根據用戶實際需求預設各種經驗計算公式和電纜、開關選型庫。例如:在設備屬性中如填寫了電制、額定功率、額定電流等屬性,可使用該程序在系統設計中自動選擇保護開關、負載電纜的規(guī)格;設置配電板配電容量、電流等的計算公式,并根據負載性質設置同時系數,可以計算配電板的總負載功率、配電線路的三相平衡率、電纜壓降等,大幅減少設計人員的相關計算工作量。
該二次開發(fā)程序還提供了數據導出功能,根據設計需要導出電纜或設備的屬性信息。 該導出功能可滿足各種清冊清單的快速編制或再導入到其它建模軟件,文件格式可選多種格式,使系統圖的信息數據可以與其它建模軟件通用。
目前該軟件僅實現了將設備和電纜全自動導入到CATIA 節(jié)點下,而電纜、設備和節(jié)點的邏輯關系還需要人工導出 XML 文件后,經過軟件修改 XML 文件再由人工導入才能建立,過程十分繁瑣。因此后續(xù)將進一步研究通過 CAA 二次開發(fā),實現自動建立上述邏輯關系。
目前導入 CATIA 的只有電纜、設備和它們之間的邏輯關系,并沒有同 CAD 系統圖一樣的可視化圖形,后續(xù)將進一步研究開發(fā)通過讀取 CAD 圖紙中圖形信息和位置,在 CATIA 圖形中自動生成與 CAD 圖紙完全一致的 CATIA 圖形;目前 CAD 電纜和設備需要使用屬性塊進行繪制才能實現與 CATIA 交互,但目前很多圖紙使用的都是普通文字和圖形,后續(xù)還需進一步研究開發(fā),實現自動將普通的 CAD 圖紙轉換成帶標準屬性塊的圖紙,進一步減少圖紙繪制的工作量。
本文針對CATIA 三維設計軟件應用下自行開發(fā)的一個CAD 二次開發(fā)接口程序,介紹了應用該二次開發(fā)程序進行系統圖信息輸入和CAITA 導入的標準化設計流程。如:在設計初期就使用該二次開發(fā)程序進行系統原理圖設繪,無需使用CAITA 設繪二維電氣系統圖,提高了繪制系統圖的效率,同時可以減少很多設計過程中的反復統計和校對工作,比如電纜長度預估、設備種類及數量統計、總功率計算等;此外,還可減少設計工作中的開關規(guī)格選擇、系統圖與布置圖的校對、系統布置與三維模型的校對、設備代號排序等工作,并能完成二維AutoCAD 系統圖直接同步導入CATIA 三維物理模型的工作;該程序還提供了從設計到出圖整個過程的同步和檢查功能,可減少大量人為差錯,提高設計效率和設計質量。