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

?

VB與AutoCAD二次開發(fā)在海工建模中的應(yīng)用

2012-01-22 10:30,,
船海工程 2012年6期
關(guān)鍵詞:窗體海工海洋工程

,,

(1.渤海船舶職業(yè)學(xué)院,遼寧 葫蘆島 125000;2.渤海船舶重工有限責(zé)任公司,遼寧 葫蘆島 125004)

在海洋工程領(lǐng)域,計算機輔助設(shè)計技術(shù)和工程數(shù)據(jù)庫的聯(lián)合運用仍然處于起步階段,工程設(shè)計過程中大量的數(shù)據(jù)信息仍需要手工操作完成,利用AutoCAD和VB.NET進(jìn)行二次開發(fā)輔助海洋工程生產(chǎn)模型的分解、細(xì)化,能提高數(shù)據(jù)輸出效率[1-4]。為此,結(jié)合渤船重工有限責(zé)任公司海洋工程事業(yè)部在進(jìn)行海洋工程建模工作中工程技術(shù)人員經(jīng)常面對的技術(shù)難題,選取AutoCAD2010、VB.NET軟件進(jìn)行二次開發(fā)。

1 二次開發(fā)環(huán)境搭建

結(jié)合渤船重工有限責(zé)任公司海工事業(yè)部在開展海工項目中遇到的問題,以VB.NET作為開發(fā)工具,利用AutoCAD2010進(jìn)行二次開發(fā),并通過ActiveX Data Objects(ADO)實現(xiàn)與數(shù)據(jù)庫的連接。實現(xiàn)海洋平臺三維設(shè)計參數(shù)化建模,使操作簡單直觀,為降低建模周期的復(fù)雜度提供可靠技術(shù)依據(jù)。

進(jìn)行海洋工程平臺建模的二次開發(fā)的體系架構(gòu)見圖1。

圖1 二次開發(fā)體系架構(gòu)

2 海工建模二次開發(fā)的設(shè)計步驟

2.1 建立二次開發(fā)的互動界面

啟動VB.NET軟件,創(chuàng)建“海洋平臺生活區(qū)建模二次開發(fā)系統(tǒng)”窗體,在窗體上添加若干控件并設(shè)置其相關(guān)屬性。

2.2 VB與AutoCAD的連接技術(shù)

1)引用AutoCAD類型庫,此項工作在VB編程環(huán)境中進(jìn)行;

2)編寫VB程序代碼,創(chuàng)建AutoCAD對象,啟動AutoCAD。

建立好VB與AutoCAD連接后,可以獲得AutoCAD對象及其下級對象的屬性和方法等,完成用VB語言在AutoCAD圖形繪制及編輯等操作。

引用AutoCAD數(shù)據(jù)庫在VB編程環(huán)境中單擊菜單欄中的“工程”→“引用”,選中“AutoCAD 2010 Type Library”。創(chuàng)建AutoCAD對象的方法很多,這里定義AutoCAD對象變量選取在全局模塊Module中實現(xiàn),目的是便于多個窗體可以共同引用。為了能夠正確使用AutoCAD的Automation對象,必須首先在VB.NET中引用該對象類型庫acad.tlb,下面程序代碼為在VB程序中啟動運行AutoCAD的部分源代碼。

’在程序代碼窗體的定義全局變量

Public acadapp As Object '定義AutoCAD的應(yīng)用程序

Public acaddoc As Object '定義當(dāng)前文檔變量引用AutoCAD圖形

Public moSpace As Object 設(shè)置當(dāng)前模型空間變量

Public paSpace As Object '設(shè)置當(dāng)前圖紙空間變量

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生活區(qū)艙室設(shè)計.dwt”

Dim doc As Object

Set doc acaddoc.New(templatefilename)

End sub

以上的程序代碼中不僅實現(xiàn)VB與AutoCAD的連接,而且聲明了多個全局變量便于在繪圖程序中引用。程序中的條件語句是為確保只打開一次AutoCAD窗口,節(jié)約系統(tǒng)資源。如果無法打開運行AutoCAD程序?qū)箦e,出錯情況可用MsgBox Err.description語句查詢具體原因。

