AutoCAD與PDM信息集成技術(shù)方案的研究和實現(xiàn)

2013-05-10  by:廣州有限元分析、培訓中心-1CAE.COM  來源:仿真在線

通過對Auto CAD的二次開發(fā)技術(shù)分析,闡述采用Auto CAD VBA等軟件,設(shè)計開發(fā)Auto CAD與數(shù)據(jù)庫之間的接口技術(shù)及數(shù)據(jù)傳遞的方式和手段,重點研究應(yīng)用VBA實現(xiàn)CAD與PDM信息集成的技術(shù)方案,為實現(xiàn)CAD/CAPP/PDM /ERP(或MRP II)信息集成打下了基礎(chǔ)。

目前很多企業(yè)使用各種軟件系統(tǒng),以實現(xiàn)產(chǎn)品設(shè)計、工藝設(shè)計、生產(chǎn)計劃、加工制造、供應(yīng)管理、銷售管理和質(zhì)量管理等環(huán)節(jié)的計算機網(wǎng)絡(luò)信息鏈的先進管理。但是如何在這些產(chǎn)品設(shè)計(CAD)、工藝設(shè)計(CAPP)與產(chǎn)品數(shù)據(jù)管理(PDM)、企業(yè)資源計劃(ERP)等軟件平臺之間實現(xiàn)信息集成,一直是企業(yè)構(gòu)建全面信息化管理系統(tǒng)所關(guān)心的核心問題。

    1 Auto CAD開發(fā)技術(shù)基礎(chǔ)

許多制造企業(yè)使用了Auto CAD作為輔助設(shè)計的主導(dǎo)軟件,如何進一步發(fā)揮Auto CAD的功能,建立與數(shù)據(jù)庫之間的數(shù)據(jù)傳遞關(guān)系,使之與產(chǎn)品設(shè)計有關(guān)的數(shù)據(jù)信息能為PDM系統(tǒng)方便、快捷、準確地獲得,是Auto CAD系統(tǒng)高級開發(fā)的重要任務(wù)。

    1.1 Auto CAD編程接口

Auto CAD提供了應(yīng)用程序編程接口(API),開發(fā)人員可用此接口控制圖形和數(shù)據(jù)庫。所使用的接口類型由應(yīng)用程序的需要決定。

1)ActiveX Automation:是Microsoft基于部件對象模型(COM)體系結(jié)構(gòu)開發(fā)的一項技術(shù)。可以用來自定義Auto CAD,與其他應(yīng)用程序共享圖形數(shù)據(jù)并自動完成任務(wù)。

2)Auto CAD VBA:是一個基于對象的編程環(huán)境,能提供豐富的開發(fā)功能。VBA和VB(Visual Basic 6)的主要區(qū)別在于:VBA與Auto CAD在同一進程空間運行,提供具有Auto CAD智能的、快速的編程環(huán)境。

3)Auto LISP和Visual LISP:是基于功能強大的LISP的編程語言。由于Auto CAD內(nèi)置了LISP解釋器,可以在命令行中輸入Auto LISP代碼,或從外部文件中加載Auto LISP代碼。VISual LISP(VLISP)是為加速Auto LISP程序開發(fā)而設(shè)計的軟件工具。

在Auto CAD中使用ActiveX接口具有下列兩個優(yōu)點:(1)可以在多種編程環(huán)境中編程訪問Auto CAD圖形。在ActiveX Automation出現(xiàn)之前,開發(fā)者只能用Auto LISP或C++接口訪問Auto CAD圖形。(2)更易于與其他Windows應(yīng)用程序(例如Microsoft Excel和Microsoft Word)共享數(shù)據(jù)。

1.2 用Auto CAD VBA開發(fā)程序

VBA通過Auto CAD、ActiveX Automation接口向Auto CAD發(fā)送信息。Auto CAD VBA允許Visual Bas.ic環(huán)境與Auto CAD同時運行,并通過ActiveX Auto—mation接口提供對Auto CAD的編程控制。這樣就把Auto CAD、ActiveX Automation和VBA緊密連結(jié)在一起,提供一個非常強大的接口。它不僅能控制AutoCAD對象,也能向其他應(yīng)用程序發(fā)送數(shù)據(jù)或從中提取數(shù)據(jù)。

