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

基于VB 6.0的CATIA二次開(kāi)發(fā)在零件測(cè)量中的應(yīng)用

2021-02-06 15:00:58梁鋒鐘建強(qiáng)羅培鋒陳東
汽車(chē)實(shí)用技術(shù) 2021年2期
關(guān)鍵詞:二次開(kāi)發(fā)測(cè)量

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

基于VB 6.0的CATIA二次開(kāi)發(fā)在零件測(cè)量中的應(yīng)用

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

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

針對(duì)汽車(chē)車(chē)身開(kāi)發(fā)過(guò)程中重量管控,為改善單件重量手工測(cè)量統(tǒng)計(jì)的傳統(tǒng)低效現(xiàn)象,給出單件重量的程序自動(dòng)測(cè)量方法。在介紹VB編程語(yǔ)言及CATIA二次開(kāi)發(fā)理論的基礎(chǔ)上,給出程序自動(dòng)測(cè)量的基本流程,利用VB6.0 Automation API調(diào)用內(nèi)置函數(shù)GetMeasurable,實(shí)現(xiàn)零件的批量測(cè)量并寫(xiě)入EXCEL表格中為后續(xù)數(shù)據(jù)處理提供基礎(chǔ)。通過(guò)實(shí)例驗(yàn)證,證明了CATIA批量自動(dòng)測(cè)量相對(duì)傳統(tǒng)手工測(cè)量方法的優(yōu)越性。結(jié)果表明,CATIA二次開(kāi)發(fā)可以提高工作效率。

VB;CATIA;二次開(kāi)發(fā);體積測(cè)量;重量測(cè)量;測(cè)量輸出

前言

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

1 理論介紹

1.1 VB 6.0編程語(yǔ)言

VB6.0 是微軟公司開(kāi)發(fā)的面向?qū)ο蟮目梢暬幊坦ぞ摺B 以早期的Basic語(yǔ)言為基礎(chǔ),以可視化為主要特點(diǎn),采用面向?qū)ο蟆⑹录?qū)動(dòng)的編程機(jī)制[2]。VB 把Windows 編程的復(fù)雜性進(jìn)行了封裝,使用戶(hù)可以簡(jiǎn)單快速地開(kāi)發(fā)出Windows環(huán)境下的應(yīng)用程序。

CATIA 加入了ActiveX 自動(dòng)化服務(wù)功能,VB 是最為常用的支持ActiveX 技術(shù)的開(kāi)發(fā)工具之一。采用VB作為開(kāi)發(fā)工具進(jìn)行CATIA二次開(kāi)發(fā),可使CATIA與Windows 其它程序的數(shù)據(jù)共享變得更加容易[3]。

1.2 CATIA V5 Automation

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

1.3 CATIA 二次開(kāi)發(fā)流程

所謂CATIA二次開(kāi)發(fā),就是利用CATIA提供的API接口進(jìn)行程序設(shè)計(jì)開(kāi)發(fā),拓展CATIA軟件功能,實(shí)現(xiàn)軟件功能個(gè)性化和操作自動(dòng)化。二次開(kāi)發(fā)可以使軟件更好地為用戶(hù)服務(wù),對(duì)提高工作效率和產(chǎn)品質(zhì)量,節(jié)約研發(fā)成本和縮短開(kāi)發(fā)周期有著重要的作用[5]。

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

進(jìn)行CATIA二次開(kāi)發(fā),首先要了解CATIA V5 Automa -tion API 的基本架構(gòu),掌握常用對(duì)象的屬性和方法。CATIA V5 Automation 對(duì)象架構(gòu)如圖1所示。

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

圖2 CATIA二次開(kāi)發(fā)基本流程

2 CATIA零件使用VBA的測(cè)量方法

2.1 使用CATIA自帶測(cè)量命令

圖3 CATIA自帶測(cè)量工具

