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
主站蜘蛛池模板: 日日拍夜夜嗷嗷叫国产| 亚洲av成人无码网站在线观看| 国产成人1024精品| 亚洲国产成人在线| 免费国产在线精品一区| 日韩欧美91| 97国产在线播放| 久久semm亚洲国产| 欧美中出一区二区| 欧美一级高清免费a| 国产精品视频导航| 亚洲永久精品ww47国产| 国产免费a级片| 国产成人AV大片大片在线播放 | 色香蕉网站| 国产在线精彩视频二区| 国产手机在线小视频免费观看| 国产激情第一页| 麻豆国产在线观看一区二区| 四虎永久在线精品影院| 免费人成视网站在线不卡| 在线观看网站国产| 日韩美毛片| 成人欧美日韩| 欧美视频二区| 亚洲Aⅴ无码专区在线观看q| 日本少妇又色又爽又高潮| 国产精品一线天| 久久无码av三级| 国产福利小视频在线播放观看| 人人91人人澡人人妻人人爽 | 国产视频a| 少妇人妻无码首页| 日韩天堂网| 91精品人妻互换| 日韩欧美网址| 国产精品亚洲片在线va| 久久婷婷五月综合色一区二区| 六月婷婷综合| 精品视频在线一区| 国产激情影院| 99久久国产综合精品女同| 日韩在线视频网站| 亚洲人成人无码www| 一区二区三区精品视频在线观看| 国产亚洲精久久久久久无码AV| 亚洲成aⅴ人片在线影院八| 色偷偷一区| 欧美区日韩区| 日本少妇又色又爽又高潮| 国产中文一区a级毛片视频| 99这里只有精品6| 国产一级裸网站| 国产精品自拍合集| 久久这里只有精品2| 秋霞午夜国产精品成人片| 国产玖玖视频| 免费在线国产一区二区三区精品| 欧美中文一区| 亚洲成人高清在线观看| 亚洲人妖在线| 真实国产乱子伦视频| 天天色综网| 毛片基地视频| 国产乱子伦无码精品小说| 在线国产毛片手机小视频| 久99久热只有精品国产15| 亚洲精品自拍区在线观看| 一级一级一片免费| 99一级毛片| 亚洲欧美国产高清va在线播放| 97av视频在线观看| 国产成人AV大片大片在线播放 | 亚洲无码精品在线播放| 播五月综合| 国产高清国内精品福利| 国产成人亚洲无码淙合青草| 欧美区一区| 国产丝袜91| 免费一极毛片| 中文字幕2区| 国产成人亚洲精品色欲AV |