船體結(jié)構(gòu)產(chǎn)品模型建模_第1頁
船體結(jié)構(gòu)產(chǎn)品模型建模_第2頁
船體結(jié)構(gòu)產(chǎn)品模型建模_第3頁
船體結(jié)構(gòu)產(chǎn)品模型建模_第4頁
船體結(jié)構(gòu)產(chǎn)品模型建模_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、船體結(jié)構(gòu)產(chǎn)品模型建模方法研究 摘 要介紹了在面向?qū)ο蟮木幊汰h(huán)境下,以Solidworks作為軟件平臺,通過二次開發(fā)完成三維船體結(jié)構(gòu)產(chǎn)品模型建模的思路和主要方法。在建立船用零件庫的基礎(chǔ)上,以船體分段結(jié)構(gòu)建模為例,通過調(diào)用Solidworks API編程接口提供的Solidworks對象模型,實現(xiàn)船體結(jié)構(gòu)的參數(shù)化建模,動態(tài)修改和工程數(shù)據(jù)庫的管理,從而在計算機中建立了一個集設(shè)計、制造信息于一體的面向船舶產(chǎn)品生命全周期的船體結(jié)構(gòu)數(shù)據(jù)產(chǎn)品模型。關(guān)鍵詞:船舶虛擬設(shè)計、數(shù)據(jù)產(chǎn)品模型、Solidworks API、船體結(jié)構(gòu)中文分類號:TP391.7,U662.90 前言船舶的虛擬設(shè)計是一種以虛擬現(xiàn)實技術(shù)為基礎(chǔ)

2、,以船舶產(chǎn)品為對象的先進設(shè)計技術(shù)。它將船舶產(chǎn)品開發(fā)全過程數(shù)字化,在計算機中實現(xiàn)產(chǎn)品的設(shè)計、分析、加工等過程,利用三維實體設(shè)計技術(shù),及時發(fā)現(xiàn)并更改設(shè)計中的問題,同時可實現(xiàn)對船舶產(chǎn)品模型中的信息和數(shù)據(jù)的集成及動態(tài)管理。對提高船舶設(shè)計質(zhì)量,降低船舶建造費用,縮短船舶建造周期,以及實現(xiàn)數(shù)字化造船均有實際意義。Solidworks是一套基于Windows的CAD/CAE/CAM/PDM桌面集成系統(tǒng),該軟件對VB、VC、Delphi以及任何其它支持OLE和COM的編程語言提供Solidwors API函數(shù),可以方便使用者針對各行業(yè)的產(chǎn)品,二次開發(fā)出適合本行業(yè)的虛擬設(shè)計系統(tǒng)。本文基于Solidworks平臺

3、,以VB 6.0作為開發(fā)工具實現(xiàn)了對船體結(jié)構(gòu)產(chǎn)品模型的建模,文中著重討論了船體結(jié)構(gòu)產(chǎn)品模型的開發(fā)思想和應(yīng)具有的主要功能,開發(fā)數(shù)據(jù)產(chǎn)品模型的方法及其中的關(guān)鍵技術(shù)。1船體結(jié)構(gòu)產(chǎn)品模型的主要功能在進行船體結(jié)構(gòu)設(shè)計時,對船體結(jié)構(gòu)產(chǎn)品模型的功能設(shè)想如圖1所示。根據(jù)構(gòu)建的船用零件庫,通過交互設(shè)計方式可實現(xiàn)船體曲面建模、船舶分段劃分、結(jié)構(gòu)構(gòu)件建模、模型動態(tài)修改等功能,還應(yīng)能夠?qū)⒌拇w結(jié)構(gòu)產(chǎn)品模型進行相應(yīng)的數(shù)據(jù)集成和管理,如對構(gòu)件和分段等進行查詢、重量重心計算和生成材料明細(xì)表(BOM表)等。圖1 船體結(jié)構(gòu)產(chǎn)品模型的主要功能船用零件庫:提供各種常見的船用零件,分板材、肘板和型材三類。板材包括平直板和折邊板;

4、肘板包括無折邊肘板、折邊肘板、T型肘板;型材包括圓鋼、半圓鋼、管子、扁鋼、角鋼、T型材、球扁鋼、工字鋼、槽鋼等船用標(biāo)準(zhǔn)型材。零件庫可直接用于船體結(jié)構(gòu)數(shù)據(jù)產(chǎn)品模型的構(gòu)型,通過用戶指定零件的型號和主要參數(shù)生成三維數(shù)字模型,并對零件信息予以保存。船體結(jié)構(gòu)設(shè)計:分為船體曲面設(shè)計、分段結(jié)構(gòu)劃分和結(jié)構(gòu)構(gòu)件設(shè)計三部分。船體曲面設(shè)計分為曲面造型和曲面結(jié)構(gòu)設(shè)計兩部分。曲面造型根據(jù)型線設(shè)計的結(jié)果生成船體外板和甲板曲面的三維實體模型,在以后的分段結(jié)構(gòu)設(shè)計中,曲面造型的結(jié)果將直接影響構(gòu)件輪廓的設(shè)計。曲面結(jié)構(gòu)設(shè)計同樣分為外板結(jié)構(gòu)設(shè)計和甲板結(jié)構(gòu)設(shè)計兩部分,主要完成外板展開、板縫劃分、焊縫統(tǒng)計等功能。分段結(jié)構(gòu)劃分:該模塊主

