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

基于VB 6.0的CATIA二次開發在零件測量中的應用

2021-02-06 15:00:58梁鋒鐘建強羅培鋒陳東
汽車實用技術 2021年2期
關鍵詞:二次開發測量

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

基于VB 6.0的CATIA二次開發在零件測量中的應用

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

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

針對汽車車身開發過程中重量管控,為改善單件重量手工測量統計的傳統低效現象,給出單件重量的程序自動測量方法。在介紹VB編程語言及CATIA二次開發理論的基礎上,給出程序自動測量的基本流程,利用VB6.0 Automation API調用內置函數GetMeasurable,實現零件的批量測量并寫入EXCEL表格中為后續數據處理提供基礎。通過實例驗證,證明了CATIA批量自動測量相對傳統手工測量方法的優越性。結果表明,CATIA二次開發可以提高工作效率。

VB;CATIA;二次開發;體積測量;重量測量;測量輸出

前言

CATIA 是法國達索公司開發的CAD/CAE/CAM 一體化軟件,在世界CAD/CAE/CAM領域中處于領先地位[1]。車身開發過程中,需要對設計重量進行管控,通常需大數模中自定義重量屬性,并對屬性重量進行填寫及更新。對于CATPart類型數模,目前主要有兩種方法。一種是設定公式,重量Mass為賦予的材質密度×零件體積,但公式容易受幾何體Body重命名等原因丟失鏈接,導致重量信息無法更新;另一種為手工測量,然后填寫入自定義屬性中,但工作繁重效率低下。本文針對后者,使用VBA進行二次開發,通過代碼提取CATPart的體積與密度,并設定公式相乘得到重量,并導出至EXCEL文件中,方便后續的屬性寫入及其它重量管理。

1 理論介紹

1.1 VB 6.0編程語言

VB6.0 是微軟公司開發的面向對象的可視化編程工具。VB 以早期的Basic語言為基礎,以可視化為主要特點,采用面向對象、事件驅動的編程機制[2]。VB 把Windows 編程的復雜性進行了封裝,使用戶可以簡單快速地開發出Windows環境下的應用程序。

CATIA 加入了ActiveX 自動化服務功能,VB 是最為常用的支持ActiveX 技術的開發工具之一。采用VB作為開發工具進行CATIA二次開發,可使CATIA與Windows 其它程序的數據共享變得更加容易[3]。

1.2 CATIA V5 Automation

CATIA 提供了兩種編程接口,一種是自動化對象編程(V5 Automation),一種是開放的組件應用架構(CAA)[4]。CAA功能全面,穩定性好,適合深層次的CATIA二次開發,但是對開發人員的要求較高,需要使用專業的編程軟件及工具。V5Automation是基于COM技術的編程接口,描述了CATIA二次開發編程對象架構,包含不同接口中每個對象的方法屬性等詳細信息,是進行CATIA二次開發的重要參考資料。

1.3 CATIA 二次開發流程

所謂CATIA二次開發,就是利用CATIA提供的API接口進行程序設計開發,拓展CATIA軟件功能,實現軟件功能個性化和操作自動化。二次開發可以使軟件更好地為用戶服務,對提高工作效率和產品質量,節約研發成本和縮短開發周期有著重要的作用[5]。

圖1 CATIA V5 Automation對象架構

進行CATIA二次開發,首先要了解CATIA V5 Automa -tion API 的基本架構,掌握常用對象的屬性和方法。CATIA V5 Automation 對象架構如圖1所示。

CATIA二次開發的過程可以理解為:用戶為實現某種功能,根據需要合理地調用V5 Automation 提供的類、庫的屬性和方法以及二次開發函數。CATIA中的每個功能(包括零件設計、曲面設計、裝配設計、工程制圖等)以及所有的實體特征(包括草圖特征、修飾特征、曲面特征、變換特征、組合特征等)都有相應的類、庫支撐,因此CATIA二次開發的主要工作就是合理地調用V5 Automation API 對象進行編程。對CATIA進行二次開發的基本流程如圖2所示。

圖2 CATIA二次開發基本流程

2 CATIA零件使用VBA的測量方法

2.1 使用CATIA自帶測量命令

圖3 CATIA自帶測量工具

自帶測量命令的優點是操作簡單,直觀方便,測量結果即時顯示,無需其它特別操作,對于單一零件較為實用。但是也有缺點,主要缺點是在重復測量時,需逐個重復測量命令的操作。而且,在需要輸出體積或者重量用于后續處理時,需逐個復制粘貼結果,效率低下。

2.2 使用VBA執行測量命令