把VBA集成到Auto CAD,為自定義Auto CAD提供了一種易于使用的可視化T具。例如,用戶可以創(chuàng)建一個應(yīng)用程序,用于自動提取屬性信息,把結(jié)果直接插入Excel電子數(shù)據(jù)表或其他數(shù)據(jù)庫中,可執(zhí)行所需的任意數(shù)據(jù)轉(zhuǎn)換。

事實上Auto CAD具有非常完善的二次開發(fā)功能,它提供了應(yīng)用程序編程接口(API),多種應(yīng)用程序可通過該接口控制圖形和數(shù)據(jù)庫,并可從用作Auto.mation 控制程序的任何應(yīng)用程序中創(chuàng)建和操縱AutoCAD對象。Automation使編制跨應(yīng)用程序執(zhí)行的宏成為現(xiàn)實。

1.3 產(chǎn)品零/部件編碼的設(shè)計

實現(xiàn)對產(chǎn)品及零/部件信息準確、方便識別的編碼處理,是實現(xiàn)CAD與PDM信息集成的基礎(chǔ)。產(chǎn)品零件編碼設(shè)計原則應(yīng)使編碼有利于PDM生成產(chǎn)品的各種BOM,便于CAPP等系統(tǒng)繼承設(shè)計數(shù)據(jù),引導(dǎo)生產(chǎn)計劃和生產(chǎn)制造。

因此,零/部件編碼既要考慮便于工程人員理解和使用,符合規(guī)范,又要充分、準確地描述PDM所要求的信息。對要求反映產(chǎn)品結(jié)構(gòu)邏輯關(guān)系的,應(yīng)該采用樹式結(jié)構(gòu),它反映產(chǎn)品的邏輯隸屬關(guān)系,可以自動集成CAD與PDM產(chǎn)品信息的零/部件編碼。而對于生成各種物料清單(BOM)的影部件編碼,則應(yīng)結(jié)合成組技術(shù),采用分類編碼方式。代碼的結(jié)構(gòu)一般采用鏈式與樹式的混合結(jié)構(gòu)。

在CAD與PDM信息集成的系統(tǒng)中,要求產(chǎn)品影部件編碼既要有反映產(chǎn)品邏輯結(jié)構(gòu)的信息,又要有反映零部件特征的信息。這樣的產(chǎn)品編碼位數(shù)較多,而不同的用途僅需要編碼的部分位數(shù)信息。為方便使用,可以將零/部件編碼拆分成兩個編碼項,一項是零/部件邏輯關(guān)系編碼,即代號編碼,另一項是零/部件幾何物理特性編碼,即特征編碼。代號編碼采用樹式結(jié)構(gòu)(分級結(jié)構(gòu)),而特征編碼采用鏈式與樹式的混合結(jié)構(gòu)。無論是代號編碼還是特征編碼,都應(yīng)采用分段編碼的方式。同一零/部件兩種編碼是一對一的關(guān)聯(lián)。不同的企業(yè)應(yīng)該根據(jù)自身的實際需要來制定產(chǎn)品編碼規(guī)則,也可以借鑒國內(nèi)外通用的編碼標準資料,并結(jié)合成組技術(shù)(GT)來完成產(chǎn)品設(shè)計編碼。

1.4 圖形和數(shù)據(jù)庫信息交換

Auto CAD圖形與數(shù)據(jù)庫之間數(shù)據(jù)交換是實現(xiàn)Auto CAD與PDM系統(tǒng)信息集成的前提。Auto CAD圖形與數(shù)據(jù)庫之間的數(shù)據(jù)交換可以有兩種形式:一種是屬性鏈接方式;一種是新數(shù)據(jù)鏈接方式,即建立鏈接樣板。對于Auto CAD與PDM系統(tǒng)的集成要求而言,實現(xiàn)設(shè)計圖樣中諸如標題欄、明細欄等有關(guān)數(shù)據(jù)自動傳遞至Auto CAD系統(tǒng)之外的數(shù)據(jù)庫系統(tǒng)之中,盡量不再需要人為地二次建立數(shù)據(jù)庫和輸入數(shù)據(jù)。鑒于上述原因,采用屬性鏈接方式更為靈活便利,符合工程設(shè)計人員的要求。