5、要用于定義分段及確定船體的結(jié)構(gòu)形式。包括分段劃分、雙層底設(shè)計、甲板設(shè)計、艙壁設(shè)計及邊艙斜板設(shè)計等。這個模塊是結(jié)構(gòu)構(gòu)件設(shè)計模塊的源數(shù)據(jù),通過它定義的許多船體結(jié)構(gòu)的邊界參數(shù)將被模型系統(tǒng)保存為全局變量,供后續(xù)模塊調(diào)用。結(jié)構(gòu)構(gòu)件設(shè)計:包括船體的主要結(jié)構(gòu)構(gòu)件的設(shè)計。分為肋骨設(shè)計、縱桁設(shè)計(雙層底縱桁、單底縱桁、舷側(cè)縱桁、甲板縱桁)、縱骨設(shè)計(外板縱骨、內(nèi)底板縱骨、舷側(cè)縱骨、甲板縱骨、邊艙斜板縱骨)、肋板設(shè)計、雙層底列板、橫梁設(shè)計、肘板設(shè)計(梁肘板、舭肘板)、扶強材設(shè)計(橫放、豎放、斜放)、孔的設(shè)計(普通形狀孔設(shè)計、特殊形狀孔設(shè)計、切口及補板設(shè)計)、板縫劃分及平板板列設(shè)計(外板板列設(shè)計、艙壁板列設(shè)計、內(nèi)底

6、板列設(shè)計和肋板板列設(shè)計)等九個子模塊。用戶可以按照船舶設(shè)計的習(xí)慣,以交互方式對構(gòu)件進行定義,即可完成對船體結(jié)構(gòu)的設(shè)計。所有構(gòu)件信息都可保存到數(shù)據(jù)庫中,以備用戶查詢及估算鋼料信息之用。建模以人機交互方式進行。縱骨、肋骨等構(gòu)件我們把它稱為主構(gòu)件,它可以由用戶決定設(shè)計先后順序進行設(shè)計;扶強材、孔和板列的設(shè)計我們稱為從屬構(gòu)件,用戶設(shè)計時需要首先完成主構(gòu)件的設(shè)計,然后選中主構(gòu)件,才能在其上加扶強材、開孔等屬性。設(shè)計過程中用戶不可避免要對設(shè)計進行必要的修改,可方便地通過結(jié)構(gòu)修改模塊完成,并可保證模型與數(shù)據(jù)庫信息的一致性。產(chǎn)品數(shù)據(jù)管理:主要實現(xiàn)對各種板材型材耗料的統(tǒng)計及重量重心的估算等。用戶可對設(shè)計好的產(chǎn)品

7、模型進行信息的查詢和管理,并產(chǎn)生鋼料預(yù)估單、材料明細(xì)表等各種表單。二維過程圖紙:船體結(jié)構(gòu)產(chǎn)品模型完成后,可對其進行剖切產(chǎn)生二維結(jié)構(gòu)圖紙等,供設(shè)計人員使用。除上述主要功能以外,還可以借助Solidworks提供用戶的三維模型平移、旋轉(zhuǎn)、生成線框模型等功能,對建立的船體結(jié)構(gòu)產(chǎn)品模型進行分析和管理等。 2工程數(shù)據(jù)庫的設(shè)計工程數(shù)據(jù)庫記錄的是產(chǎn)品模型的數(shù)據(jù)信息和構(gòu)形過程,是實現(xiàn)船體結(jié)構(gòu)設(shè)計、制造、生產(chǎn)、管理一體化的后臺基礎(chǔ),是虛擬設(shè)計系統(tǒng)中數(shù)據(jù)產(chǎn)品模型建立的關(guān)鍵。本文數(shù)據(jù)庫的設(shè)計按照船體、分段、構(gòu)件、零件分層次逐一建表存儲。下面給出船體結(jié)構(gòu)產(chǎn)品模型的主要數(shù)據(jù)表結(jié)構(gòu),船體其它數(shù)據(jù)表的設(shè)計也可仿照完成。分段

