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

        ?

        CATIA VBA二次開發(fā)在裝配中批量搜索零件的應(yīng)用

        2021-01-25 01:40:02梁鋒鐘建強(qiáng)羅培鋒陳東
        汽車實(shí)用技術(shù) 2021年1期
        關(guān)鍵詞:文本框用戶界面自帶

        梁鋒,鐘建強(qiáng),羅培鋒,陳東

        (廣州汽車集團(tuán)股份有限公司汽車工程研究院,廣東 廣州 511434)

        前言

        CATIA 是全球出色的產(chǎn)品設(shè)計(jì)和體驗(yàn)解決方案。它被不同行業(yè)的領(lǐng)導(dǎo)組織所采用,用以開發(fā)我們?nèi)粘I钜姷胶褪褂玫漠a(chǎn)品,常見的是飛機(jī)及汽車設(shè)計(jì)開發(fā)領(lǐng)域。CATIA在世界制造業(yè)中具有舉足輕重的地位,波音飛機(jī)公司使用CATIA完成了整個(gè)波音777的電子裝配,創(chuàng)造了業(yè)界的一個(gè)奇跡,從而也確定了CATIA在CAD/CAE/CAM行業(yè)內(nèi)的領(lǐng)先地位[1]。車身開發(fā)過程中,經(jīng)常需要在裝配中對(duì)于同種材料屬性的零件著色,比如鍍鋅板,用于校核或者作為報(bào)告用圖。目前常規(guī)的方法有兩個(gè),一個(gè)是對(duì)照BOM表逐個(gè)選擇后分別著色;另一個(gè)通過EXCEL表輔助,生成需執(zhí)行的搜索語法,然后復(fù)制至CATIA高級(jí)搜索欄中的組合查詢實(shí)現(xiàn)批量搜索。本文針對(duì)后者,使用 VBA進(jìn)行二次開發(fā),通過對(duì)多個(gè)零件號(hào)進(jìn)行處理直接生成搜索語法,進(jìn)而實(shí)現(xiàn)程序的批量搜索。

        1 理論介紹

        1.1 CATIA二次開發(fā)方法

        CATIA二次開發(fā)的主要方法有四種:一是 Automation API(使用自動(dòng)化應(yīng)用接口的宏),CATIA Automation API采用面向?qū)ο蠹夹g(shù)設(shè)計(jì),是一個(gè)開放易學(xué)的體系結(jié)構(gòu),適應(yīng)于大多數(shù)自行設(shè)計(jì)插件的工程師;二是Knowledge Ware(知識(shí)工程模塊),是基于規(guī)則的,主要應(yīng)用于建模、檢查、審查等過程的;三是采用Interactive User Defined Feature(交互式用戶定義特征),主要于用建模過程的特征重用;四是CAA V5的C++和JAVA應(yīng)用接口,此法需要專業(yè)的編程軟件及工具,對(duì)開發(fā)人員要求較高,適合比較深層次的CATIA二次開發(fā)。

        1.2 CATIA 二次開發(fā)流程

        CATIA二次開發(fā),其核心是利用CATIA提供的API接口進(jìn)行程序設(shè)計(jì)開發(fā),開發(fā)拓展 CATIA軟件功能,實(shí)現(xiàn)CATIA功能個(gè)性化和操作自動(dòng)化。CATIA 基于開放式可擴(kuò)展的 V5 架構(gòu)使得用戶可以方便地通過二次開發(fā)擴(kuò)展應(yīng)用功能。二次開發(fā)是對(duì)軟件進(jìn)行個(gè)性化和專業(yè)化有有效手段,可以使軟件更好地為用戶服務(wù),對(duì)提高工作效率和產(chǎn)品質(zhì)量,節(jié)約研發(fā)成本和縮短開發(fā)周期有著重要的作用[2]。

        進(jìn)行CATIA二次開發(fā),要了解CATIA V5 Automation API的基本架構(gòu)及主要對(duì)象的概念、用法及它們之間的關(guān)系,掌握常用對(duì)象的屬性和方法。CATIA V5 Automation 對(duì)象架構(gòu)如圖1所示。

        圖1 CATIA V5 Automation對(duì)象架構(gòu)

        CATIA二次開發(fā)的過程即是CATIA功能的個(gè)性化定制,其目的是滿足用戶使用習(xí)慣或者完成自動(dòng)化操作。其中自動(dòng)包含兩層意思,其一是重復(fù)操作的自動(dòng)化完成,其二是某些流程自動(dòng)化完成。開發(fā)人員為實(shí)現(xiàn)某種功能的二次開發(fā),根據(jù)需要合理地調(diào)用V5 Automation 提供的類、庫(kù)的屬性和方法以及二次開發(fā)函數(shù)。而CATIA中的每個(gè)功能以及所有的實(shí)體特征都有相應(yīng)的類、庫(kù)支撐,因此CATIA二次開發(fā)的主要工作就是合理地調(diào)用 V5 Automation API 對(duì)象進(jìn)行編程。CATIA VBA中提供了VB的功能,結(jié)合VB強(qiáng)大的功能和CATIA本身提供的豐富的類、庫(kù)及二次開發(fā)函數(shù),就能開發(fā)個(gè)性化的CATIA二次開發(fā)程序[3]。

        2 CATIA按零件號(hào)的搜索方法

        2.1 使用自帶搜索工具進(jìn)行搜索

        使用 CATIA自帶搜索工具按以下步驟進(jìn)行按零件號(hào)搜索。在裝配模塊下,編輯—搜索(CTRL+F),調(diào)出搜索界面并進(jìn)入高級(jí)選項(xiàng)卡,工作臺(tái)選擇裝配設(shè)計(jì),類型選擇零件,屬性選擇零件編號(hào),在邏輯運(yùn)算符右側(cè)的文本框中輸入單個(gè)零件號(hào)進(jìn)行搜索,具體操作如圖2所示。

        圖2 CATIA用自帶搜索工具按零件編號(hào)搜索零件

        自帶搜索命令的優(yōu)點(diǎn)是操作簡(jiǎn)單,直觀方便,無需定制,對(duì)于單一零件較為實(shí)用。但是也有缺點(diǎn),僅能進(jìn)行單個(gè)零件精確搜索或者對(duì)具有相同字符串的零件號(hào)增加通配符進(jìn)行模糊搜索。

        2.2 通過EXCEL輔助使用原有搜索工具進(jìn)行批量精確搜索

        圖3 EXCEL輔助按零件號(hào)批量精確搜索

        CATIA自帶搜索工具的高級(jí)選項(xiàng)支持組合查詢,即支持邏輯運(yùn)算,故可以通過EXCEL公式在表格中生成相應(yīng)搜索命令,然后復(fù)制至CATIA組合查詢框中執(zhí)行搜索,可以實(shí)現(xiàn)按零件號(hào)精確批量搜索。如在某個(gè)裝配下同時(shí)搜索零件號(hào)分別為80500890及40401410、40401420三個(gè)零件,在EXCEL制定的模板中,處理生成搜索語句:裝配設(shè)計(jì).零件.零件編號(hào)=80500890+裝配設(shè)計(jì).零件.零件編號(hào)=40401410+裝配設(shè)計(jì).零件.零件編號(hào)=40401420,然后復(fù)制至CATIA搜索組合查詢中,執(zhí)行搜索,如圖3所示。若CATIA為英文界面,需將字符串裝配設(shè)計(jì).零件.零件編號(hào)替換成''Assembly Design'.Part.'Part Number'。

        2.3 程序自動(dòng)批量搜索

        程序自動(dòng)批量搜索是利用編程語言調(diào)用 CATIA的 API接口,調(diào)用search方法進(jìn)行操作,通過程序控制完成按零件號(hào)的精確搜索。程序搜索法的特點(diǎn)是操作簡(jiǎn)單,搜索效率高,但是需要 CATIA二次開發(fā)的相關(guān)知識(shí),對(duì)設(shè)計(jì)人員要求較高。按零件號(hào)批量精確搜索的CATIA二次開發(fā)主要流程如圖4所示。

        圖4 按零件號(hào)批量精確搜索的主要流程

        3 CATIA二次開發(fā)

        3.1 用戶界面設(shè)計(jì)

        程序用戶界面是衡量一個(gè)程序或軟件實(shí)用性的重要指標(biāo)。CATIA二次開發(fā)中設(shè)計(jì)用戶界面通常有兩種方法。第一種也是最常用的,直接在CATIA VBA窗口中插入U(xiǎn)serForm(用戶窗體),并通過Toolbox工具進(jìn)行相關(guān)設(shè)計(jì),然后通過使用文本框及按鈕等控件實(shí)現(xiàn)界面的設(shè)計(jì)。另一種是直接在VB軟件中設(shè)計(jì),按鈕等控件的詳細(xì)設(shè)計(jì)同第一種。但因?yàn)閂B獨(dú)立于CATIA的,是微軟開發(fā)的一種面向?qū)ο蟮目梢暬?,屬于CATIA進(jìn)程外的應(yīng)用程序,所以后者需在前面的基礎(chǔ)上加入調(diào)用外部程序。本程序的用戶界面采用的第一種方法。CATIA按零件號(hào)批量搜索程序的界面設(shè)計(jì)如圖5所示。

        圖5 CATIA按零件號(hào)批量搜索程序的界面

        3.2 主要程序代碼

        判斷CATIA用戶界面語言是中文還是英文,代碼如下。

        a = Left(CATIA.Statusbar,1)

        if a > "~" then

        msgbox "中文"

        end if

        msgbox "英文"

        按回車符分割輸入框中的多個(gè)零件號(hào)并返回?cái)?shù)組,代碼如下,TextBox1為程序界面輸入文字的文本框。

        arr = Split(TextBox1.Text, vbCrLf)

        根據(jù)用戶界面語言為不同語言,用指定字符串分別與arr(0)連接兩組代碼。

        中文環(huán)境下:

        mystr = "裝配設(shè)計(jì).零件.零件編號(hào)=" & arr(0)

        循環(huán),連接所有成員。

        For i = 1 To UBound(arr)

        mystr = mystr & "+" & "裝配設(shè)計(jì).零件.零件編號(hào)=" & arr(i)

        Next

        newstr = "" & mystr & ",all" & ""

        英文環(huán)境下:

        mystr = "'Assembly Design'.Part.'Part Number'=" & arr(0)

        循環(huán),連接所有成員。

        For i = 1 To UBound(arr)

        mystr = mystr &"+" & "'Assembly Design'.Part.'Part Num ber'=" & arr(i)

        Next

        newstr = "" & mystr & ",all" & ""

        將上述兩組代碼分別替換判斷用戶界面語言中的msgbox "中文"及msgbox "中文"即得到本程序的主要代碼。

        根據(jù)以上得到的字符串執(zhí)行搜索,代碼如下。

        Sub 搜索()

        Dim selection1 As Selection

        Dim visPropertySet1 As VisPropertySet

        Dim productdocument1 As Document

        Set productdocument1 = CATIA.ActiveDocument

        Set selection1 = productdocument1.Selection

        selection1.Search mystr

        End Sub

        以上為中英文界面通用搜索命令的相應(yīng)代碼。將本程序中mystr根據(jù)CATIA自帶高級(jí)搜索界面的命令進(jìn)行適應(yīng)性修改,可以得到其他批量搜索功能。比如,將上述代碼的'Assembly Design'.Part.'Part Number'、"裝配設(shè)計(jì).零件.零件編號(hào)="分別改為'Assembly Design'. Assembly.'Part Number'、"裝配設(shè)計(jì).裝配.零件編號(hào)=",即可批量搜索裝配。

        4 實(shí)例驗(yàn)證

        4.1 按零件號(hào)精確批量搜索

        以 6個(gè)零件組成的裝配為例,同時(shí)搜索零件號(hào)為80500890及40401410、40401420三個(gè)零件。

        (1)打開需搜索的裝配。

        (2)打開按零件號(hào)批量搜索程序。

        (3)復(fù)制零件號(hào)或者手工輸入零件號(hào)至文本框,如圖6所示。

        圖6 按零件號(hào)批量搜索輸入框

        (4)執(zhí)行搜索,即可選中文本框中零件,如圖7所示。

        圖7 程序按零件號(hào)批量搜索

        4.2 按有相同字符串的零件號(hào)進(jìn)行模糊批量搜索

        本程序亦可執(zhí)行模糊搜索,以上述裝配為例,對(duì)具有開頭為8050的零件號(hào)進(jìn)行批量搜索。步驟同上面,僅需將步驟(3)改為8050*,執(zhí)行中文搜索,結(jié)果如圖8所示。

        圖8 開頭為8050的零件號(hào)批量搜索

        5 結(jié)論

        通過 CATIA按零件號(hào)批量精確搜索及模糊搜索實(shí)例驗(yàn)證,可以看出使用CATIA VBA代碼批量搜索零件號(hào),可以簡(jiǎn)化操作人員的操作步驟,在使用過程中更加便捷快速、準(zhǔn)確,證明了CATIA二次開發(fā)對(duì)于設(shè)計(jì)人員有著較高的實(shí)用性與高效性。結(jié)果表明,CATIA二次開發(fā)對(duì)于提高工作效率、減少重復(fù)操作有著不可或缺的作用,可以讓工程師更專注于設(shè)計(jì)研發(fā)工作中。

        猜你喜歡
        文本框用戶界面自帶
        自然用戶界面在智能家居系統(tǒng)中的應(yīng)用路徑創(chuàng)新研究:生成式人工智能技術(shù)的調(diào)節(jié)作用
        包裝工程(2023年16期)2023-08-25 11:40:58
        基于CiteSpace的國(guó)外用戶界面體驗(yàn)圖譜量化分析
        巧用文本框?qū)崿F(xiàn)PPT多圖片排版
        PPT文本框的另類應(yīng)用
        周迅:天才,自帶撥亂反正的能量
        文苑(2018年23期)2018-12-14 01:06:26
        中國(guó)寶玉石(2018年6期)2018-03-05 06:17:48
        UI用戶界面色彩設(shè)計(jì)研究
        流行色(2017年12期)2017-10-26 03:08:44
        好的愛情自帶成長(zhǎng)屬性
        海峽姐妹(2017年3期)2017-04-16 03:06:35
        文本框酷變3D效果
        基于B/S的跨平臺(tái)用戶界面可配置算法研究
        韩国三级中文字幕hd| 亚洲国产av自拍精选| 久久久精品久久久国产| 久久九九精品国产av| 国产喷水1区2区3区咪咪爱av| 亚洲最新偷拍网站| 在线无码免费看黄网站| 久久久亚洲av成人乱码| 亚洲av中文无码乱人伦下载| 国产精品成年片在线观看| 无码一区东京热| 久久精品国产亚洲av网在| 日产乱码一二三区别免费l| 天堂а√在线中文在线新版| 国内精品一区二区2021在线| 国产精品亚洲av一区二区三区 | 在线视频观看免费视频18| 精品手机在线视频| 61精品人妻一区二区三区蜜桃| 一本色道久久88—综合亚洲精品| 人妻 色综合网站| 久久这里只精品国产99热| 日韩av中文字幕亚洲天| 极品人妻少妇av免费久久| 国产97在线 | 亚洲| 麻豆国产巨作AV剧情老师| 视频一区视频二区亚洲| 伊人久久大香线蕉av波多野结衣| 日本护士吞精囗交gif| 国产精品亚洲ΑV天堂无码| 亚洲av午夜福利精品一区不卡| 国产乱人对白| 草草网站影院白丝内射| 国产女主播免费在线观看| 日韩人妖视频一区二区| 狠狠做深爱婷婷久久综合一区| 国产农村三片免费网站| 久久av一区二区三区黑人| 中国无码人妻丰满熟妇啪啪软件| 免费无码肉片在线观看| 日本国主产一区二区三区在线观看|