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

2013-05-10  by:廣州有限元分析、培訓(xùn)中心-www.br5w05v.cn  來源:仿真在線

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

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

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

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

    1.1 Auto CAD編程接口

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

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

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

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

在Auto CAD中使用ActiveX接口具有下列兩個(gè)優(yōu)點(diǎn):(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同時(shí)運(yùn)行,并通過ActiveX Auto—mation接口提供對(duì)Auto CAD的編程控制。這樣就把Auto CAD、ActiveX Automation和VBA緊密連結(jié)在一起,提供一個(gè)非常強(qiáng)大的接口。它不僅能控制AutoCAD對(duì)象,也能向其他應(yīng)用程序發(fā)送數(shù)據(jù)或從中提取數(shù)據(jù)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.1標(biāo)題欄、明細(xì)欄詹眭圖塊的建立

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

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

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

2.2產(chǎn)品設(shè)計(jì)圖中編輯標(biāo)題欄與明細(xì)欄

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

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

圖檔中標(biāo)題欄、明細(xì)欄屬性的提取有兩種方式,一種是在編輯標(biāo)題欄、明細(xì)欄的同時(shí),將其屬性值添加到數(shù)據(jù)表的記錄中,如果修改標(biāo)題欄或明細(xì)表,那么程序同時(shí)修改數(shù)據(jù)表記錄;另一種是標(biāo)題欄、明細(xì)表編輯完成后,執(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工程,也可以是獨(dú)立的全局VBA工程。全局VBA工程具有比較多的功能,可以在Auto CAD圖形中運(yùn)行,也可以在工程中打開和關(guān)閉Auto CAD圖形。全局工程比較容易和其他用戶共享,而且可以制作共享的宏資源庫,當(dāng)使用VBA開發(fā)通用應(yīng)用程序時(shí),應(yīng)將其保存為全局工程。全局工程不會(huì)自動(dòng)加載,必須單獨(dú)加載該丁程,才能執(zhí)行其中的宏。

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

4 結(jié)語

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


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

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

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

全國服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號(hào)金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點(diǎn)擊咨詢 點(diǎn)擊咨詢
項(xiàng)目QQ咨詢:點(diǎn)擊咨詢
email:kf@www.br5w05v.cn