8、表:記錄的是該分段的編號、名稱和所有構(gòu)件編號。表1 分段表IDNameDoublebottomProfileGirderLongitudinalFloorInnerplateBracket編號名稱雙層底設(shè)計外板輪廓縱桁縱骨肋板內(nèi)底板肘板構(gòu)件表:包括縱桁、縱骨、肋骨、肋板、橫梁、內(nèi)底板、艙壁等表,記錄了構(gòu)件的編號、主要參數(shù)和附加構(gòu)件等。筋、扶強材與孔的表設(shè)計類似,作為附加構(gòu)件,應(yīng)與主構(gòu)件表建立多對一的約束關(guān)系。主構(gòu)件表中零件編號應(yīng)與附加構(gòu)件表中相應(yīng)零件編號一致,在表中設(shè)置為外健。例如,肋板作為主構(gòu)件,上面設(shè)置筋和孔作為附加構(gòu)件,具體表結(jié)構(gòu)為:表2 肋板設(shè)計表IDTypeLocationDepth

9、PartTypePartIdIfStiffenerStiffenerIdIfHoleholeId編號類型位置厚度零件類型零件編號筋標(biāo)志筋編號孔標(biāo)志孔編號表3 筋及扶強材設(shè)計表IDTypeLengthLocationModelPartidGoujianid編號類型長度位置型號零件編號所屬構(gòu)件零件表:包括各種型材、板材及肘板的表結(jié)構(gòu),記錄了零件的形狀特征、裝配特征和物理特征。板材給出最常用的平直板的表結(jié)構(gòu),折邊板與之類似;型材包括扁鋼、角鋼、球扁鋼、T型材等;肘板因為梁肘板與舭肘板的表結(jié)構(gòu)造型中所需參數(shù)略有不同,故分開處理。表4 T型材設(shè)計表XuhaoLengthWebHWebDPlaneDPla

10、neWXpositionYpositionZposition編號長度腹板高度腹板厚度面板厚度面板寬度定位點X坐標(biāo)定位點Y坐標(biāo) 定位點Z坐標(biāo)型鋼型號表:扁鋼、角鋼、球扁鋼等型鋼在加工中有規(guī)定的型號,因此數(shù)據(jù)庫中還存儲了所有型鋼型號,供設(shè)計人員選擇型號,型鋼的相應(yīng)參數(shù)可自動調(diào)出。表5 角鋼型號表ModelHbdrG型號腹板高度面板寬度厚度導(dǎo)圓角半徑理論重量3船體結(jié)構(gòu)產(chǎn)品模型建模的關(guān)鍵技術(shù)3.1 船體曲面設(shè)計船體曲面模型分為船體外板和甲板兩部分,兩者都是根據(jù)設(shè)計好的型線放樣后生成的三維實體曲面模型。船體曲面建模涉及到基準(zhǔn)面確定、二維樣條曲線建立及光順、三維實體曲面生成及光順等技術(shù),限于篇幅將另文詳述

11、,下面僅就船體曲面的建模主要步驟作簡要介紹:沿船長方向在船體的指定位置處建立基準(zhǔn)面。生成型線:讀取型值,在已建立好的基準(zhǔn)面上畫出各條型線。對型線進行光順處理。型線放樣:在SolidWorks中利用曲面放樣生成船體右舷模型,對曲面進行鏡向并縫合曲面。曲面光順處理。按上述步驟建立的某船三維船體曲面模型如圖2所示。圖2 船體曲面模型3.2 與船體曲面有關(guān)的船體結(jié)構(gòu)建模方法與外板、甲板相交的構(gòu)件(如艙壁、肋板、肋骨等)需要剖切外板曲面得到切線作為構(gòu)件的輪廓邊線,再根據(jù)用戶設(shè)定的參數(shù)生成構(gòu)件。構(gòu)件設(shè)計的流程如圖3中左圖所示。圖3 與船體曲面有關(guān)結(jié)構(gòu)構(gòu)件設(shè)計流程以外板上某根肋骨的建模為例:(1)判斷相同編

