999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

CATIA VBA二次開發在裝配中批量搜索零件的應用

2021-01-25 01:40:02梁鋒鐘建強羅培鋒陳東
汽車實用技術 2021年1期
關鍵詞:二次開發界面程序

梁鋒,鐘建強,羅培鋒,陳東

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

前言

CATIA 是全球出色的產品設計和體驗解決方案。它被不同行業的領導組織所采用,用以開發我們日常生活見到和使用的產品,常見的是飛機及汽車設計開發領域。CATIA在世界制造業中具有舉足輕重的地位,波音飛機公司使用CATIA完成了整個波音777的電子裝配,創造了業界的一個奇跡,從而也確定了CATIA在CAD/CAE/CAM行業內的領先地位[1]。車身開發過程中,經常需要在裝配中對于同種材料屬性的零件著色,比如鍍鋅板,用于校核或者作為報告用圖。目前常規的方法有兩個,一個是對照BOM表逐個選擇后分別著色;另一個通過EXCEL表輔助,生成需執行的搜索語法,然后復制至CATIA高級搜索欄中的組合查詢實現批量搜索。本文針對后者,使用 VBA進行二次開發,通過對多個零件號進行處理直接生成搜索語法,進而實現程序的批量搜索。

1 理論介紹

1.1 CATIA二次開發方法

CATIA二次開發的主要方法有四種:一是 Automation API(使用自動化應用接口的宏),CATIA Automation API采用面向對象技術設計,是一個開放易學的體系結構,適應于大多數自行設計插件的工程師;二是Knowledge Ware(知識工程模塊),是基于規則的,主要應用于建模、檢查、審查等過程的;三是采用Interactive User Defined Feature(交互式用戶定義特征),主要于用建模過程的特征重用;四是CAA V5的C++和JAVA應用接口,此法需要專業的編程軟件及工具,對開發人員要求較高,適合比較深層次的CATIA二次開發。

1.2 CATIA 二次開發流程

CATIA二次開發,其核心是利用CATIA提供的API接口進行程序設計開發,開發拓展 CATIA軟件功能,實現CATIA功能個性化和操作自動化。CATIA 基于開放式可擴展的 V5 架構使得用戶可以方便地通過二次開發擴展應用功能。二次開發是對軟件進行個性化和專業化有有效手段,可以使軟件更好地為用戶服務,對提高工作效率和產品質量,節約研發成本和縮短開發周期有著重要的作用[2]。

進行CATIA二次開發,要了解CATIA V5 Automation API的基本架構及主要對象的概念、用法及它們之間的關系,掌握常用對象的屬性和方法。CATIA V5 Automation 對象架構如圖1所示。

圖1 CATIA V5 Automation對象架構

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

2 CATIA按零件號的搜索方法

2.1 使用自帶搜索工具進行搜索

使用 CATIA自帶搜索工具按以下步驟進行按零件號搜索。在裝配模塊下,編輯—搜索(CTRL+F),調出搜索界面并進入高級選項卡,工作臺選擇裝配設計,類型選擇零件,屬性選擇零件編號,在邏輯運算符右側的文本框中輸入單個零件號進行搜索,具體操作如圖2所示。

圖2 CATIA用自帶搜索工具按零件編號搜索零件

自帶搜索命令的優點是操作簡單,直觀方便,無需定制,對于單一零件較為實用。但是也有缺點,僅能進行單個零件精確搜索或者對具有相同字符串的零件號增加通配符進行模糊搜索。

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

圖3 EXCEL輔助按零件號批量精確搜索

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

2.3 程序自動批量搜索

程序自動批量搜索是利用編程語言調用 CATIA的 API接口,調用search方法進行操作,通過程序控制完成按零件號的精確搜索。程序搜索法的特點是操作簡單,搜索效率高,但是需要 CATIA二次開發的相關知識,對設計人員要求較高。按零件號批量精確搜索的CATIA二次開發主要流程如圖4所示。

圖4 按零件號批量精確搜索的主要流程

3 CATIA二次開發

3.1 用戶界面設計

