,,
(1.渤海船舶職業學院,遼寧 葫蘆島 125000;2.渤海船舶重工有限責任公司,遼寧 葫蘆島 125004)
在海洋工程領域,計算機輔助設計技術和工程數據庫的聯合運用仍然處于起步階段,工程設計過程中大量的數據信息仍需要手工操作完成,利用AutoCAD和VB.NET進行二次開發輔助海洋工程生產模型的分解、細化,能提高數據輸出效率[1-4]。為此,結合渤船重工有限責任公司海洋工程事業部在進行海洋工程建模工作中工程技術人員經常面對的技術難題,選取AutoCAD2010、VB.NET軟件進行二次開發。
結合渤船重工有限責任公司海工事業部在開展海工項目中遇到的問題,以VB.NET作為開發工具,利用AutoCAD2010進行二次開發,并通過ActiveX Data Objects(ADO)實現與數據庫的連接。實現海洋平臺三維設計參數化建模,使操作簡單直觀,為降低建模周期的復雜度提供可靠技術依據。
進行海洋工程平臺建模的二次開發的體系架構見圖1。

圖1 二次開發體系架構
啟動VB.NET軟件,創建“海洋平臺生活區建模二次開發系統”窗體,在窗體上添加若干控件并設置其相關屬性。
1)引用AutoCAD類型庫,此項工作在VB編程環境中進行;
2)編寫VB程序代碼,創建AutoCAD對象,啟動AutoCAD。
建立好VB與AutoCAD連接后,可以獲得AutoCAD對象及其下級對象的屬性和方法等,完成用VB語言在AutoCAD圖形繪制及編輯等操作。
引用AutoCAD數據庫在VB編程環境中單擊菜單欄中的“工程”→“引用”,選中“AutoCAD 2010 Type Library”。創建AutoCAD對象的方法很多,這里定義AutoCAD對象變量選取在全局模塊Module中實現,目的是便于多個窗體可以共同引用。為了能夠正確使用AutoCAD的Automation對象,必須首先在VB.NET中引用該對象類型庫acad.tlb,下面程序代碼為在VB程序中啟動運行AutoCAD的部分源代碼。
’在程序代碼窗體的定義全局變量
Public acadapp As Object '定義AutoCAD的應用程序
Public acaddoc As Object '定義當前文檔變量引用AutoCAD圖形
Public moSpace As Object 設置當前模型空間變量
Public paSpace As Object '設置當前圖紙空間變量
Public sub Main( )
On Error Resume Next
Setacadapp = GetObject(," AutoCAD.Application")
If Err Then
Err.Clear
Set acadapp = CreateObject("AutoCAD.Application")
If Err Then
MsgBox (“無法打開運行AutoCAD”)Err.description
Exit Sub
End If
End if
Set acaddoc=acadapp.ActiveDocument
Set mospace=acaddoc.ModulSpace
Set paspace=acaddoc.PaperSpace
Acadapp.Visual=True
Dim templatefilename As String
Templatefilename=“C:Program FilesAutoCAD2010TEMPLATE生活區艙室設計.dwt”
Dim doc As Object
Set doc acaddoc.New(templatefilename)
End sub
以上的程序代碼中不僅實現VB與AutoCAD的連接,而且聲明了多個全局變量便于在繪圖程序中引用。程序中的條件語句是為確保只打開一次AutoCAD窗口,節約系統資源。如果無法打開運行AutoCAD程序將報錯,出錯情況可用MsgBox Err.description語句查詢具體原因。
2.3.1 數據查詢模塊
實現AutoCAD數據庫的查詢功能操作,主要包含:數據庫信息初始化、共享、備份;工程數據參數錄入、維護和查詢等,新建、刪除表格及其關聯數據的操作。
在進行海工建模過程中,最基本的工作是建立一系列的數據表,其中包括海工平臺類型表、平臺基本信息表、水平層類型表等。見表1~3。

表1 平臺類型表
在海洋平臺結構上除了支撐結構上的管件之外,還大量地使用了構件,所以建立工程數據庫將常用截面參數基本信息存放于此,從而減少工程技術人員的重復性勞動。

表2 海工平臺基本信息表
2.3.2 AutoCAD實體造型模塊
針對不同的海工平臺類型、截面參數等控制AutoCAD軟件,根據工程技術人員自定義修改數據庫里已有的數據信息,建立與之適應的模型,并且支持用戶通過VB.NET 內置的菜單、工具欄對模型進行添加或者修改等操作。本次開發可以保證用戶通過主程序界面完成主尺度、水平層選擇和設計參數,不需要直接操作AutoCAD,整個過程達到自動化和智能化的設計標準。
1)本系統采用Visual Basic.NET 和AutoCAD進行海洋平臺生活區建模二次開發,實現了模塊化思想設計軟件體系結構。
2)系統軟件已經應用于渤海船舶重工有限責任公司海工事業部海洋鉆井平臺等工程設計部門中,用戶實際使用證明,該系統操作直觀簡便,降低勞動重復率,縮短工程設計周期,實際工程應用中取得了較好的輔助設計效果。
3)初步解決海洋平臺建模過程中功能生活區的參數重置現象,用戶可進一步根據需要對海洋平臺鉆井區、工具堆放區等區域進行二次開發設計工作。
[1] 楊立軍,黨新安,夏 田.基于VB的AutoCAD二次開發技術[J].現代制造工程,2004(3):27-28.
[2] 張 帆,鄭立楷,王華杰. AutoCAD VBA開發精彩實
例教程[M].北京:清華大學出版社,2004.
[3] 張祥瑞,嚴家文.基于AutoCAD平臺的船體三維建模研究[J].船舶,2007(4):56-60.
[4] 周愫承,奚立康.21世紀IT:信息技術在中國海洋平臺工程中的應用展望[J].中國海洋平臺,2000(2):4-9.