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

        ?

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

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

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

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

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

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

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

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

        前言

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

        1 理論介紹

        1.1 VB 6.0編程語言

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

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

        1.2 CATIA V5 Automation

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

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

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

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

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

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

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

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

        2.1 使用CATIA自帶測量命令

        圖3 CATIA自帶測量工具

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

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

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

        圖4 VBA代碼測量基本流程

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

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

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

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

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

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

        首先將待處理對象放置于同一個文件夾內(nèi),然后打開該文件夾中的任意一個CATPart文檔,通過API訪問CATIA內(nèi)部對象,來獲取該文件所在文件夾路徑。獲取當(dāng)前打開的CATPart文檔的路徑,可以通過以下代碼實(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)題

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

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

        Set myWorkbook = myEXCEL.Workbooks.Add

        Set myWorksheet = myEXCEL.Sheets.Add

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

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

        myWorksheet.Range("C1").Value ="默認(rèn)測量密度(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)

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

        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 單一零件測量不輸出至EXCEL表格

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

        圖6 單一零件測量

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

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

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

        5 結(jié)論

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

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

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

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

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

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

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

        猜你喜歡
        二次開發(fā)測量
        淺談基于Revit平臺的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        把握四個“三” 測量變簡單
        西門子Operate高級編程的旋轉(zhuǎn)坐標(biāo)系二次開發(fā)
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        滑動摩擦力的測量和計算
        滑動摩擦力的測量與計算
        測量的樂趣
        測量
        Micaps3.2 版本二次開發(fā)入門淺析
        西藏科技(2015年12期)2015-09-26 12:13:51
        ANSYS Workbench二次開發(fā)在汽車穩(wěn)定桿CAE分析中的應(yīng)用
        汽車零部件(2014年5期)2014-11-11 12:24:32
        国产精品亚洲av无人区一区香蕉| 韩国无码精品人妻一区二| 蜜桃视频网站在线免费观看| 一区二区三区视频在线观看| 成在线人免费视频| 亚洲av色福利天堂| 中日韩字幕中文字幕一区| 国产精品亚洲一区二区三区16| 亚洲精品少妇30p| 亚洲欧美国产双大乳头| 国语精品视频在线观看不卡| h视频在线免费观看视频| 国产果冻豆传媒麻婆精东| 亚洲色无码播放| 亚洲av午夜成人片精品| 激情视频在线观看好大| 99久久久无码国产精品秋霞网| 蜜桃精品免费久久久久影院| AV中文码一区二区三区| 91一区二区三区在线观看视频| 无码人妻丰满熟妇区五十路| 精品久久久久久国产| 人妻少妇喷水意淫诱惑| 人妻制服丝袜中文字幕| 国产精品亚洲欧美大片在线看| caoporen国产91在线| 日本一区二区啪啪视频| 新婚人妻不戴套国产精品| 日韩a无v码在线播放| 国产精品乱子伦一区二区三区| 一区二区三区日本高清| 韩国三级中文字幕hd| 国产三级欧美| 久久精品国产福利亚洲av| 刺激一区仑乱| 久久国产成人午夜av影院| 日韩最新av一区二区| 日本最新一区二区三区视频观看| 无码精品a∨在线观看| 亚洲国产欧美久久香综合| 久久人妻中文字幕精品一区二区|