• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      CATIA二次開(kāi)發(fā)在船舶建模與評(píng)估中的應(yīng)用

      2020-11-06 03:25:08馮康佳張亦弛
      造船技術(shù) 2020年5期
      關(guān)鍵詞:二次開(kāi)發(fā)船體曲面

      馮康佳, 張亦弛, 劉 樂(lè)

      (深海載人裝備國(guó)家重點(diǎn)實(shí)驗(yàn)室, 江蘇 無(wú)錫 214082)

      0 引 言

      隨著船舶行業(yè)轉(zhuǎn)型升級(jí)的加速,減少重復(fù)性勞動(dòng)、提高工作效率的需求非常迫切。在船舶三維建模中,舵、翼、舵踵具有相對(duì)規(guī)則的形狀,便于參數(shù)化表達(dá),因而非常適合于固化方法參數(shù)化建模。但是,在方案評(píng)估中,因CATIA功能限制,對(duì)船體濕表面積、排水量、船形參數(shù)等的統(tǒng)計(jì)往往通過(guò)手動(dòng)量取計(jì)算。在整個(gè)船舶設(shè)計(jì)過(guò)程中,可能需要多次建模與評(píng)估,重復(fù)性的工作枯燥低效,迫切需要改進(jìn)方法來(lái)消除。CATIA雖然無(wú)法直接提供上述功能,但是提供了串行通信端口(Cluster Communication Port, COM接口)和分布式組件對(duì)象模型(Microsoft Distributed Component Object Model, DCOM)接口用于用戶特殊需求的定制,支持從腳本到VB編程語(yǔ)言(Visual Basic, VB)、Microsoft Visual C++(VC)、Delphi等通用開(kāi)發(fā)工具。國(guó)內(nèi)的相關(guān)應(yīng)用常見(jiàn)報(bào)道:劉智強(qiáng)等[1]使用VB.NET對(duì)CATIA進(jìn)行開(kāi)發(fā),建立三維參數(shù)化設(shè)備庫(kù)原型系統(tǒng),實(shí)現(xiàn)三維參數(shù)化驅(qū)動(dòng)的船載設(shè)備模型庫(kù)的構(gòu)建;徐俊路等[2]對(duì)球首參數(shù)化設(shè)計(jì)進(jìn)行二次開(kāi)發(fā),可以通過(guò)輸入?yún)?shù)快速生成球首;曹晶等[3]開(kāi)發(fā)船舶靜水力計(jì)算軟件,實(shí)現(xiàn)自動(dòng)提取實(shí)體模型信息,并應(yīng)用這些信息進(jìn)行靜水力計(jì)算。CATIA二次開(kāi)發(fā)具有強(qiáng)大的生命力和實(shí)用性,具有非常廣闊的應(yīng)用前景[4-5]。采用VB對(duì)CATIA進(jìn)行二次開(kāi)發(fā),可以快速創(chuàng)建舵曲面和統(tǒng)計(jì)船形參數(shù),簡(jiǎn)單易用,高效精確。

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

      CATIA二次開(kāi)發(fā)方法主要分為進(jìn)程內(nèi)和進(jìn)程外訪問(wèn)。進(jìn)程外訪問(wèn)中,CATIA不調(diào)用腳本文件,而是作為一個(gè)對(duì)象連接與嵌入(Object Linking and Embedding, OLE)自動(dòng)化服務(wù)器,通過(guò)COM接口被外部程序控制[3-5]。使用VB 6.0作為開(kāi)發(fā)環(huán)境,調(diào)用CATIA函數(shù)庫(kù)實(shí)現(xiàn)對(duì)其的各種操作。此外,程序還引用EXCEL庫(kù),可以方便地將主尺度參數(shù)直接導(dǎo)出生成Excel文件,便于后續(xù)分析。運(yùn)用VB編寫(xiě)程序并設(shè)計(jì)界面,在界面中直接輸入?yún)?shù)和數(shù)據(jù)。

      2 CATIA二次開(kāi)發(fā)程序設(shè)計(jì)

      2.1 舵參數(shù)化建模

      在舵的設(shè)計(jì)中,翼型是關(guān)鍵參數(shù)。在軟件開(kāi)發(fā)中,可以將美國(guó)國(guó)家航空咨詢委員會(huì)(National Advisory Committee for Aeronautics, NACA)、茹科夫斯基、JFS系列等常見(jiàn)翼型和自研翼型編入程序。這樣可以在界面中直接選取,避免型值計(jì)算、導(dǎo)入和創(chuàng)建曲面等過(guò)程,減少人為出錯(cuò),提高建模效率。在界面中輸入弦長(zhǎng)、展長(zhǎng)、偏移距離等舵參數(shù),還可以添加舵踵,即可實(shí)現(xiàn)對(duì)整個(gè)舵建模的控制。舵參數(shù)化建模流程及關(guān)鍵函數(shù)如圖1所示,程序輸入界面如圖2所示。

      圖1 舵參數(shù)化建模流程及關(guān)鍵函數(shù)

      圖2 舵參數(shù)化建模程序輸入界面

      在程序中創(chuàng)建多個(gè)常用函數(shù),多處引用,以簡(jiǎn)化代碼、提高可讀性、減少出錯(cuò)。以創(chuàng)建對(duì)稱函數(shù)Symmetry為例,介紹函數(shù)創(chuàng)建與引用,其代碼如下:

      ‘-----創(chuàng)建對(duì)稱函數(shù)--------

      Sub Symmetry(Spline1, PlaneZX, HBodyC)

      ’函數(shù)三個(gè)參數(shù)依次是對(duì)稱的幾何形狀、對(duì)稱平面和對(duì)稱形狀插入到的幾何圖形集

      Set referenceTem = part1.

      CreateReferenceFromObject(Spline1)

      Set hybridShapeSymmetry1 = hybridShapeFactory1.

      AddNewSymmetry(referenceTem, PlaneZX)

      ’創(chuàng)建關(guān)于ZX平面對(duì)稱形狀

      hybridShapeSymmetry1.VolumeResult = False

      HBodyC.AppendHybridShape hybridShapeSymmetry1’

      將對(duì)稱形狀插入某幾何圖形集

      End Sub

      其引用方式如下:

      Symmetry Spline2, PlaneXY, HbodyC2

      2.2 船體主要要素統(tǒng)計(jì)

      2.2.1 主尺度參數(shù)統(tǒng)計(jì)

      主尺度參數(shù)統(tǒng)計(jì)模塊初始化設(shè)定界面如圖3所示。在計(jì)算之前,應(yīng)在該模塊中調(diào)動(dòng)CATIA對(duì)船體曲面進(jìn)行預(yù)處理,以便于程序進(jìn)行計(jì)算。

      圖3 初始化設(shè)定界面

      將整個(gè)船體表面連接成一張曲面,沿中縱剖面分割取其一半,并對(duì)該曲面進(jìn)行命名(比如hull)。再計(jì)算設(shè)置模塊,輸入幾何圖形集名、曲面名和工作目錄等參數(shù),選擇打開(kāi)或者使用當(dāng)前CATIA文件,點(diǎn)擊讀入?yún)?shù)即可獲得曲面的長(zhǎng)、寬、高等基本參數(shù)。工作目錄是舵Part文件和主尺度參數(shù)導(dǎo)出的文件位置。程序首先通過(guò)Item()函數(shù)獲得該曲面所在幾何圖形集名稱和曲面名稱,得到該曲面的句柄(見(jiàn)關(guān)鍵代碼中的reference_hull)。對(duì)該曲面進(jìn)行修復(fù),對(duì)稱、合并、封閉曲面得到整船封閉實(shí)體(見(jiàn)關(guān)鍵代碼中的referenceHullWhole),便于后續(xù)測(cè)量濕表面積和排水量等參數(shù),其中的關(guān)鍵代碼如下:

      ‘修復(fù)船體曲面,消除小間隙,提高曲面質(zhì)量

      Set hybridShapeHealing1 = HSF1.

      AddNewHealing(reference_hull)

      ‘對(duì)稱船體曲面

      Set hybridShapeSymmetry1 = HSF1.

      AddNewSymmetry(referenceHealing1, PlaneZX)

      ‘合并船體曲面

      Set hybridShapeAssemble1 = HSF1.

      AddNewJoin(RefHealing1, RefSymmetry1)

      ’創(chuàng)建船體實(shí)體

      Set referenceTem = part1.CreateReferenceFromName(“”)

      Set closeSurface1 = shapeFactory1.

      AddNewVolumeCloseSurface(referenceTem)

      Set reference Assemble1 = part1

      .CreateReferenceFromObject(hybridShapeAssemble1)

      closeSurface1.Surface = reference Assemble1

      Set referenceHullWhole = part1.

      CreateReferenceFromObject(closeSurface1)

      ‘referenceHullWhole:整船實(shí)體

      船體主尺度參數(shù)統(tǒng)計(jì)流程如圖4所示。

      圖4 船體主尺度參數(shù)統(tǒng)計(jì)流程

      在界面中輸入吃水高度、船殼厚度、海水密度和中縱剖面坐標(biāo),然后點(diǎn)擊計(jì)算并導(dǎo)出,即可實(shí)現(xiàn)對(duì)船體多參數(shù)的自動(dòng)計(jì)算、顯示和導(dǎo)出。通過(guò)設(shè)定海水密度,計(jì)算特定海水密度下的排水量。輸入吃水高度得到船體水上水下排水量、重心坐標(biāo)、濕表面積等參數(shù)。根據(jù)需要,還可擴(kuò)充統(tǒng)計(jì)參數(shù)的種類,進(jìn)行某些計(jì)算,為船體性能評(píng)估提供較大便利。船體主尺度參數(shù)統(tǒng)計(jì)關(guān)鍵代碼如下:

      Set myMeasure = theSPAWorkbench.

      GetMeasurable(referenceHullWhole)‘測(cè)量船體實(shí)體

      HullArea(0) = myMeasure.Area’船體濕表面積

      HullVol(0) = myMeasure.Volume’船體排水量

      myMeasure.GetCOG Cog‘船體重心坐標(biāo)

      Set hybridShapeSplit1 = HSF1.

      AddNewHybridSplit(referenceHullWhole, referenceWL,-1)’將船體沿水線分割成水上水下實(shí)體,referenceWL水線平面

      Set myMeasure = theSPAWorkbench.

      GetMeasurable(referenceSplitDown)’測(cè)量水下實(shí)體,referenceSplitDown:水下船體實(shí)體

      2.2.2 船形參數(shù)統(tǒng)計(jì)

      船體船形參數(shù)統(tǒng)計(jì)界面如圖5所示。

      圖5 船體船形參數(shù)統(tǒng)計(jì)界面

      [][]

      在該界面中,設(shè)定ListView控件用于實(shí)時(shí)顯示主尺度參數(shù)。例如鋼船的型表面是內(nèi)表面,計(jì)算排水量時(shí)需要考慮船殼厚度,對(duì)ListView控件顯示控制的代碼如下:

      ListView2.ListItems(2).SubItems(4) = “考慮船殼厚度排水量/t”

      ListView2.ListItems(2).SubItems(i) = Str$(Format((HullArea(0) * ST + HullVol(0)) * SeaRho,“0.00”))

      ‘HullArea(0):濕表面積,ST:船殼厚度,HullVol(0):排水體積,SeaRho:海水密度

      通過(guò)下列代碼可以將方形系數(shù)寫(xiě)入Excel文件中,并自動(dòng)命名,便于后續(xù)處理。

      xlsWorksheet.Cells(1, 7).Value = “方形系數(shù)”

      xlsWorksheet.Cells(1, 8).Value = HullVol(0)/xLen/yLen/zLen

      ‘HullVol(0):排水體積,xLen、yLen、zLen分別是型長(zhǎng)、型寬、型高

      采用某船形(見(jiàn)圖6)對(duì)上述方法和程序進(jìn)行驗(yàn)證,在圖3所示的主尺度計(jì)算設(shè)置模塊對(duì)話框中進(jìn)行參數(shù)的讀入,在圖5所示的船體船形界面輸入相關(guān)參數(shù),即可顯示并導(dǎo)出整船的多種船形參數(shù)。該方法簡(jiǎn)單便捷、高效精確,為多方案比較與評(píng)估提供較大的方便。

      圖6 某船形主體模型

      3 結(jié) 論

      使用VB對(duì)CATIA進(jìn)行二次開(kāi)發(fā),介紹程序思想和關(guān)鍵代碼,可為相關(guān)程序的開(kāi)發(fā)提供參考。該程序?qū)崿F(xiàn)對(duì)舵曲面的快速建模和船形參數(shù)的快速獲取。該方法具有界面清晰、高效可靠的特點(diǎn),凸顯出解決實(shí)際問(wèn)題的強(qiáng)大能力。在整個(gè)設(shè)計(jì)生產(chǎn)過(guò)程中,可重復(fù)性強(qiáng),當(dāng)方案改變后,可快速完成建模與評(píng)估,使得科研設(shè)計(jì)人員可輕松面對(duì)多型號(hào)或多個(gè)設(shè)計(jì)過(guò)程中的建模與評(píng)估任務(wù)。

      猜你喜歡
      二次開(kāi)發(fā)船體曲面
      船體行駛過(guò)程中的壓力監(jiān)測(cè)方法
      淺談基于Revit平臺(tái)的二次開(kāi)發(fā)
      甘肅科技(2020年20期)2020-04-13 00:30:02
      淺談Mastercam后處理器的二次開(kāi)發(fā)
      模具制造(2019年3期)2019-06-06 02:11:02
      相交移動(dòng)超曲面的亞純映射的唯一性
      圓環(huán)上的覆蓋曲面不等式及其應(yīng)用
      西門(mén)子Easy Screen對(duì)倒棱機(jī)床界面二次開(kāi)發(fā)
      基于曲面展開(kāi)的自由曲面網(wǎng)格劃分
      焊接殘余應(yīng)力對(duì)船體結(jié)構(gòu)疲勞強(qiáng)度的影響分析
      焊接(2015年9期)2015-07-18 11:03:51
      赴美軍“仁慈”號(hào)醫(yī)院船駐船體會(huì)
      水下爆炸氣泡作用下船體總縱強(qiáng)度估算方法
      洮南市| 平原县| 锦屏县| 合阳县| 台安县| 伊春市| 新津县| 永川市| 红桥区| 民县| 澎湖县| 班戈县| 乡城县| 突泉县| 新丰县| 叙永县| 开原市| 宁远县| 和顺县| 农安县| 临邑县| 湘乡市| 和林格尔县| 射阳县| 城固县| 肃宁县| 屏东县| 封开县| 浦江县| 乾安县| 辽中县| 灵璧县| 东海县| 贞丰县| 册亨县| 沛县| 白水县| 湛江市| 古浪县| 晋州市| 江门市|