12、號肋骨是否存在:構(gòu)件設(shè)計中首先要保證數(shù)據(jù)庫中相同構(gòu)件不存在,因此可查詢構(gòu)件表,是否存在相同編號的構(gòu)件。若編號相同,應(yīng)修改編號。用戶可以此判斷是該肋位上已經(jīng)設(shè)計了肋骨還是該肋骨與其他類位的肋骨重名。(2)生成構(gòu)件腹板:取基準(zhǔn)面,將其平移到構(gòu)件所在位置。在該位置插入草圖生成腹板的草圖輪廓,拉伸腹板厚度得到腹板的實體。腹板的草圖輪廓由外板切線及其平移腹板高度后的曲線和首尾兩直線構(gòu)成。構(gòu)件的剖面草圖的生成是該系統(tǒng)實現(xiàn)的難點,具體流程圖見圖3中右圖所示:選擇基準(zhǔn)面,平移到指定位置:boolstatus = part.Extension.SelectByID(前視, PLANE, 0, 0, 0, Fal

13、se, 0, Nothing) /選擇縱剖面If dis = 0 Then part.CreatePlaneAtOffset3 dis, False, True/平移到指定位置disElseIf dis 0 Then part.CreatePlaneAtOffset3 Abs(dis), True, TrueEnd If如果為縱向構(gòu)件,需要將前視基準(zhǔn)面沿船中方向左右平移,右舷為正,注意為負(fù)值時左舷的處理。橫向構(gòu)件與之類似。插入草圖,生成外包矩形平面:t = 基準(zhǔn)面 +trim(Text5.Text)boolstatus = part.Extension.SelectByID(t, PLANE,

14、 0, 0, 0, False, 0, Nothing)part.InsertSketch2 Truepart.SketchRectangle startLocation, 0, 0, finalLocation, hig, 0, 1part.InsertPlanarRefSurface外包矩形平面與外板、甲板曲面生成交叉曲線:part.SelectedFeatureProperties 0, 0, 0, 0, 0, 0, 0, 1, 0, t/將外包矩形平面定義為tpart.Insert3DSketchboolstatus = part.Extension.SelectByID(面-剪裁2,

15、 SURFACEBODY, 0, 0, 0, True, 0, Nothing)/將外板曲面命名為面-剪裁2part.Sketch3Dintersections編輯曲線,保存曲線上的有效點:boolstatus = part.Extension.SelectByID(t, SKETCH, 0, 0, 0, False, 0, Nothing)/選中切線所在平面草圖part.EditSketch/編輯草圖part.ClearSelectionFor i = 0 To 15t = Splineu = it = t + uboolstatus = part.Extension.SelectByID(

16、t, SKETCHSEGMENT, 0, 0, 0, False, 0, Nothing)part.SimplifySpline 3.873572324574E-04/化簡樣條曲線Next ISet theSketch = part.GetActiveSketch2/獲得激活草圖sketchPointArray = theSketch.GetSketchPoints/取得草圖上的點,保存到數(shù)組sketchPointArray中。由于數(shù)組中的點是無序的,而我們畫構(gòu)件剖面草圖輪廓時需要給定有序的點坐標(biāo)數(shù)組,因此需要對求得的切線的點進行排序。程序適用的是冒泡法排序,橫剖面上求得的切線上的點首先對Y值

17、進行排序,Y值相等時對X排序;縱剖面求得的切線上的點則先對其X值排序,若X值相等時,對Y值排序。利用保存的點生成構(gòu)件的剖面草圖:根據(jù)構(gòu)件剖面形狀,草圖有所不同,但草圖主要由利用切線坐標(biāo)數(shù)組重畫樣條曲線和連接樣條曲線首尾點端的直線組成。樣條曲線的生成根據(jù)外板型線的不同也略有差別。以橫剖面上生成的切線為例,船中附近在左舷/右舷生成切線通常由一段直線、一段樣條曲線、一段直線組成,舷側(cè)為直線,舭部為樣條曲線,到了底部平底線內(nèi)又變成直線。如果船型復(fù)雜,切線則可能要分成若干段。因此必須根據(jù)切線的端點位置判斷所取得的點坐標(biāo)位于哪段曲線中。因為點坐標(biāo)的數(shù)組為有序的,所以只需對其頂部和底部兩個元組進行判斷,若其

18、兩個元組X值或Y值相差滿足精度要求(例如1mm),則認(rèn)為相應(yīng)的曲線分段應(yīng)為直線。其余點值均作為樣條曲線處理。If k = pointCount ThenIf Abs(sheet1.cells(k, 3).Value - sheet1.cells(k + 1, 3).Value) 0.001 Thenpart.SketchSpline 1, sheet1.cells(k, 4).Value, sheet1.cells(k, 3).Value, 0part.SketchSpline 0, sheet1.cells(k + 1, 4).Value, sheet1.cells(k + 1, 3).Va

19、lue, 0End IfEnd IfIf k = 2 ThenIf Abs(sheet1.cells(k, 4).Value - sheet1.cells(k + 1, 4).Value) 1 Then strquery1 = select * from + Tmodel + where For i = List1.ListCount - 1 To 0 Step -1 If List1.Selected(i) Then strquery1 = strquery1 + (xuhao like + Trim(List1.List(i) + %) or List2.AddItem List1.List(i) End If Next i strquery1 = Left(strquery1, Len(strquery1) - 3)End if Tmodel為記錄零件表名稱的變量,不同的零件表查詢項會略有不同。零件分類匯總:strquery2 = select model型號,sum(length)總長度,sum(weight)總重量 from + Tmodel + where xuhao like + Trim(List1.Text) + % + group by model圖4 分段信息查詢4船體分段結(jié)構(gòu)產(chǎn)品模型建模實例某油船主尺度為:總長77.23m;型寬10.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論