使用VBA測量命令,主要是調用SPA(DMU Space Analysis)工作臺的Measurable測量命令,該命令在CATIA Automation API中存在接口,可直接調用,主要流程如圖4所示。

圖4 VBA代碼測量基本流程

3 VB 6.0環境下的CATIA二次開發

3.1 零件測量并輸出結果的CATIA二次開發主要流程

零件測量并輸出結果至EXCEL的CATIA二次開發的主要流程如圖5所示。

圖5 零件測量并輸出結果至EXCEL的CATIA

二次開發的主要流程

3.2 獲取待處理的CATPart所在的文件夾路徑

首先將待處理對象放置于同一個文件夾內,然后打開該文件夾中的任意一個CATPart文檔,通過API訪問CATIA內部對象,來獲取該文件所在文件夾路徑。獲取當前打開的CATPart文檔的路徑,可以通過以下代碼實現。

Dim documents1 As Documents

Set documents1 = CATIA.Documents

Dim partDocument1 As PartDocument

Set objpart = CATIA.ActiveDocument.Part

pth = objpart.Application.ActiveDocument.Path

MyPath = pth & ""

3.3 調用EXCEL,并定義列標題

通過調用EXCEL,通過自定義標題用于存儲測量結果及其他信息。本案例主要列標題有,零件號、體積、默認的測量密度及默認重量。

通過GetObject("EXCEL.Application")及CreateObject ("EXCEL.Application")代碼調用EXCEL程序。調用EXCEL程序后,通過以下代碼實現EXCEL表頭的設計。

Set myWorkbook = myEXCEL.Workbooks.Add

Set myWorksheet = myEXCEL.Sheets.Add

myWorksheet.Range("A1").Value = "零件號"

myWorksheet.Range("B1").Value = "體積(m^3)"

myWorksheet.Range("C1").Value ="默認測量密度(Kg/ m^3)"

myWorksheet.Range("D1").Value = "默認重量(Kg)"

3.4 主要程序代碼

獲取零件的體積,代碼如下。MyPath為待處理零件所在的文件夾路徑,MyName為路徑為所有后綴為CATPart的文檔的FullName即,MyName = Dir(MyPath & "*CATPart")。

Dim documents1 As Documents

Set documents1 = CATIA.Documents

Dim partDocument1 As PartDocument

Set partDocument1=documents1.Open(MyPath&My Name)

Set objpart = CATIA.ActiveDocument.Part

Set objRef = objpart.CreateReferenceFrom Object(objpart. Bodies)

Set objSPAWkb = CATIA.ActiveDocument. GetWork ben ch ("SPAWorkbench")

Set objMeasurable = objSPAWkb.GetMeasurable(objRef)

將測量結果及其他信息寫入EXCEL表格,代碼如下。objpart.Name為零件號,objMeasurable.Volume為體積,part Root.Density為默認的測量密度。

Set partRoot = CATIA.ActiveDocument.Part

myWorksheet.Range("A" & line).Value = objpart.Name

myWorksheet.Range("B" & line).Value = objMeasurable. Volume

myWorksheet.Range("C" & line).Value = partRoot.Density

myWorksheet.Range("D" & line).Value = Round(partRoot. Density * objMeasurable.Volume, 3)

4 實例驗證

4.1 單一零件測量不輸出至EXCEL表格

打開單一零件,并執行代碼,即可等到體積及重量,如圖6所示。

圖6 單一零件測量

4.2 同一文件夾中的所有CATPart測量體積并輸出至EXCEL中

打開目標文件夾任意一個CATPart,執行代碼。輸出如圖7所示表格。107個零件總大小456M,用時約4分鐘。

圖7 批量測量后輸出的表格

5 結論

通過CATIA批量測量同一文件夾中的CATPart實例驗證,可以看出使用VBA代碼自動化測量并輸出結果相對手工測量及復制粘貼方法,簡化操作步驟,使用更加便捷快速,證明了CATIA二次開發的實用性與高效性。結果表明,CATIA二次開發可以進一步提高工作效率,減少重復操作,可以精確管理零件重量。下一步的研究方向是在裝配體中對所有單件進行質量測量并寫入自定義屬性中,同時對所有層級的裝配體重量進行卷積求和。

[1] 胡挺,吳立軍.CATIA二次開發技術基礎[M].北京:電子工業出版社,2006.

[2] 林卓然.VB語言程序設計(第3版)[M].北京:電子工業出版社, 2012.

[3] 劉薇娜,賈帥帥.基于CATIA二次開發的非標準件參數化設計[J].自動化技術與應用,2017,36(7):43-46.

