国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CATIA宏的零件屬性自動(dòng)添加方法研究

2012-05-08 04:41宋瑜郝泳濤
電腦知識(shí)與技術(shù) 2012年7期

宋瑜 郝泳濤

摘要:宏(Macro)是為了實(shí)現(xiàn)多任務(wù)執(zhí)行的自動(dòng)化而組合在一起的一系列的命令和指令。該文引入宏這一概念,并通過編程自定義宏來實(shí)現(xiàn)對(duì)零件屬性的自動(dòng)添加?;诤甑母拍睿撐奶岢鲆环N基于CATIA宏的零件屬性自動(dòng)添加方法。該方法可以替代傳統(tǒng)手動(dòng)添加的方法,提高生產(chǎn)效率。

關(guān)鍵詞:宏(Macro);CATIA;屬性添加

中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)07-1659-03

The Methodology of Automatic Attachment of Attributions in Part Designing Based on CATIA Macros

SONG Yu, HAO Yong-tao

(CAD Research Center of Tongji University, Shanghai 201804, China)

Abstract: Macro is the combination of a series of commands and instructions, which are aimed at automation of executions of multitask. In this paper, the conception of macro is introduced and used to achieve the attribution attachment of parts by programming the custom macros. Based on the macro, a methodology of automatic attachment of attributions in part designing is proposed, which can replace the traditional and improve the efficiency.

Key words: Macro; CATIA; attribution attachment

隨著計(jì)算機(jī)和數(shù)字控制技術(shù)的發(fā)展,計(jì)算機(jī)輔助設(shè)計(jì)及制造(CAD/CAM)已經(jīng)廣泛應(yīng)用于產(chǎn)品設(shè)計(jì)和機(jī)械制造領(lǐng)域中。運(yùn)用此法進(jìn)行零件的設(shè)計(jì)和加工制造,能使企業(yè)提高設(shè)計(jì)質(zhì)量,縮短生產(chǎn)周期,降低產(chǎn)品成本,取得良好的經(jīng)濟(jì)效益[2],CATIA給用戶提供了從設(shè)計(jì)到制造的集成化數(shù)字環(huán)境,能夠滿足用戶從設(shè)計(jì)到制造的復(fù)雜需求。

CATIA首次從工作站平臺(tái)移植到個(gè)人計(jì)算機(jī)強(qiáng)力震撼CAD/CAM市場[1],由于它具有超強(qiáng)的知識(shí)工程和專家系統(tǒng)的功能,以及個(gè)性化的界面、智能型的功能操作,廣泛應(yīng)用于航天和汽車行業(yè)。

在汽車設(shè)計(jì)過程中,零件的許多自定義屬性需要人為添加,但是汽車的零件數(shù)量龐大,類型眾多,單獨(dú)人工添加工作效率極低。本文作者討論CATIA在Windows環(huán)境下的基于宏的自動(dòng)添加零件屬性,以便于后期提取BOM表。

以下文章中首先介紹CATIA中宏的定義和屬性的添加,再以上海大眾BOM表開發(fā)項(xiàng)目,來驗(yàn)證基于CATIA宏的自動(dòng)添加零件屬性的可行性。

1宏的定義

宏(Macro)是為了實(shí)現(xiàn)多任務(wù)執(zhí)行的自動(dòng)化而組合在一起的一系列的命令和指令。宏可以用下列幾種腳本語言編寫,具體則取決于操作系統(tǒng),如BasicScript 2.2 SDK適用于Unix系統(tǒng);如VBScript(Visual Basic的腳本語言)則適用于Windows NT系統(tǒng);又如Jscript(JavaScript的一種應(yīng)用)也適用于Windows NT系統(tǒng)[1]。

編程訪問CATIA對(duì)象有如下兩種方法:一種是進(jìn)程內(nèi)的,另一種是進(jìn)程外的,本文所介紹的零件屬性提取的程序采用的是進(jìn)程內(nèi)編程訪問CATIA對(duì)象方法,進(jìn)程內(nèi)的宏腳本可以兼容Unix和windows平臺(tái),本文程序開發(fā)采用VBScript腳本類型,運(yùn)行方式為從宏列表對(duì)話框中運(yùn)行[2]。

2創(chuàng)建宏與運(yùn)行宏

2.1創(chuàng)建宏

宏可用在各種軟件之上,并且在其中的創(chuàng)建和運(yùn)行過程大體類似。這里重點(diǎn)介紹宏在CATIA中的創(chuàng)建與運(yùn)行過程。

創(chuàng)建過程:首先運(yùn)行CATIA軟件,新建一個(gè)文件,然后進(jìn)入菜單項(xiàng)中的“Tools”,打開子菜單Macro下的Macros(或用快捷鍵AIt+ F8),此時(shí)出現(xiàn)一個(gè)窗口,如圖1所示。

