李成華,周盼盼
(中航工業(yè)成都飛機工業(yè)(集團)有限責(zé)任公司,成都 610092)
CATIA和ACCESS二次開發(fā)在提升項目管理效率中的應(yīng)用研究
李成華,周盼盼
(中航工業(yè)成都飛機工業(yè)(集團)有限責(zé)任公司,成都 610092)
基于CATIA,ACCCESS,Excel多種軟件聯(lián)合二次開發(fā)工具軟件,涉及項目管理中的CATIA結(jié)構(gòu)樹非幾何信息提取、工藝文件的管理。通過軟件的使用將項目管理過程中關(guān)鍵環(huán)節(jié)串聯(lián)為一個有機整體,改善以往項目管理中信息獲取困難和過程監(jiān)控不力的狀態(tài),優(yōu)化了工作流程,提高了項目管理效率。
項目管理;CATIA;ACCESS;二次開發(fā);信息提??;超鏈接;數(shù)據(jù)報表
航空制造業(yè)中的零件有其自身的特點,對比其他行業(yè)的零件存在材料特殊、結(jié)構(gòu)復(fù)雜、熱處理、表面處理類型多、質(zhì)量控制嚴苛、無損檢測過程多等特點;從批量上講,零件屬于單件小批量生產(chǎn),零件種類多。因此,航空制造業(yè)中的工藝項目管理存在數(shù)據(jù)量大,管理繁瑣的特點。
項目管理主要涉及兩方面的工作:一是全面把握設(shè)計端信息來源;二是有效解決制造端工藝文件管理。工藝技術(shù)部門依據(jù)設(shè)計的零件數(shù)模,編制制造大綱,完成零件的生產(chǎn)制造。飛機零件的設(shè)計基于CATIA平臺進行,零件相關(guān)的材料、熱處理、表面處理、無損檢測等非幾何信息都在存放在數(shù)模結(jié)構(gòu)樹中,因此,快速有效的獲取項目零件結(jié)構(gòu)樹信息為項目管理的第一步。
要完成零件制造,除了編制制造大綱之外,還有數(shù)控程序、刀具清單等機加配套文件;機加完成后還需協(xié)作單位進行熱處理、表面處理、無損檢測等過程;多單位協(xié)同工作將產(chǎn)生大量技術(shù)狀態(tài)協(xié)調(diào)的交接單、指示單。通常,一個機型項目相關(guān)的各種工藝文件總量上萬份。管理好這些工藝文件能夠監(jiān)控項目的執(zhí)行情況,減少現(xiàn)場問題的發(fā)生,從而提高項目管理效率。因此,工藝文件的有效管理為項目管理的第二步。
針對目前數(shù)據(jù)管理混亂,項目管理效率不高的現(xiàn)狀,對CATIA數(shù)模結(jié)構(gòu)樹信息自動提取、工藝文件的有效管理方面進行研究,基于CATIA、ACCESS、Excel聯(lián)合二次開發(fā)工具軟件來解決項目管理中的難點問題。
1.1信息輸出方式
目前CATIA數(shù)模信息的獲取是通過人工拷貝結(jié)構(gòu)樹上的信息,手動匯總形成項目總信息表。由于零件數(shù)量多、工作量大,造成數(shù)據(jù)維護困難,而且人工操作也容易出錯,可靠性差。為了改善現(xiàn)狀,通過CATIA二次開發(fā)提取零件結(jié)構(gòu)樹信息。CATIA結(jié)構(gòu)樹中非幾何信息如圖1所示。
圖1 CATIA結(jié)構(gòu)樹中非幾何信息
有研究針對裝配數(shù)模通過循環(huán)裝配數(shù)模下的零件數(shù)模,依次輸出零件的結(jié)構(gòu)樹信息[1~2]。但在實際工程中,零件分工通常按結(jié)構(gòu)特征分工,而不是以裝配關(guān)系整塊分工,因此,直接針對單個零件數(shù)模提取結(jié)構(gòu)樹信息的方式通用性更強。只需要將待提取信息的零件數(shù)模置于相同文件夾下面,以文件夾控制導(dǎo)出數(shù)據(jù)范圍,靈活性更強。
遍歷文件夾下面CATIA數(shù)模的核心偽代碼如下:
1.2程序工作流程
依據(jù)項目需求,采用VB對CATIA進行二次開發(fā)。軟件執(zhí)行流程如下:首先,打開一個零件項目,確定輸出信息類別;然后,遍歷項目包內(nèi)所有的零件名稱存入File數(shù)組,接著輸出所有零件中相應(yīng)類別下的數(shù)據(jù);最后,后臺運行Excel生成項目總信息表。流程圖如圖2所示,項目總信息報表如圖5左半部分所示。
圖2 CATIA提取結(jié)構(gòu)樹信息程序流程圖
2.1文件管理問題及解決思路
針對文件管理,很多文件審簽都走PDM系統(tǒng),PDM系統(tǒng)大而全,但是在具體針對項目文件管理方面還不夠靈活,因此有必要針對實際情況開發(fā)部門級應(yīng)用。
目前,項目文件管理雜亂無章、規(guī)范不一,總結(jié)起來主要存在兩個問題:第一,單人獨自管理與自己相關(guān)的文件,沒有信息共享;第二,工藝文件的名字不規(guī)范,文件命名依賴于人的偏好,同一種類型的文件,不同的人命名相差甚遠,外人無法通過文件名明確這個文件的主要內(nèi)容,阻礙協(xié)同工作中的交流。因此,要實現(xiàn)大量工藝文件的有效管理必須解決上述問題。
針對數(shù)據(jù)共享問題,現(xiàn)采用數(shù)據(jù)上傳服務(wù)器集中存儲,使每一個合法用戶都能通過客戶端訪問數(shù)據(jù),方便協(xié)同處理問題。針對命名不規(guī)范問題,現(xiàn)通過客戶端對上傳文件自動規(guī)范性重命名后上傳;上傳文件前會讓用戶選擇與該文件相關(guān)的信息,包括機型、圖號、文件類別、附加說明等,利用軟件強制規(guī)范文件命名格式。
2.2基于ACCESS平臺開發(fā)文件管理程序
1)ACCESS二次開發(fā)簡介[3]
ACCCESS是微軟把數(shù)據(jù)庫引擎(Microsoft JET database engine)的圖形用戶界面和軟件開發(fā)工具結(jié)合在一起的數(shù)據(jù)庫管理系統(tǒng)。MS ACCESS以它自己的格式將數(shù)據(jù)存于ACCESS JET的數(shù)據(jù)庫引擎里,它可以直接導(dǎo)入或者鏈接數(shù)據(jù)(這些數(shù)據(jù)存儲于其他應(yīng)用程序或數(shù)據(jù)庫)。
ACCESS除了具有存儲數(shù)據(jù)功能外,還具有強大的數(shù)據(jù)處理和開發(fā)軟件的能力?;贏CCESS開發(fā)軟件速度快,效率高和Excel互導(dǎo)數(shù)據(jù)方便。ACCESS的內(nèi)置開發(fā)語言為VBA。
2)程序?qū)懥鞒碳肮δ芨攀?/p>
客戶端主要功能是將工藝文件資料通過軟件自動化規(guī)范重命名后上傳服務(wù)器,除主要功能外,還具有刪除服務(wù)器上舊版本文件,查詢相關(guān)零件的所有相關(guān)工藝文件和導(dǎo)出機型相關(guān)文件總清單的功能。程序流程圖如圖3所示。
圖3 工藝文件管理平臺程序流程圖
程序通過超鏈接實現(xiàn)客戶端記錄與服務(wù)器上文件的鏈接,在客戶端查詢零件圖號后,程序后臺的搜索模塊會在服務(wù)器上相應(yīng)數(shù)據(jù)庫中檢索相關(guān)文件,匹配到和零件相關(guān)的工藝文件時,獲取該文件的名稱,地址信息,然后在客戶端生成超鏈接。除了直接通過超鏈接訪問文件外,還可以通過點擊記錄中的“下載”,將服務(wù)器端的文件下載至本機。程序主界面如圖4所示。
圖4 工藝文件管理平臺主界面
3)關(guān)鍵技術(shù)
通過對文件的重命名后提交服務(wù)器,獲取服務(wù)器端文件名和文件地址在前臺生成文件超鏈接。
核心功能偽代碼如下:
Private Sub FileSubmission()
'文件提交函數(shù)
Name OldName As NewName[3]
'更改文件名
Filecopy SourceFile,DestinationFile[3]
'將源文件上傳服務(wù)器
Dim rst As DAO.Recordset
StrSQL="select*from DataSheet1"
Ser rst=CurrentDb.OpenRecordset(strSQL,dbOpenDy naset)
'給記錄賦值
rst.AddNew'添加新記錄
rst.Fields!Hyperlink="DisplayText#FullAddress#"
'給超鏈接賦值
rst.Update'更新記錄
rst.Close'關(guān)閉記錄
Set rst=Nothing'釋放內(nèi)存
Me.Refresh'刷新窗體
End sub
4)Excel 輸出項目文件報表
鑒于Excel在數(shù)據(jù)透視和數(shù)據(jù)處理方面的強大功能[4],通過向Excel中寫入數(shù)據(jù),生成項目文件清單報表。
數(shù)據(jù)導(dǎo)出函數(shù)ExportDataToEXCEL核心偽代碼如下:
Private Sub ExportDataToEXCEL()'數(shù)據(jù)導(dǎo)出函數(shù)
Dim xlApp As Application
Dim xlbook As Workbook
Dim xlSheet As Worksheet
'獲取正在運行的excel程序
Set xlApp=GetObject(,"EXCEL.Application")
If xlApp Is Nothing Then
'新建一個excel程序
Set xlApp=CreateObject(,"EXCEL.Application")
End If
Set xlbook=xlApp.Workbooks.Add
Set xlSheet=xlbook.Worksheets(1)
'給EXCEL的"A1"單元格賦值
xlSheet.Cells(1,1)= "Data"
'詳細過程略
【】【】
The practical research of CATIA and ACCESS secondary development in promoting project management efficiency
LI Cheng-hua, ZHOU Pan-pan
TP311.56
A
1009-0134(2016)10-0123-04
2016-07-26
李成華(1989 -),男,重慶人,工程師,碩士研究生,研究方向為機械制造、加工工藝、企業(yè)管理信息化、CATIA及Access二次開發(fā)等。