2.3 二次開發(fā)系統(tǒng)功能模塊的實現(xiàn)

2.3.1 數(shù)據(jù)查詢模塊

實現(xiàn)AutoCAD數(shù)據(jù)庫的查詢功能操作,主要包含:數(shù)據(jù)庫信息初始化、共享、備份;工程數(shù)據(jù)參數(shù)錄入、維護和查詢等,新建、刪除表格及其關(guān)聯(lián)數(shù)據(jù)的操作。

在進(jìn)行海工建模過程中,最基本的工作是建立一系列的數(shù)據(jù)表,其中包括海工平臺類型表、平臺基本信息表、水平層類型表等。見表1~3。

表1 平臺類型表

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

表2 海工平臺基本信息表

2.3.2 AutoCAD實體造型模塊

針對不同的海工平臺類型、截面參數(shù)等控制AutoCAD軟件,根據(jù)工程技術(shù)人員自定義修改數(shù)據(jù)庫里已有的數(shù)據(jù)信息,建立與之適應(yīng)的模型,并且支持用戶通過VB.NET 內(nèi)置的菜單、工具欄對模型進(jìn)行添加或者修改等操作。本次開發(fā)可以保證用戶通過主程序界面完成主尺度、水平層選擇和設(shè)計參數(shù),不需要直接操作AutoCAD,整個過程達(dá)到自動化和智能化的設(shè)計標(biāo)準(zhǔn)。

3 結(jié)論

1)本系統(tǒng)采用Visual Basic.NET 和AutoCAD進(jìn)行海洋平臺生活區(qū)建模二次開發(fā),實現(xiàn)了模塊化思想設(shè)計軟件體系結(jié)構(gòu)。

2)系統(tǒng)軟件已經(jīng)應(yīng)用于渤海船舶重工有限責(zé)任公司海工事業(yè)部海洋鉆井平臺等工程設(shè)計部門中,用戶實際使用證明,該系統(tǒng)操作直觀簡便,降低勞動重復(fù)率,縮短工程設(shè)計周期,實際工程應(yīng)用中取得了較好的輔助設(shè)計效果。

3)初步解決海洋平臺建模過程中功能生活區(qū)的參數(shù)重置現(xiàn)象,用戶可進(jìn)一步根據(jù)需要對海洋平臺鉆井區(qū)、工具堆放區(qū)等區(qū)域進(jìn)行二次開發(fā)設(shè)計工作。

[1] 楊立軍,黨新安,夏 田.基于VB的AutoCAD二次開發(fā)技術(shù)[J].現(xiàn)代制造工程,2004(3):27-28.

[2] 張 帆,鄭立楷,王華杰. AutoCAD VBA開發(fā)精彩實

例教程[M].北京:清華大學(xué)出版社,2004.

[3] 張祥瑞,嚴(yán)家文.基于AutoCAD平臺的船體三維建模研究[J].船舶,2007(4):56-60.

[4] 周愫承,奚立康.21世紀(jì)IT:信息技術(shù)在中國海洋平臺工程中的應(yīng)用展望[J].中國海洋平臺,2000(2):4-9.

猜你喜歡
窗體海工海洋工程
工信部發(fā)布“十四五”工業(yè)綠色發(fā)展規(guī)劃船舶海工裝備入列
吹響海洋強國夢號角——鎮(zhèn)江高新區(qū)船舶海工產(chǎn)業(yè)
船舶與海洋工程學(xué)科
試談Access 2007數(shù)據(jù)庫在林業(yè)檔案管理中的應(yīng)用
基于Qt的多窗體快速并行圖形繪制方法研究
解讀《海洋工程裝備制造業(yè)持續(xù)健康發(fā)展行動計劃(2017-2020年)》
無處安放的海工行業(yè)
重防腐涂料在海洋工程鋼結(jié)構(gòu)中的研究進(jìn)展
“海工王者”的驕傲與焦慮
海洋工程船推進(jìn)電動機的啟動方式探討