3程序設(shè)計(jì)流程
3.1肋骨型線設(shè)計(jì)
整個(gè)展開(kāi)過(guò)程中用戶需要輸入的是設(shè)計(jì)要求,根據(jù)這些設(shè)計(jì)數(shù)據(jù)程序會(huì)自動(dòng)進(jìn)行處理.程序依次在各肋位處建立切而,求其與船體曲面的交線,隱藏這些切面得到此肋位r.肋骨型線,按照命名規(guī)則對(duì)其進(jìn)行命名,并將肋骨型線與肋骨號(hào)及其縱向位置(距#0之距離)聯(lián)系起來(lái).解除犁線作為交線的二階約束,進(jìn)行曲線擬合添加控制點(diǎn),建立肋骨型線數(shù)據(jù)表(對(duì)于水線面與肋骨型線交點(diǎn)處的坐標(biāo)值可由求交計(jì)算得出).計(jì)算肋骨線的實(shí)長(zhǎng),程序先把肋骨型線中的直線段長(zhǎng)度累加存入相應(yīng)的數(shù)組中,然后把曲線分段依次計(jì)算各段的弧長(zhǎng),加到數(shù)組相應(yīng)的位置.儲(chǔ)存各條肋骨型線的控制點(diǎn)坐標(biāo),各段肋骨型線的實(shí)長(zhǎng)和每?jī)筛噜彽睦吖菄傻那婷娣e.所有的信息被保存到數(shù)據(jù)庫(kù)中用于展開(kāi)圖的繪制.
3.2肋骨型線展開(kāi)
利用上文得到的肋骨型線數(shù)據(jù),基于曲而面積不變進(jìn)行肋骨型線的展開(kāi).展開(kāi)以尾部為準(zhǔn)向前依次展開(kāi),曲面的間距以劃分的網(wǎng)格為準(zhǔn).程序具有對(duì)船體是否有艦鰭或球鼻首進(jìn)行判斷及處理功能.如發(fā)現(xiàn)數(shù)據(jù)表中獲取的曲線的點(diǎn)數(shù)減去得到的曲線段個(gè)數(shù)(根據(jù)求得的各段長(zhǎng)度來(lái)判斷曲線的分段數(shù))人于2,則此處必包括艇鰭或球鼻首,這時(shí)分兩部分分別進(jìn)行展開(kāi)和計(jì)算.展開(kāi)后建立的平面及平邊線和平底線如圖3所示.
肋骨型線全部展開(kāi)后,需要在展開(kāi)圖上繪制平邊線、平底線以及分段線,并得到線上的控制點(diǎn)信息.程序再次訪問(wèn)肋骨型線數(shù)據(jù)表,判斷各條線上的控制點(diǎn)的橫向和縱向坐標(biāo),當(dāng)坐標(biāo)值之差達(dá)到要求的精度時(shí),這些控制點(diǎn)之間則為直線,記下直線的長(zhǎng)度,若無(wú)直線段則數(shù)據(jù)庫(kù)中標(biāo)記為0,分別用每條展開(kāi)線的起點(diǎn)和終點(diǎn)坐標(biāo)加上和減去相應(yīng)長(zhǎng)度即可求出每條展開(kāi)線上的平底線和平邊線的控制點(diǎn)的位置,連起所有的點(diǎn)就繪制出平邊線和平底線.
3.3外板板絕的設(shè)計(jì)
板縫線由設(shè)計(jì)者給出每個(gè)分段的縱接縫和橫接縫的距離,程序自動(dòng)建立.用戶可以選擇外板是否為等長(zhǎng)等寬,如果各個(gè)分段內(nèi)的外板的尺寸不一致,程序則打開(kāi)數(shù)據(jù)庫(kù)中的外板尺寸表,由用戶進(jìn)行長(zhǎng)、寬的輸入,可以是每個(gè)分段的每一列外板一個(gè)尺寸.首先建立縱接縫,選擇所在分段平面,按照給定的距離進(jìn)行剖切,生成縱接縫線,利用程序獲取每條縱接縫的起終點(diǎn)坐標(biāo),利用給定的板寬進(jìn)行橫接縫的自動(dòng)繪制.排線時(shí)按照雙面排的原則(即排-列最上面的板,再排-列最下面的板),以保證平面板盡可能地放在一起.板縫線的布置如圖4所示.
在自動(dòng)排板后,可以由設(shè)計(jì)者進(jìn)行交互設(shè)計(jì)交互設(shè)計(jì)是為了結(jié)合設(shè)計(jì)者的經(jīng)驗(yàn),通過(guò)人機(jī)交互的形式來(lái)補(bǔ)充板縫設(shè)計(jì)時(shí)的不合理之處.在交互設(shè)計(jì)模塊中,每條板縫線都給定一個(gè)編號(hào),用戶進(jìn)行添加、刪除;操作時(shí)會(huì)由程序改變涉及到的外板編號(hào),修改操作時(shí)不會(huì)改變外板板縫的編號(hào).
4外板模型的建立與信息處理
船體外板是矩形的平面板,根據(jù)數(shù)據(jù)表和給定的外板長(zhǎng)度、寬度計(jì)算出每塊外板四個(gè)端點(diǎn)處的坐標(biāo),依次建立并加厚在船體外板建立的同時(shí)程序選中此外板,把得到的信息保存在數(shù)據(jù)庫(kù)對(duì)應(yīng)表中的屬性域中.同樣,在創(chuàng)建外板時(shí)板的名稱(chēng)及長(zhǎng)度、寬度、厚度、體積和計(jì)算得到的重量、表面積、通過(guò)判斷坐標(biāo)得出的屬性(是否為平面板)信息被同步保存到數(shù)據(jù)庫(kù)中,用戶可以進(jìn)行查看、添加、修改等操作.如對(duì)全船外板查詢、全船外板厚度查詢、分段外板信息查詢、分段厚度查詢以及分段組合查詢"分段組合查詢可以選擇幾個(gè)分段查詢相同厚度的外板信息,如圖5示.
本文使用SQL server數(shù)據(jù)庫(kù)工具建立工程數(shù)據(jù)庫(kù),各個(gè)應(yīng)用模塊對(duì)共享數(shù)據(jù)庫(kù)的訪問(wèn)通過(guò)各自的數(shù)據(jù)存取接口來(lái)完成這些數(shù)據(jù)存取接日是定義基于SQL的查詢、儲(chǔ)存過(guò)程或視圖記錄的集合,同時(shí)會(huì)把結(jié)果返回到用戶界面中,并在數(shù)據(jù)庫(kù)視圖中儲(chǔ)存建立船體模型所需的設(shè)計(jì)生產(chǎn)信息和建造信息.程序提供客戶的遠(yuǎn)程數(shù)據(jù)訪問(wèn)頁(yè)面,在HTML中嵌入SQL語(yǔ)言程序,與數(shù)據(jù)庫(kù)互連,生成數(shù)據(jù)集:將XML文檔直接存入數(shù)據(jù)庫(kù),利用XML的數(shù)據(jù)組織能力特點(diǎn),對(duì)存入數(shù)據(jù)庫(kù)中的文檔進(jìn)行有效地訪問(wèn).在WEB頁(yè)面打開(kāi)時(shí)添充數(shù)據(jù)集,同時(shí)斷開(kāi)與數(shù)據(jù)庫(kù)的連接,提高瀏覽的速度和數(shù)據(jù)的操作速度.
5結(jié)語(yǔ)
本文所開(kāi)發(fā)的程序不僅能夠解決肋骨線型圖和外板展開(kāi)圖繪制時(shí)費(fèi)時(shí)費(fèi)力的弊端,可大大提高上作效率另外,對(duì)運(yùn)用先進(jìn)的三維參數(shù)化特征建模技術(shù)、數(shù)據(jù)庫(kù)管理技術(shù)、面向?qū)ο蟮木幊碳夹g(shù)來(lái)解決船舶設(shè)計(jì)的具體問(wèn)題進(jìn)行了探索并開(kāi)發(fā)出了其應(yīng)用原型,對(duì)實(shí)現(xiàn)船舶設(shè)計(jì)的數(shù)字化有實(shí)際意義和應(yīng)用價(jià)值.