1)Auto CAD與數(shù)據(jù)庫鏈接:Auto CAD內(nèi)嵌VBA開發(fā)環(huán)境,通過編程操作Automation對象,實現(xiàn)對Auto CAD的操作,VBA工程中的宏(macro)與Auto CAD其他操作在同一進程中完成對圖形的操作。與此同時VBA可以與VB一樣跨應(yīng)用程序操作數(shù)據(jù)庫系統(tǒng),通過配置DB Engine數(shù)據(jù)庫引擎(Jet),實現(xiàn)數(shù)據(jù)庫鏈接操作。

2)屬性定義與提取:創(chuàng)建標題欄、明細欄圖形塊(BLOCK),將零/部件代號、編碼、名稱和材料等信息設(shè)定為相應(yīng)圖塊的屬性值。屬性定義和屬性提取均由VBA程序創(chuàng)建,過程如下:

(1)屬性定義:完成屬性圖形塊創(chuàng)建,包含標題欄、明細欄所有信息的屬性設(shè)定。

(2)標題欄、明細欄信息添加:實現(xiàn)屬性圖塊調(diào)用,屬性值添加,圖塊插入等操作。

(3)數(shù)據(jù)庫操作:自動創(chuàng)建數(shù)據(jù)庫文件,建立數(shù)據(jù)表、數(shù)據(jù)字段,并在新記錄添加過程中對數(shù)據(jù)庫、表以及對應(yīng)記錄進行判別和反饋,防止記錄重復(fù)和遺漏。

(4)屬性提取:取出命名圖塊的各項屬性值,添加至數(shù)據(jù)庫,成為數(shù)據(jù)表中的對應(yīng)記錄。

2 產(chǎn)品設(shè)計圖中基本設(shè)計信息數(shù)據(jù)庫的創(chuàng)建

通過對產(chǎn)品及其影部件等基本設(shè)計信息的處理,能夠體現(xiàn)m組成產(chǎn)品的各項基本狀況。1)體現(xiàn)產(chǎn)品邏輯結(jié)構(gòu)——產(chǎn)品結(jié)構(gòu)樹。一個產(chǎn)品及其零/部件的代號編碼可以建立產(chǎn)品結(jié)構(gòu)的樹狀結(jié)構(gòu)的邏輯組成。它是PDM的重要內(nèi)容。2)體現(xiàn)整個產(chǎn)品所有材料的組成、零/部件種類和數(shù)量,即材料清單(BOM)。3)體現(xiàn)設(shè)計簽名、設(shè)計審批等資料信息的管理,為產(chǎn)品設(shè)計管理提供設(shè)計流程信息。4)體現(xiàn)工藝設(shè)計信息。與CAPP信息集成,為計算機輔助工藝設(shè)計提供了可直接利用的基礎(chǔ)設(shè)計信息。

總之,產(chǎn)品基本設(shè)計信息數(shù)據(jù)庫的自動建立,為PDM和CAPP提供了信息集成的基礎(chǔ)數(shù)據(jù)庫,是CAD/CAPP/PDM信息集成的重要環(huán)節(jié)。

2.1標題欄、明細欄詹眭圖塊的建立

1)創(chuàng)建圖塊:制作標題欄、明細欄圖塊可以采用交互式繪圖的方式,也可以采用編程的方式實現(xiàn)。

2)屬性定義:標題欄圖塊定義的屬性值有零件代號、零件名稱、零件編碼、材料、總量、繪圖比例與圖幅信息,還有用于設(shè)計批簽的設(shè)計員與日期、審核員與日期、工藝審核與日期、標準化與日期和批準與日期。明細欄定義的屬性值有代號、名稱、材料、數(shù)量和屬性。