自帶測(cè)量命令的優(yōu)點(diǎn)是操作簡(jiǎn)單,直觀方便,測(cè)量結(jié)果即時(shí)顯示,無(wú)需其它特別操作,對(duì)于單一零件較為實(shí)用。但是也有缺點(diǎn),主要缺點(diǎn)是在重復(fù)測(cè)量時(shí),需逐個(gè)重復(fù)測(cè)量命令的操作。而且,在需要輸出體積或者重量用于后續(xù)處理時(shí),需逐個(gè)復(fù)制粘貼結(jié)果,效率低下。

2.2 使用VBA執(zhí)行測(cè)量命令

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

圖4 VBA代碼測(cè)量基本流程

3 VB 6.0環(huán)境下的CATIA二次開(kāi)發(fā)

3.1 零件測(cè)量并輸出結(jié)果的CATIA二次開(kāi)發(fā)主要流程

零件測(cè)量并輸出結(jié)果至EXCEL的CATIA二次開(kāi)發(fā)的主要流程如圖5所示。

圖5 零件測(cè)量并輸出結(jié)果至EXCEL的CATIA

二次開(kāi)發(fā)的主要流程

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

首先將待處理對(duì)象放置于同一個(gè)文件夾內(nèi),然后打開(kāi)該文件夾中的任意一個(gè)CATPart文檔,通過(guò)API訪問(wèn)CATIA內(nèi)部對(duì)象,來(lái)獲取該文件所在文件夾路徑。獲取當(dāng)前打開(kāi)的CATPart文檔的路徑,可以通過(guò)以下代碼實(shí)現(xiàn)。

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 調(diào)用EXCEL,并定義列標(biāo)題

通過(guò)調(diào)用EXCEL,通過(guò)自定義標(biāo)題用于存儲(chǔ)測(cè)量結(jié)果及其他信息。本案例主要列標(biāo)題有,零件號(hào)、體積、默認(rèn)的測(cè)量密度及默認(rèn)重量。

通過(guò)GetObject("EXCEL.Application")及CreateObject ("EXCEL.Application")代碼調(diào)用EXCEL程序。調(diào)用EXCEL程序后,通過(guò)以下代碼實(shí)現(xiàn)EXCEL表頭的設(shè)計(jì)。

Set myWorkbook = myEXCEL.Workbooks.Add

Set myWorksheet = myEXCEL.Sheets.Add

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

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

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

myWorksheet.Range("D1").Value = "默認(rèn)重量(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)

將測(cè)量結(jié)果及其他信息寫(xiě)入EXCEL表格,代碼如下。objpart.Name為零件號(hào),objMeasurable.Volume為體積,part Root.Density為默認(rèn)的測(cè)量密度。

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 實(shí)例驗(yàn)證

4.1 單一零件測(cè)量不輸出至EXCEL表格

打開(kāi)單一零件,并執(zhí)行代碼,即可等到體積及重量,如圖6所示。

圖6 單一零件測(cè)量

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

打開(kāi)目標(biāo)文件夾任意一個(gè)CATPart,執(zhí)行代碼。輸出如圖7所示表格。107個(gè)零件總大小456M,用時(shí)約4分鐘。

圖7 批量測(cè)量后輸出的表格

5 結(jié)論

通過(guò)CATIA批量測(cè)量同一文件夾中的CATPart實(shí)例驗(yàn)證,可以看出使用VBA代碼自動(dòng)化測(cè)量并輸出結(jié)果相對(duì)手工測(cè)量及復(fù)制粘貼方法,簡(jiǎn)化操作步驟,使用更加便捷快速,證明了CATIA二次開(kāi)發(fā)的實(shí)用性與高效性。結(jié)果表明,CATIA二次開(kāi)發(fā)可以進(jìn)一步提高工作效率,減少重復(fù)操作,可以精確管理零件重量。下一步的研究方向是在裝配體中對(duì)所有單件進(jìn)行質(zhì)量測(cè)量并寫(xiě)入自定義屬性中,同時(shí)對(duì)所有層級(jí)的裝配體重量進(jìn)行卷積求和。

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

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