[4] 彭歡.基于V5 Automation的CATIA二次開發技術研究[J].電子機械工程, 2012,28(2):61-64.

[5] 周桂生,陸文龍.CATIA二次開發技術研究與應用[J].機械設計與制造,2010(1):81-83.

Application of CATIA Secondary Development Based on VB 6.0 in Part Measurement

Liang Feng, Zhong Jianqiang, Luo Peifeng, Chen Dong

( Automotive Engineering Research Institute of Guangzhou Automobile Group Co., Ltd., Guangdong Guangzhou 511434 )

Aiming at the weight control in the development of automobile body, in order to improve the traditional inefficient phenomenon of manual measurement and statistics of single weight, the program automatic measurement method of single weight is given. Based on the introduction of VB programming language and CATIA secondary development theory, the basic process of program automatic measurement is given. Using VB6.0 automation API to call the built-in function getmeasurable, batch measurement of parts is realized and written into EXCEL table to provide the basis for subsequent data processing.It is proved that the CATIA batch automatic measurement is superior to the traditional manual measurement through the example verification. The results show that CATIA secondary development can improve the work efficiency.

VB;CATIA;Secondary development;Volume measurement; Weight measurement; Measurement output

10.16638/j.cnki.1671-7988.2021.02.013

U463.82

A

1671-7988(2021)02-38-04

U463.82

A

1671-7988(2021)02-38-04

梁鋒,白車身責任工程師,就職于廣州汽車集團股份有限公司汽車工程研究院。

猜你喜歡
二次開發測量
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
把握四個“三” 測量變簡單
西門子Operate高級編程的旋轉坐標系二次開發
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
滑動摩擦力的測量和計算
滑動摩擦力的測量與計算
測量的樂趣
測量
Micaps3.2 版本二次開發入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
ANSYS Workbench二次開發在汽車穩定桿CAE分析中的應用
汽車零部件(2014年5期)2014-11-11 12:24:32
主站蜘蛛池模板: 一级全免费视频播放| 老司机精品99在线播放| 国产在线视频自拍| 久久精品视频一| 国模沟沟一区二区三区| 亚洲天堂视频网站| 91国语视频| 国产一区二区网站| 日韩免费成人| 亚洲av日韩av制服丝袜| 中文字幕无码制服中字| 香蕉色综合| 日韩精品中文字幕一区三区| 久久青青草原亚洲av无码| 中文字幕va| 国产乱人伦偷精品视频AAA| 91小视频在线观看| 久久这里只有精品免费| 无遮挡国产高潮视频免费观看| 少妇高潮惨叫久久久久久| 视频二区欧美| 国产剧情无码视频在线观看| 亚洲精品成人7777在线观看| 三区在线视频| 亚洲午夜片| 成人午夜网址| 五月婷婷综合网| 色视频久久| 漂亮人妻被中出中文字幕久久 | 国产精品.com| 久青草国产高清在线视频| 99无码熟妇丰满人妻啪啪| 男人的天堂久久精品激情| 人人爽人人爽人人片| 极品国产在线| 久久这里只精品国产99热8| 日本人真淫视频一区二区三区| 精品福利国产| 欲色天天综合网| 日韩毛片免费观看| 玖玖精品视频在线观看| 久久精品中文字幕免费| 日本人又色又爽的视频| 国产日韩精品欧美一区灰| 99热这里只有精品5| 无码区日韩专区免费系列 | 青青国产成人免费精品视频| 国产尤物视频在线| 美女国产在线| 欧美一级专区免费大片| 亚洲Av综合日韩精品久久久| 高清久久精品亚洲日韩Av| 欧美一级黄色影院| 国产女人在线| 999福利激情视频| 久久男人视频| 波多野结衣无码中文字幕在线观看一区二区| 国产一区成人| 永久天堂网Av| 一级毛片免费不卡在线| 日韩亚洲综合在线| 97在线公开视频| 狠狠色香婷婷久久亚洲精品| 91在线国内在线播放老师| 国产内射一区亚洲| 天天色天天综合| 午夜一级做a爰片久久毛片| 国产精品原创不卡在线| 亚洲国产天堂久久九九九| 四虎国产在线观看| 美女无遮挡被啪啪到高潮免费| 小说 亚洲 无码 精品| 国产视频一二三区| 国产一级特黄aa级特黄裸毛片| 国产综合欧美| 日韩免费成人| 国产亚卅精品无码| 三上悠亚精品二区在线观看| 欧洲日本亚洲中文字幕| 国产精品永久久久久| 台湾AV国片精品女同性| 国产精品亚洲综合久久小说|