• 
    

    
    

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

      基于CATIA/VBA的飛機(jī)結(jié)構(gòu)質(zhì)量分塊的二次開(kāi)發(fā)

      2020-07-13 09:40:28詹雷
      卷宗 2020年12期

      摘 要:在飛機(jī)結(jié)構(gòu)設(shè)計(jì)過(guò)程中,需要對(duì)飛機(jī)結(jié)構(gòu)慣性載荷進(jìn)行處理,將飛機(jī)結(jié)構(gòu)零件按一定尺寸進(jìn)行質(zhì)量分塊,分別給出各質(zhì)量分塊的重量及重心坐標(biāo)等參數(shù),此項(xiàng)操作常在飛機(jī)設(shè)計(jì)軟件CATIA中進(jìn)行,由于飛機(jī)全機(jī)結(jié)構(gòu)尺寸相對(duì)于小塊質(zhì)量體尺寸過(guò)大,這就導(dǎo)致小塊質(zhì)量體數(shù)量過(guò)大,手工進(jìn)行處理較為繁雜,基于VBA的CATIA二次開(kāi)發(fā)技術(shù)能夠?qū)崿F(xiàn)小塊質(zhì)量體自動(dòng)劃分,提高設(shè)計(jì)效率。

      關(guān)鍵詞:CATIA;VBA;飛機(jī)結(jié)構(gòu);質(zhì)量分塊

      1 質(zhì)量分塊方案

      在飛機(jī)設(shè)計(jì)過(guò)程中,一般在飛機(jī)結(jié)構(gòu)零件設(shè)計(jì)完成后,通過(guò)CATIA中慣量測(cè)量工具,可提取出飛機(jī)零、組件的重量、重心坐標(biāo),基于上述手段,可以將零件質(zhì)量分塊后的各質(zhì)量分塊重量、重心坐標(biāo)導(dǎo)出,進(jìn)而準(zhǔn)確計(jì)算每一質(zhì)量塊的慣性載荷。

      實(shí)際操作中,通過(guò)以下步驟將零件進(jìn)行質(zhì)量分塊:

      1)在空間定位一點(diǎn)1,點(diǎn)1一般可選為零件外廓頂點(diǎn)。

      2)將XY、YZ、ZX平面用平面/平行通過(guò)點(diǎn)命令偏移,形成平面1、平面2、平面3。

      3)以平面1、平面2、平面3為基準(zhǔn),用平面/偏移平面命令進(jìn)行平面前后偏移(假設(shè)偏移量25mm),偏移后的平面為平面4、平面5、平面6、平面7、平面8、平面9。

      4)以平面4-9為基準(zhǔn),用分割命令切割零件(注意平面方向),形成一質(zhì)量塊(質(zhì)量塊尺寸50mm×50mm×50mm)。

      5)判斷切割后零件幾何體體積是否不為零,若為零則跳至8)。

      6)復(fù)制零件幾何體。

      7)選擇性粘貼/按結(jié)果將復(fù)制的零件幾何體粘貼在零件中。

      8)將點(diǎn)1移動(dòng)一個(gè)質(zhì)量塊棱長(zhǎng)50mm,由1)重新開(kāi)始執(zhí)行。

      9)重復(fù)5)-7)操作,直至零件完成質(zhì)量分塊。

      10)用“測(cè)量慣量/導(dǎo)出”命令將質(zhì)量分塊的重量、重心坐標(biāo)導(dǎo)出成TXT文檔。

      11)新建Excel文檔,用“數(shù)據(jù)/自文本”命令,將TXT文檔導(dǎo)入Excel,即為所需質(zhì)量分塊重量、重心坐標(biāo)數(shù)據(jù)。

      以立方體為例,上述過(guò)程如下圖1所示:

      在實(shí)際操作中,因飛機(jī)結(jié)構(gòu)各零件選用材料不一致,為了簡(jiǎn)化操作流程,將材料相同的零件復(fù)制“零部件幾何體”至同一Part文檔下,然后再將“幾何體”裝配至“零件幾何體”下,形成一個(gè)整體零件,再按上述流程進(jìn)行操作,可以不必每個(gè)零件都進(jìn)行一次質(zhì)量分塊,減少工作量;假設(shè)質(zhì)量分塊尺寸為w,零件外廓尺寸Xmm×Ymm×Zmm,則理論上需要分割數(shù)量為X/w×Y/w×Z/w后取整數(shù)。

      2 CATIA二次開(kāi)發(fā)

      2.1 CATIA二次開(kāi)發(fā)簡(jiǎn)介

      所謂的CATIA二次開(kāi)發(fā),就是利用CATIA系統(tǒng)提供的API接口進(jìn)行程序設(shè)計(jì)開(kāi)發(fā),拓展原生CAD軟件功能,實(shí)現(xiàn)CAD軟件功能個(gè)性化和操作自動(dòng)化,CATIA提供了兩種編程API,一種是Automation API,采用組件對(duì)象歐美系技術(shù)把相關(guān)模塊接口封裝在獨(dú)立的組件內(nèi),另一種是C++/Java API,在C++的快速集成環(huán)境(RADE)中進(jìn)行程序設(shè)計(jì)。一般把基于Automation API的CATIA二次開(kāi)發(fā)系統(tǒng)稱(chēng)為CATIA VBA二次開(kāi)發(fā),將基于C++/Java API的CATIA二次開(kāi)發(fā)系統(tǒng)成為CATIA CAA二次開(kāi)發(fā),由于VBA能夠?qū)崿F(xiàn)窗體化操作,便于執(zhí)行質(zhì)量分塊操作,所以本文基于VBA進(jìn)行CATIA二次開(kāi)發(fā)。

      2.2 VBA界面設(shè)計(jì)

      根據(jù)上文中描述的零件質(zhì)量分塊過(guò)程,設(shè)計(jì)VBA程序界面,其中“選擇文檔”用于對(duì)需要進(jìn)行質(zhì)量劃分的零件Part文檔進(jìn)行選定,“測(cè)量定位”中“X、Y、Z”最高、最低點(diǎn)坐標(biāo)用于描述零件的外廓在坐標(biāo)系中的值,“質(zhì)量分塊尺寸”中“棱長(zhǎng)”用來(lái)表示分塊后各質(zhì)量塊的最大外廓尺寸。

      2.3 程序腳本編寫(xiě)

      編程訪問(wèn)CATIA對(duì)象有兩種腳本,一種是進(jìn)程內(nèi)的腳本,另一種是進(jìn)程外的腳本。

      進(jìn)程內(nèi)的腳本是由CATIA的腳本引擎來(lái)解析執(zhí)行宏腳本命令的。 在CATIA軟件打開(kāi)后,在CATIA窗口中點(diǎn)擊“工具->宏->啟動(dòng)錄制”,然后打開(kāi)需要進(jìn)行質(zhì)量分塊的零件Part文檔,執(zhí)行上述操作步驟1)-7),操作完成后點(diǎn)擊停止錄制按鈕,點(diǎn)擊“工具->宏->宏…->編輯”命令可以察看生成的進(jìn)程內(nèi)的腳本。

      進(jìn)程外訪問(wèn)即指腳本運(yùn)行不由CATIA來(lái)調(diào)用,CATIA作為一個(gè)OLE自動(dòng)化服務(wù)器,外部程序通過(guò)COM接口來(lái)訪問(wèn)CATIA內(nèi)部對(duì)象,質(zhì)量分塊程序的進(jìn)程外腳本主要實(shí)現(xiàn)進(jìn)程內(nèi)腳本的循環(huán)操作??梢栽赩BA程序中嵌入訪問(wèn)CATIA的程序,進(jìn)程外的腳本不同于進(jìn)程內(nèi)腳本,外部程序首先要連接到CATIA上,如果CATIA沒(méi)有啟動(dòng)還必須先啟動(dòng)它,VBA中通過(guò)以下腳本實(shí)現(xiàn)CATIA的連接以及啟動(dòng):

      Dim CATIA As Object

      On Error Resume Next

      Set CATIA = GetObject(, “CATIA.Application”)

      If Err.Number <> 0 Then

      Set CATIA = CreateObject(“CATIA.Application”)

      CATIA.Visible = True

      End If

      On Error GoTo 0

      進(jìn)程內(nèi)腳本實(shí)現(xiàn)零件的質(zhì)量分塊操作,進(jìn)程外腳本實(shí)現(xiàn)質(zhì)量分塊定位點(diǎn)的循環(huán)操作。

      3 CATIA質(zhì)量分塊的實(shí)現(xiàn)

      1)本文中以飛機(jī)結(jié)構(gòu)中常見(jiàn)的機(jī)加框零件為例進(jìn)行演示,啟動(dòng)VBA程序,輸入相對(duì)于原點(diǎn)坐標(biāo)的零件“X、Y、Z”最大最小值,棱長(zhǎng)尺寸定為50mm。

      2)點(diǎn)擊開(kāi)始,程序自動(dòng)運(yùn)行,完成框零件質(zhì)量分塊,如下圖2所示:

      (3)用CATIA中“測(cè)量慣量”工具,導(dǎo)出質(zhì)量分塊重量、重心TXT文檔數(shù)據(jù)至本地,新建EXCLE文檔,數(shù)據(jù)->自文本,導(dǎo)入TXT文檔數(shù)據(jù),從導(dǎo)入數(shù)據(jù)可知VBA程序共將框分割成405塊,用時(shí)185s。

      4 結(jié)束語(yǔ)

      本文介紹了CATIA VBA二次開(kāi)發(fā)概念,并介紹了結(jié)構(gòu)質(zhì)量分塊的必要性及方法,在此方法的基礎(chǔ)上,結(jié)合CATIA VBA二次開(kāi)發(fā)工具,實(shí)現(xiàn)了結(jié)構(gòu)零件質(zhì)量分塊的自動(dòng)化。從質(zhì)量分塊結(jié)果可以看出,采用CATIA VBA二次開(kāi)發(fā)可以大大降低工作的繁雜性,提高工作效率,縮短飛機(jī)設(shè)計(jì)周期。在CATIA VBA二次開(kāi)發(fā)基礎(chǔ)上,可以使飛機(jī)設(shè)計(jì)流程中一些重復(fù)且繁雜的工作自動(dòng)化,解放設(shè)計(jì)人員,提高設(shè)計(jì)質(zhì)量。

      參考文獻(xiàn)

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

      作者簡(jiǎn)介

      詹雷(1987-),男,漢族,陜西咸陽(yáng)人,工程師,從事飛機(jī)結(jié)構(gòu)設(shè)計(jì)方面的研究。

      成安县| 拉孜县| 含山县| 田阳县| 南开区| 虞城县| 静乐县| 揭西县| 集安市| 福清市| 旺苍县| 微博| 都安| 井研县| 临城县| 铜山县| 乐安县| 枝江市| 吐鲁番市| 浮山县| 右玉县| 永仁县| 共和县| 镇原县| 平昌县| 黄陵县| 福贡县| 乡城县| 五常市| 彰化县| 聂拉木县| 韩城市| 梅河口市| 奈曼旗| 民丰县| 甘德县| 临海市| 明星| 陆丰市| 南漳县| 洱源县|