[3] 劉薇娜,賈帥帥.基于CATIA二次開(kāi)發(fā)的非標(biāo)準(zhǔn)件參數(shù)化設(shè)計(jì)[J].自動(dòng)化技術(shù)與應(yīng)用,2017,36(7):43-46.

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

[5] 周桂生,陸文龍.CATIA二次開(kāi)發(fā)技術(shù)研究與應(yīng)用[J].機(jī)械設(shè)計(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

梁鋒,白車(chē)身責(zé)任工程師,就職于廣州汽車(chē)集團(tuán)股份有限公司汽車(chē)工程研究院。

猜你喜歡
二次開(kāi)發(fā)測(cè)量
淺談基于Revit平臺(tái)的二次開(kāi)發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
把握四個(gè)“三” 測(cè)量變簡(jiǎn)單
西門(mén)子Operate高級(jí)編程的旋轉(zhuǎn)坐標(biāo)系二次開(kāi)發(fā)
淺談Mastercam后處理器的二次開(kāi)發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
滑動(dòng)摩擦力的測(cè)量和計(jì)算
滑動(dòng)摩擦力的測(cè)量與計(jì)算
測(cè)量的樂(lè)趣
測(cè)量
Micaps3.2 版本二次開(kāi)發(fā)入門(mén)淺析
西藏科技(2015年12期)2015-09-26 12:13:51
ANSYS Workbench二次開(kāi)發(fā)在汽車(chē)穩(wěn)定桿CAE分析中的應(yīng)用
主站蜘蛛池模板: 亚洲精选高清无码| 久久久噜噜噜久久中文字幕色伊伊 | 国产欧美日韩另类精彩视频| 国产麻豆福利av在线播放| 青青草原偷拍视频| 成年人久久黄色网站| 秋霞午夜国产精品成人片| 免费国产不卡午夜福在线观看| 免费三A级毛片视频| 又黄又湿又爽的视频| 999精品视频在线| 99精品免费在线| 手机在线国产精品| 四虎成人在线视频| 日韩欧美国产中文| 毛片视频网| 日本不卡在线播放| 国产精品欧美在线观看| 亚洲欧美在线综合图区| 国产女人爽到高潮的免费视频| 国产乱人乱偷精品视频a人人澡| 天天视频在线91频| 成年人国产视频| 精品视频在线一区| 精品免费在线视频| 四虎国产精品永久一区| 欧美精品在线观看视频| 久青草网站| 亚洲精品天堂在线观看| AV不卡在线永久免费观看| 日韩在线永久免费播放| 亚洲精品第一在线观看视频| 久草视频精品| AV老司机AV天堂| 18禁高潮出水呻吟娇喘蜜芽| 亚洲精品无码AV电影在线播放| 色哟哟国产精品| 91伊人国产| 青青草综合网| 免费人成黄页在线观看国产| 亚洲人成影视在线观看| 在线播放国产一区| 亚洲婷婷六月| 亚洲av成人无码网站在线观看| 日韩高清成人| 欧美在线黄| 国产精品三级专区| 男女精品视频| 国产美女主播一级成人毛片| 日韩免费视频播播| 亚洲精品你懂的| 野花国产精品入口| 国产91小视频在线观看| 久久精品66| 国产幂在线无码精品| 五月天久久婷婷| 国产精品福利在线观看无码卡| 国产最新无码专区在线| yjizz视频最新网站在线| 日韩欧美高清视频| 国产成人亚洲精品无码电影| 熟女视频91| 亚洲综合在线网| 成人在线观看一区| 中文字幕无码中文字幕有码在线 | 国产福利一区二区在线观看| 欧美一级在线看| 免费网站成人亚洲| a级毛片免费网站| 久草视频精品| 国产在线97| 久久精品中文字幕少妇| 国产精品成人一区二区| 亚洲VA中文字幕| 人人看人人鲁狠狠高清| 久久精品人人做人人爽电影蜜月| 亚洲三级电影在线播放| 亚洲区欧美区| 成人午夜视频免费看欧美| 久久99国产乱子伦精品免| 亚洲综合久久成人AV| 97狠狠操|