點(diǎn)擊“創(chuàng)建”按鈕,在宏名稱下的編輯框中命名一個(gè)宏的名稱,如“宏2”。然后點(diǎn)擊“確定”按鈕,此時(shí)就打開了宏編輯器窗口,如圖2所示。

圖1宏命令打開窗口

圖2宏編輯器窗口

然后在此窗口的文本框內(nèi)輸入宏的代碼并且保存,該宏就創(chuàng)建完成了。

2.2運(yùn)行宏

首先選擇需要運(yùn)行的宏,由于宏既可保存于內(nèi)部文件,也可保存于外部文件,所以首先在宏窗口的左下角的下拉框中選擇是內(nèi)部文件還是外部文件;如果是內(nèi)部文件,則在宏窗口的文本框中會(huì)顯示已創(chuàng)建的一系列宏,選擇需要的宏,按下Run按鈕,宏結(jié)果就可顯示于窗口內(nèi);如果是外部文件,則選擇宏窗口左側(cè)的Select按鈕,選擇宏所在的文件目錄,按下Run按鈕,同樣,宏結(jié)果也顯示于

窗口內(nèi)[1]。

3宏在CATIA中的應(yīng)用

在汽車零件設(shè)計(jì)中,我們經(jīng)常要給零件添加若干自定義屬性,以方便后期BOM便提取,這是一件極其繁重的任務(wù),經(jīng)常用到的零件自定義屬性如表1:

表1

本文采用的CATIA版本為V5R19,以下所有的論述和程序均是在此版本上編寫和運(yùn)行的。按照前一章節(jié)所述創(chuàng)建屬性方法,在宏中添加如下代碼:

Sub TreeIt(sPath)

……

For Each oSubFolder In oSubFolders //對(duì)目錄進(jìn)行遍歷直至找到CATIA文件

……

Next

For Each oFile In oFiles

……

For Each product1 in products //開始添加零件自定義屬性count = count + 1

Set parameters1 = product1.ReferenceProduct.UserRefProperties

Set strParam1 = parameters1.CreateString("件號(hào)", "")

strParam1.ValuateFromString ""

Set parameters2 = product1.ReferenceProduct.UserRefProperties

Set strParam2 = parameters2.CreateString("名稱", "")

strParam2.ValuateFromString ""

Set parameters3 = product1.ReferenceProduct.UserRefProperties

Set strParam3 = parameters3.CreateString("材料", "")

strParam3.ValuateFromString ""

Set parameters4 = product1.ReferenceProduct.UserRefProperties

Set strParam4 = parameters4.CreateString("規(guī)格型號(hào)", "")

strParam4.ValuateFromString ""

Set parameters5 = product1.ReferenceProduct.UserRefProperties

Set strParam5 = parameters5.CreateString("主要尺寸", "")

strParam5.ValuateFromString ""

Set parameters6 = product1.ReferenceProduct.UserRefProperties

Set strParam6 = parameters6.CreateString("備注", "")

strParam6.ValuateFromString ""

Set parameters7 = product1.ReferenceProduct.UserRefProperties

Set strParam7 = parameters7.CreateString("類型", "")

……

Set parameters8 = product1.ReferenceProduct.UserRefProperties

Set dimension1 = parameters8.CreateString("重量", "")

dimension1.ValuateFromString ""

If count=1 then

Set relations1 = product.Relations

Set formula1 = relations1.CreateFormula("公式.1", "", strParam2, "`零件編號(hào)`") f

ormula1.Rename "公式.1"

End If

Next

……

End Sub

Sub CATMain()

Dim vInput

vInput = InputBox("選擇工作目錄","目錄") If vInput <> -1 and vInput <> "" Then

TreeIt vInput//調(diào)用上面TreeIt子函數(shù)

End If

End Sub

然后保存并運(yùn)行,便能實(shí)現(xiàn)對(duì)零件自動(dòng)添加屬性的功能。

4結(jié)束語

上述代碼是核心代碼,由于本項(xiàng)目涉及到其余實(shí)現(xiàn)目標(biāo),在此不詳細(xì)列出。從以上案例可以看出基于CATIA宏的零件自定義屬性自動(dòng)添加是完全可行的。此法省去了眾多重復(fù)的手工操作,縮短了汽車設(shè)計(jì)周期。由此可見,宏的使用可以加快產(chǎn)品設(shè)計(jì)研發(fā)周期,提升工作效率。隨著CATIA功能的不斷增強(qiáng)以及CATIA應(yīng)用范圍的不斷擴(kuò)大,宏作為一種必不可少的輔助功能,將不斷拓展CATIA的功能。

參考文獻(xiàn):

[1]曾貞群.在CATIA中運(yùn)用宏處理大量數(shù)據(jù)[J].CAD/CAM與制造業(yè)信息化,2003(6).

[2]蔡艷召,孔憲光,仇原鷹,張建麗.CATIA刀具庫的建立技術(shù)研究[J].機(jī)床與液壓,2008,36(4).