3)輸出塊圖形文件:定義好的屬性圖塊應(yīng)作為全局塊輸出圖形文件,并將其保存于特定的路徑與文件夾。

2.2產(chǎn)品設(shè)計圖中編輯標題欄與明細欄

產(chǎn)品圖樣設(shè)計過程中要編輯標題欄、明細欄信息,這一過程就是圖形文件的屬性添加過程。添加屬性的方法有多種多樣,如何以最合適的方式進行編輯、符合工程設(shè)計人員的操作習慣等要求都是保證數(shù)據(jù)正確性必須考慮的兇素。Auto CAD VBA是面向?qū)ο蟮某绦蛟O(shè)計技術(shù),可以通過運行VBA窗體模塊程序,完成對標題欄與明細欄的屬性添加工作。

2.3標題欄、明細欄信息數(shù)據(jù)提取與建庫

圖檔中標題欄、明細欄屬性的提取有兩種方式,一種是在編輯標題欄、明細欄的同時,將其屬性值添加到數(shù)據(jù)表的記錄中,如果修改標題欄或明細表,那么程序同時修改數(shù)據(jù)表記錄;另一種是標題欄、明細表編輯完成后,執(zhí)行便利圖檔中插入的具有特定名稱的圖塊,將屬性一一取出,追加至數(shù)據(jù)庫中。

3 通過VBA應(yīng)用程序?qū)崿F(xiàn)數(shù)據(jù)交換和信息集成

Auto CAD VBA工程是在VBA集成開發(fā)環(huán)境(VBA IDE)下創(chuàng)建編輯的。VBA工程可以是內(nèi)嵌VBA工程,也可以是獨立的全局VBA工程。全局VBA工程具有比較多的功能,可以在Auto CAD圖形中運行,也可以在工程中打開和關(guān)閉Auto CAD圖形。全局工程比較容易和其他用戶共享,而且可以制作共享的宏資源庫,當使用VBA開發(fā)通用應(yīng)用程序時,應(yīng)將其保存為全局工程。全局工程不會自動加載,必須單獨加載該丁程,才能執(zhí)行其中的宏。

Auto CAD VBA工程可以采用Auto CAD界面菜單或命令(VBALOAD)方式加載,也可以采用通過編程控制方式加載。比較通用的方式是制作啟動菜單文件,利用菜單控制加載各種VBA應(yīng)用程序,并執(zhí)行VBA工程中的宏。創(chuàng)建和編輯下拉菜單群組,通??梢岳肁uto LISP語言編輯原Auto CAD文件,也可以采用VBA開發(fā)新的菜單群組文件,并將VBA工程中的宏在Auto CAD啟動時自動運行即可。

4 結(jié)語

Auto CAD VBA作為Auto CAD的二次開發(fā)工具,可以與Auto CAD圖形操作同進程運行,通過ActiveXAutomation可以操縱幾乎所有Auto CAD對象。同時它具有大多數(shù)的VB語言功能,可以操縱各種數(shù)據(jù)庫軟件,進行數(shù)據(jù)庫編程操作,從而能夠在Auto CAD系統(tǒng)中跨應(yīng)用程序操作數(shù)據(jù)庫,與數(shù)據(jù)庫進行數(shù)據(jù)交換。同時VBA與Auto LISP程序設(shè)計語言結(jié)合運用使得開發(fā)Auto CAD與PDM集成接口變得更加便捷。這種集成Auto CAD與PDM的開發(fā)方式是實現(xiàn)企業(yè)信息化系統(tǒng)技術(shù)集成的有效模式,非常適用于中小型機械制造企業(yè)信息化系統(tǒng)的開發(fā)實現(xiàn)。


開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學成才

相關(guān)標簽搜索:AutoCAD與PDM信息集成技術(shù)方案的研究和實現(xiàn) AutoCAD培訓 AutoCAD培訓課程 AutoCAD圖紙設(shè)計 AutoCAD在線視頻 AutoCAD技術(shù)學習教程 AutoCAD軟件教程 AutoCAD資料下載 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 Abaqus培訓 Autoform培訓 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復(fù)電話,謝謝!
驗證碼

全國服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com