程序用戶界面是衡量一個程序或軟件實用性的重要指標。CATIA二次開發中設計用戶界面通常有兩種方法。第一種也是最常用的,直接在CATIA VBA窗口中插入UserForm(用戶窗體),并通過Toolbox工具進行相關設計,然后通過使用文本框及按鈕等控件實現界面的設計。另一種是直接在VB軟件中設計,按鈕等控件的詳細設計同第一種。但因為VB獨立于CATIA的,是微軟開發的一種面向對象的可視化編,屬于CATIA進程外的應用程序,所以后者需在前面的基礎上加入調用外部程序。本程序的用戶界面采用的第一種方法。CATIA按零件號批量搜索程序的界面設計如圖5所示。

圖5 CATIA按零件號批量搜索程序的界面

3.2 主要程序代碼

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

a = Left(CATIA.Statusbar,1)

if a > "~" then

msgbox "中文"

end if

msgbox "英文"

按回車符分割輸入框中的多個零件號并返回數組,代碼如下,TextBox1為程序界面輸入文字的文本框。

arr = Split(TextBox1.Text, vbCrLf)

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

中文環境下:

mystr = "裝配設計.零件.零件編號=" & arr(0)

循環,連接所有成員。

For i = 1 To UBound(arr)

mystr = mystr & "+" & "裝配設計.零件.零件編號=" & arr(i)

Next

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

英文環境下:

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

循環,連接所有成員。

For i = 1 To UBound(arr)

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

Next

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

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

根據以上得到的字符串執行搜索,代碼如下。

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

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

4 實例驗證

4.1 按零件號精確批量搜索

以 6個零件組成的裝配為例,同時搜索零件號為80500890及40401410、40401420三個零件。

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

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

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

圖6 按零件號批量搜索輸入框

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

圖7 程序按零件號批量搜索

4.2 按有相同字符串的零件號進行模糊批量搜索

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

圖8 開頭為8050的零件號批量搜索

5 結論

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

猜你喜歡
二次開發界面程序
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
西門子Easy Screen對倒棱機床界面二次開發
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
人機交互界面發展趨勢研究
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 色哟哟色院91精品网站| a毛片在线| 亚洲中文字幕手机在线第一页| 欧美日韩亚洲综合在线观看| 国产精品七七在线播放| 青草国产在线视频| 国产精品嫩草影院av| 国产成人a在线观看视频| 日本一区二区不卡视频| 亚洲日韩在线满18点击进入| 久久黄色免费电影| 国产杨幂丝袜av在线播放| 日韩在线中文| 国产成人高清精品免费软件| 四虎成人在线视频| 香蕉国产精品视频| 亚洲熟女偷拍| 国产成人无码综合亚洲日韩不卡| 国内精品免费| 真人免费一级毛片一区二区| 尤物精品国产福利网站| 精品久久久久久久久久久| 午夜综合网| 色综合久久久久8天国| 51国产偷自视频区视频手机观看| 亚洲国产一区在线观看| 制服丝袜国产精品| 精品天海翼一区二区| 国产va在线观看| 福利在线不卡一区| 波多野结衣中文字幕一区二区| 亚洲娇小与黑人巨大交| 国产成人精品在线| 免费播放毛片| 欧美亚洲一区二区三区导航| 色精品视频| 欧美亚洲一区二区三区导航| 黄片一区二区三区| 中文字幕永久在线观看| 亚洲成人黄色在线| 国产亚洲精品自在久久不卡| 日本www色视频| 亚洲香蕉在线| 福利在线不卡| 欧美日韩国产在线人成app| 亚洲九九视频| 国产经典在线观看一区| 日韩无码白| 性视频久久| 全部免费毛片免费播放| 欧美97色| 老司机精品一区在线视频| 亚洲精品国产精品乱码不卞| 国产精品福利一区二区久久| 亚洲欧美成人在线视频| 狠狠色婷婷丁香综合久久韩国| 色综合国产| 成人年鲁鲁在线观看视频| 免费欧美一级| 日韩福利在线观看| 狠狠色噜噜狠狠狠狠奇米777| 尤物在线观看乱码| 国产精品99久久久久久董美香| 亚洲天堂免费在线视频| 亚洲午夜国产片在线观看| 国产成人精品免费av| 国产成人区在线观看视频| www.99精品视频在线播放| 伊人大杳蕉中文无码| 欧美不卡视频在线| 国内黄色精品| 亚洲熟女偷拍| 成人欧美在线观看| 97综合久久| 国产精品99r8在线观看| 二级特黄绝大片免费视频大片 | 在线看AV天堂| 五月综合色婷婷| 成人在线观看不卡| 国产福利拍拍拍| 欧美色99| 国产99视频精品免费视频7|