亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于CATIA二次開發(fā)的船體外形建模方法

        2017-08-09 03:21:29劉勇杰胡勇鄭紹春
        船海工程 2017年4期
        關(guān)鍵詞:腳本線圖樣條

        劉勇杰,胡勇,鄭紹春

        (武漢理工大學(xué) a.高性能船舶技術(shù)教育部重點實驗室;b.交通學(xué)院,武漢 430063)

        ?

        一種基于CATIA二次開發(fā)的船體外形建模方法

        劉勇杰,胡勇,鄭紹春

        (武漢理工大學(xué) a.高性能船舶技術(shù)教育部重點實驗室;b.交通學(xué)院,武漢 430063)

        為了快速得到船體三維外形,以某11 000 DWT散貨船為例,運用CATIA二次開發(fā)技術(shù),簡化重復(fù)性建模工作,精簡建模操作流程,較快得到比較理想的船體三維外形。詳細(xì)介紹船體外形型值點、外形樣條曲線和外表面的創(chuàng)建方法。

        船體外形;CATIA;二次開發(fā);VBA;Excel

        在實際建模過程中,往往要進(jìn)行許多重復(fù)性的操作,這在船體三維外形設(shè)計中也不例外。而且,船體外形在總體設(shè)計階段需要經(jīng)常修改[1],這為傳統(tǒng)建模方法增加了很大工作量和難度。因此,如何快速有效的建立船體三維外形是一個亟待解決的問題。

        CATIA廣泛應(yīng)用于航空[2-3]、造船[4-5]、汽車[6-7]等眾多行業(yè),是世界上領(lǐng)先的產(chǎn)品設(shè)計與創(chuàng)新方案解決平臺[8]。其中,CATIA V5開放了很多接口,提供了很好的二次開發(fā)平臺,在船體外形設(shè)計方面也有一定的的研究應(yīng)用,如采用進(jìn)程內(nèi)VBScript腳本編程方式完成了船體的建模工作[9];采用進(jìn)程外VB編程方式完成了球首的參數(shù)化建模設(shè)計[10]。但是,這部分工作所述方法程序開發(fā)環(huán)境智能化程度低,使用不方便,如沒有代碼提示、語法高亮顯示等功能;或者由于軟件版本參差不齊,影響接口之間的通信,增加了開發(fā)的難度。因此,提出采用進(jìn)程內(nèi)VBA腳本編程方法來完成船體三維外形建模工作。

        1 CATIA二次開發(fā)技術(shù)

        通過編程來訪問CATIA的對象有很多種不同的方法[11],見表1。對于其他的程序或腳本而言,CATIA只是一個對象連接與嵌入(object linking and embedding,OLE)自動化對象服務(wù)器,任何能訪問COM(component object model,部件對象模型)對象的程序或腳本都能訪問CATIA的對象并對其進(jìn)行操作。

        表1 編程訪問CATIA對象的方法

        在CATIA Automation中所有的數(shù)據(jù)都被封裝成對象的形式,并形成樹形結(jié)構(gòu),如圖1所示。主根位于Application中,并逐層分解為Document,Cameras和Windows 3種形式的對象。每個對象都有其自己操縱集合的方法和屬性,如添加(Add)、刪除(Remove)、獲取子項(Item)方法和數(shù)量(Count)屬性等,這樣就可以通過根對象逐層對所有其他對象進(jìn)行訪問。

        VBA對象是指Excel中的各種元素,即Excel對象[12](見圖2)。VBA程序要自動化操作和控制Excel應(yīng)用程序,則必須要與Excel所提供的對象進(jìn)行通信,比如訪問某工作表、修改某批單元格的數(shù)據(jù)等。所有的Excel對象構(gòu)成了Excel的對象模型。其中比較常用的對象為Application、Workbook、Worksheet、Range和Cells等。

        圖1 CATIA對象結(jié)構(gòu)

        圖2 Excel對象結(jié)構(gòu)

        2 船體外形型值點的創(chuàng)建

        以某11 000 DWT散貨船的電子版型線圖作為原材料,使用CATIA(P3 V5 R20版本號)軟件進(jìn)行船體外形三維建模等相關(guān)工作研究。該型線圖主要包括橫剖線圖、縱剖線圖、半寬水線圖、型值表、主尺度欄等,另附肋骨型線圖。船舶三維坐標(biāo)系是以中線面、中站面和基平面3個互相垂直的平面的交線為x,y,z坐標(biāo)軸,以船艏、船舶右舷和上方分別為x,y,z軸的正方向。而CATIA環(huán)境的坐標(biāo)系y軸正方向的定義與船舶坐標(biāo)系相反。因此,將型值點都取正值在CATIA中得到的是船舶的左舷。

        2.1 進(jìn)程內(nèi)以VBA腳本編程方式創(chuàng)建型值點

        錄制生成點的宏腳本,在CATIA自帶的VBA開發(fā)環(huán)境下進(jìn)行編輯調(diào)試。調(diào)試運行成功后的生成型值點的代碼如下。

        Sub CATMain() ‘入口函數(shù)

        Set documents1 = CATIA.Documents ‘獲取文檔集合

        Set partDocument1 = documents1.Add("Part") ‘添加新的零件文檔

        Set part1 = partDocument1.Part ‘獲取part對象

        Set hybridBodies1 = part1.HybridBodies ‘獲取幾何圖形集對象

        Set hybridBody1 = hybridBodies1.Add() ‘添加一個幾何圖形集對象

        Set hybridShapeFactory1 = part1.HybridShapeFactory ‘獲得HybridShapeFactory對象

        Set part1 = partDocument1.Part

        Set Excel = GetObject(******) ‘訪問Excel文件

        For i = 2 To 645

        X = Excel.worksheets(1).cells(i, 2).Value ‘給X賦值

        Y = Excel.worksheets(1).cells(i, 3).Value ‘給Y賦值

        Z = Excel.worksheets(1).cells(i, 4).Value ‘給Z賦值

        Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(X, Y, Z) ‘建立點

        hybridBody1.AppendHybridShape hybridShapePointCoord1

        part1.InWorkObject = hybridShapePointCoord1

        Next

        part1.Update

        End Sub

        以上代碼中,******代表.xls(x)文件在計算機上存儲的完整路徑(可以通過選中該文件,然后按住Shift同時點擊鼠標(biāo)右鍵“復(fù)制為路徑”,最后粘貼獲得)。每行代碼單引號后面的文字是說明性的注釋語言,且錄制產(chǎn)生的宏腳本中把Dim語句給注釋或刪掉(不影響程序的正常運行),以上是修改后的最終代碼。For循環(huán)表達(dá)式的書寫格式與型值在Excel文檔中的格式密切相關(guān),合理的數(shù)據(jù)保存格式可以簡化程序結(jié)構(gòu)。以上代碼對應(yīng)的數(shù)據(jù)格式如圖3,型值點每一站從上到下依次排列,最終得到的型值點云圖見圖4。

        圖3 型值點保存格式

        圖4 運行腳本程序后在CATIA中生成的點云圖

        2.2 使用CATIA示例宏文件獲取點(線、面)

        在CATIA的創(chuàng)成式曲面設(shè)計(general shape design,GSD)模塊中,包含一個錄有宏腳本的.xls文件,保存在CATIA安裝目錄下,一般路徑為…intel_acodecommandGSDPointSplineLoftFromExcel.xls。該文件初始格式如圖5,其中每一個StartCurve和EndCurve之間的橫向的3個數(shù)值分別代表x,y,z坐標(biāo),即每一行代表一個點,每一對StartCurve和EndCurve代表一根樣條線。運行此文件中名稱為Feuil1.Main的宏輸入1、2、3可以分別對應(yīng)生成點、線、面。這里,將每一站上的型值點分別復(fù)制到相應(yīng)的StartCurve和EndCurve之間(見圖6),在CATIA的GSD模塊環(huán)境下,成功得到型值點云圖,見圖7。(執(zhí)行宏輸入2得到的線框圖見圖8,輸入3執(zhí)行后系統(tǒng)提示錯誤)這種方法其實是CATIA進(jìn)程內(nèi)VBA腳本編程方法的另一種表現(xiàn)形式。

        圖5 初始格式

        圖6 修改后的格式

        圖7 輸入“1”得到的點云圖

        圖8 輸入”2”得到的初始線框圖

        3 船體外形樣條曲線的創(chuàng)建

        3.1 樣條曲線的自動生成

        由于已經(jīng)獲得了型值點,希望進(jìn)一步獲得相應(yīng)的樣條線。所以,錄制宏腳本的環(huán)境也在存在已知點的基礎(chǔ)上進(jìn)行,如此能夠更加準(zhǔn)確的獲得腳本代碼,這大大有利于宏腳本調(diào)試工作的進(jìn)行。調(diào)試運行成功后的部分代碼如下。

        For i = 18 To 35

        Dim hybridShapePointCoord1 As HybridShapePointCoord

        Set hybridShapePointCoord1 = hybridShapes1.Item(i)

        Dim reference1 As Reference

        Set reference1 = part1.CreateReferenceFromObject(hybridShapePointCoord1)

        hybridShapeSpline1.AddPointWithConstraintExplicit reference1, Nothing, -1#, 1, Nothing, 0#

        Next

        以上代碼是通過錄制存在已知點的情況下建立樣條線的宏腳本,然后單純的進(jìn)行部分重復(fù)代碼的刪減和適當(dāng)位置添加For-Next循環(huán)調(diào)試完成的,操作簡單方便。通過修改變量i的取值范圍,使對應(yīng)一組控制點生成樣條線。圖9a)是i取值1~17和18~35范圍時生成的2根橫剖線。

        3.2 船體外形樣條曲線的最終生成

        通過多次重復(fù)執(zhí)行或嵌套多重循環(huán)語句,可以達(dá)到自動化生成整個船體樣條曲線的目的,采用上述示例文件宏命令中的2選項也可以完成樣條曲線的一鍵生成。然而,不難發(fā)現(xiàn),該船體曲線在艏部和艉部比較復(fù)雜,在一鍵生成樣條線時出現(xiàn)了錯誤,見圖8。其主要原因是準(zhǔn)備階段型值點數(shù)據(jù)錄入處理不恰當(dāng),在Excel中進(jìn)行排序的簡單操作后即可達(dá)到預(yù)想的結(jié)果。采用這種方法,在某種程度上,把自動化建模工作轉(zhuǎn)化為了數(shù)據(jù)的編輯整理工作。分步生成橫剖線、縱剖線、水線的結(jié)果分別如圖9b)、9c)和9d)所示,通過對稱操作后最終得到的船體外形線框圖見圖10。

        圖9 船體外形線框建模流程圖

        圖10 船體外形線框三視圖

        4 船體外表面的創(chuàng)建

        在得到船體外形線框圖之后,需要選擇特定的樣條線利用相關(guān)命令創(chuàng)建曲面。船的艏艉部外形比較復(fù)雜,而型值表所提供的型值有限,往往需要局部添加樣條線或控制點?;痉椒ㄊ抢脜⒖计矫媾c站線或者水線相交獲得控制點,進(jìn)而得到樣條線,也可以利用肋骨型線圖。

        創(chuàng)建曲面的命令主要是采用“多截面曲面”“網(wǎng)狀曲面”和“填充曲面”,需要利用CATIA的自由曲面和創(chuàng)成式曲面設(shè)計多工作臺協(xié)同完成,這也是CATIA功能的強大之處之一。其中,在船體平行舯體部分采用“多截面曲面”命令,在船艏艉通過“網(wǎng)狀曲面”和“填充曲面”相結(jié)合的方式完成。在此過程中,還要用到“切割”和“接合”命令對樣條線進(jìn)行適當(dāng)編輯以滿足曲面命令的使用需要。最終得到的比較光順的船體外形見圖11。

        圖11 船體外形三視圖

        5 新型線圖的獲取

        得到較光順的船體外形之后,通過參考面與船體外形相交,可以分別得到橫剖線、水線、縱剖線等,經(jīng)過“投影”等命令編輯處理后可在CATIA工程圖模塊中形成相應(yīng)的型線圖(樣式參考圖10);然后參考面再與線相交就能得到新的型值點。運用“測量”命令依次測量所得型值點,再利用“設(shè)計表”命令把型值點導(dǎo)出到Excel表格中,進(jìn)行適當(dāng)?shù)木庉嫕M足型線圖里型值表的格式要求后,保存為.csv格式,在CATIA工程圖模塊中利用“從CSV創(chuàng)建表”命令可直接導(dǎo)入該型值表,以形成最終完整的型線圖。

        6 結(jié)論

        采用進(jìn)程內(nèi)VBA編程方法對CATIA進(jìn)行二次開發(fā),提高了建模效率,較快的完成了對船體三維外形的建模工作,結(jié)果表明該方法是可行有效的。且該二次開發(fā)方法較前述其他方法具有開發(fā)環(huán)境友好、代碼簡潔、接口通信方便、應(yīng)用門檻低等優(yōu)勢。使用者只需要具備基本的編程知識就能完成相關(guān)功能的二次開發(fā)工作,省時省力,可操性強,容易上手,適合廣大相關(guān)從業(yè)人員以及初學(xué)者借鑒使用,具有一定的實用價值。

        [1] 顧敏童.船舶設(shè)計原理[M].2版.上海:上海交通大學(xué)出版社,2001.

        [2] 謝岳峰,余雄慶.基于CATIA二次開發(fā)的飛機外形參數(shù)化設(shè)計[J].計算機工程與設(shè)計,2008,29(14): 3792-3794.

        [3] 李惠宇,黃俊.基于CATIA VB二次開發(fā)的機翼幾何外形參數(shù)化建模研究[J].飛機設(shè)計,2015,35(2):1-4.

        [4] 廖顯庭,劉家新.基于CATIA二次開發(fā)的散貨船艙段參數(shù)化設(shè)計[J].船海工程,2011,40(2):58-60.

        [5] 鄧小龍,柳存根.船舶三維數(shù)字化設(shè)計研究[J].船舶工程,2010,32(5):40-43.

        [6] 董廷.基于CATIA二次開發(fā)的車身骨架建模[J].客車技術(shù)與研究,2010,32(6): 18-20.

        [7] 吳文龍,金新燦.基于CATIA二次開發(fā)的轉(zhuǎn)向架構(gòu)架參數(shù)化建模[J].鐵道機車車輛,2015,35(1):47-50.

        [8] 羅朝陽.基于CATIA游艇機艙可視化設(shè)計[D].武漢:武漢理工大學(xué),2013.

        [9] 朱曉軍,王鵬,彭飛.船體外形的CATIA建模方法[J].船海工程,2013,42(2):13-15.

        [10] 徐俊路,陳順懷.基于CATIA二次開發(fā)的球首參數(shù)化設(shè)計[J].船海工程,2010,39(1): 45-47.

        [11] 胡挺,吳立軍.CATIA二次開發(fā)技術(shù)基礎(chǔ)[M].北京:電子工業(yè)出版社,2006.

        [12] 孟學(xué)多,鐘晴江.VB程序設(shè)計基礎(chǔ)與VBA應(yīng)用[M].杭州:浙江科學(xué)技術(shù)出版社,2011.

        A Modeling Method of Hull Form Based on CATIA Secondary Development

        LIU Yong-jie, HU Yong, ZHENG Shao-chun

        (a.Key Laboratory of High Performance Ship Technology (Ministry of Education) b.School of Transportation,Wuhan University of Technology, Wuhan 430063, China)

        In order to get the hull form rapidly, the secondary development technology based on CATIA was used to avoid a large quantity of repetitive modeling work and simplify modeling steps. Taking a 11 000 DWT bulk carrier as an example, the methods of creating the offset points, splines and outer surface of the hull form in the proposed method were introduced in detail.

        hull form; CATIA; secondary development; VBA; Excel

        10.3963/j.issn.1671-7953.2017.04.017

        2016-12-27

        國家自然科學(xué)基金(51379167)

        劉勇杰(1992—),男,碩士生

        研究方向:船舶先進(jìn)制造技術(shù)

        U662

        A

        1671-7953(2017)04-0077-05

        修回日期:2017-02-27

        猜你喜歡
        腳本線圖樣條
        內(nèi)涵豐富的“勾股六線圖”
        酒駕
        一元五次B樣條擬插值研究
        安奇奇與小cool 龍(第二回)
        基于箱線圖的出廠水和管網(wǎng)水水質(zhì)分析
        數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
        電子測試(2018年14期)2018-09-26 06:04:24
        三次參數(shù)樣條在機床高速高精加工中的應(yīng)用
        三次樣條和二次刪除相輔助的WASD神經(jīng)網(wǎng)絡(luò)與日本人口預(yù)測
        軟件(2017年6期)2017-09-23 20:56:27
        快樂假期
        基于樣條函數(shù)的高精度電子秤設(shè)計
        亚洲人成色7777在线观看| 青青草成人免费播放视频| 亚洲国产精品婷婷久久| 潮喷大喷水系列无码久久精品 | 国产内射爽爽大片| 在线观看免费人成视频| 亚洲精品黄网在线观看| 国产一区二区三区porn| 欧美最猛性xxxx| 国产一区二区精品久久| 免费国产一级特黄aa大片在线| 日韩中文字幕乱码在线| 亚洲av成人综合网成人| 免费观看又色又爽又黄的| 国产精品久久综合桃花网| 精品国产一区二区av麻豆不卡| 亚洲国产亚综合在线区| 性久久久久久久| 亚洲国产成人无码电影| 久久久亚洲免费视频网| 亚洲性无码一区二区三区| 精品88久久久久88久久久| 夫妻一起自拍内射小视频| 亚洲精品第一页在线观看| 曰韩无码二三区中文字幕| 8av国产精品爽爽ⅴa在线观看| 国内国外日产一区二区| 一个人看的www片免费高清视频 | 人妻熟妇乱又伦精品视频app| 亚洲综合国产成人丁香五月小说| 久久热免费最新精品视频网站| 色播亚洲视频在线观看| 手机看片1024精品国产| 国产高清不卡在线视频| 色婷婷一区二区三区四区成人网| 国产福利姬喷水福利在线观看| 无遮挡粉嫩小泬| 一区二区三区高清在线观看视频| 中文字幕精品久久久久人妻红杏ⅰ| 69av在线视频| 99久久婷婷国产精品综合|