AutoCAD與PDM信息集成技術方案的研究和實現
2013-05-10 by:廣州有限元分析、培訓中心-1CAE.COM 來源:仿真在線
通過對Auto CAD的二次開發技術分析,闡述采用Auto CAD VBA等軟件,設計開發Auto CAD與數據庫之間的接口技術及數據傳遞的方式和手段,重點研究應用VBA實現CAD與PDM信息集成的技術方案,為實現CAD/CAPP/PDM /ERP(或MRP II)信息集成打下了基礎。
目前很多企業使用各種軟件系統,以實現產品設計、工藝設計、生產計劃、加工制造、供應管理、銷售管理和質量管理等環節的計算機網絡信息鏈的先進管理。但是如何在這些產品設計(CAD)、工藝設計(CAPP)與產品數據管理(PDM)、企業資源計劃(ERP)等軟件平臺之間實現信息集成,一直是企業構建全面信息化管理系統所關心的核心問題。
1 Auto CAD開發技術基礎
許多制造企業使用了Auto CAD作為輔助設計的主導軟件,如何進一步發揮Auto CAD的功能,建立與數據庫之間的數據傳遞關系,使之與產品設計有關的數據信息能為PDM系統方便、快捷、準確地獲得,是Auto CAD系統高級開發的重要任務。
1.1 Auto CAD編程接口
Auto CAD提供了應用程序編程接口(API),開發人員可用此接口控制圖形和數據庫。所使用的接口類型由應用程序的需要決定。
1)ActiveX Automation:是Microsoft基于部件對象模型(COM)體系結構開發的一項技術。可以用來自定義Auto CAD,與其他應用程序共享圖形數據并自動完成任務。
2)Auto CAD VBA:是一個基于對象的編程環境,能提供豐富的開發功能。VBA和VB(Visual Basic 6)的主要區別在于:VBA與Auto CAD在同一進程空間運行,提供具有Auto CAD智能的、快速的編程環境。
3)Auto LISP和Visual LISP:是基于功能強大的LISP的編程語言。由于Auto CAD內置了LISP解釋器,可以在命令行中輸入Auto LISP代碼,或從外部文件中加載Auto LISP代碼。VISual LISP(VLISP)是為加速Auto LISP程序開發而設計的軟件工具。
在Auto CAD中使用ActiveX接口具有下列兩個優點:(1)可以在多種編程環境中編程訪問Auto CAD圖形。在ActiveX Automation出現之前,開發者只能用Auto LISP或C++接口訪問Auto CAD圖形。(2)更易于與其他Windows應用程序(例如Microsoft Excel和Microsoft Word)共享數據。
1.2 用Auto CAD VBA開發程序
VBA通過Auto CAD、ActiveX Automation接口向Auto CAD發送信息。Auto CAD VBA允許Visual Bas.ic環境與Auto CAD同時運行,并通過ActiveX Auto—mation接口提供對Auto CAD的編程控制。這樣就把Auto CAD、ActiveX Automation和VBA緊密連結在一起,提供一個非常強大的接口。它不僅能控制AutoCAD對象,也能向其他應用程序發送數據或從中提取數據。
把VBA集成到Auto CAD,為自定義Auto CAD提供了一種易于使用的可視化T具。例如,用戶可以創建一個應用程序,用于自動提取屬性信息,把結果直接插入Excel電子數據表或其他數據庫中,可執行所需的任意數據轉換。
事實上Auto CAD具有非常完善的二次開發功能,它提供了應用程序編程接口(API),多種應用程序可通過該接口控制圖形和數據庫,并可從用作Auto.mation 控制程序的任何應用程序中創建和操縱AutoCAD對象。Automation使編制跨應用程序執行的宏成為現實。
1.3 產品零/部件編碼的設計
實現對產品及零/部件信息準確、方便識別的編碼處理,是實現CAD與PDM信息集成的基礎。產品零件編碼設計原則應使編碼有利于PDM生成產品的各種BOM,便于CAPP等系統繼承設計數據,引導生產計劃和生產制造。
因此,零/部件編碼既要考慮便于工程人員理解和使用,符合規范,又要充分、準確地描述PDM所要求的信息。對要求反映產品結構邏輯關系的,應該采用樹式結構,它反映產品的邏輯隸屬關系,可以自動集成CAD與PDM產品信息的零/部件編碼。而對于生成各種物料清單(BOM)的影部件編碼,則應結合成組技術,采用分類編碼方式。代碼的結構一般采用鏈式與樹式的混合結構。
在CAD與PDM信息集成的系統中,要求產品影部件編碼既要有反映產品邏輯結構的信息,又要有反映零部件特征的信息。這樣的產品編碼位數較多,而不同的用途僅需要編碼的部分位數信息。為方便使用,可以將零/部件編碼拆分成兩個編碼項,一項是零/部件邏輯關系編碼,即代號編碼,另一項是零/部件幾何物理特性編碼,即特征編碼。代號編碼采用樹式結構(分級結構),而特征編碼采用鏈式與樹式的混合結構。無論是代號編碼還是特征編碼,都應采用分段編碼的方式。同一零/部件兩種編碼是一對一的關聯。不同的企業應該根據自身的實際需要來制定產品編碼規則,也可以借鑒國內外通用的編碼標準資料,并結合成組技術(GT)來完成產品設計編碼。
1.4 圖形和數據庫信息交換
Auto CAD圖形與數據庫之間數據交換是實現Auto CAD與PDM系統信息集成的前提。Auto CAD圖形與數據庫之間的數據交換可以有兩種形式:一種是屬性鏈接方式;一種是新數據鏈接方式,即建立鏈接樣板。對于Auto CAD與PDM系統的集成要求而言,實現設計圖樣中諸如標題欄、明細欄等有關數據自動傳遞至Auto CAD系統之外的數據庫系統之中,盡量不再需要人為地二次建立數據庫和輸入數據。鑒于上述原因,采用屬性鏈接方式更為靈活便利,符合工程設計人員的要求。
1)Auto CAD與數據庫鏈接:Auto CAD內嵌VBA開發環境,通過編程操作Automation對象,實現對Auto CAD的操作,VBA工程中的宏(macro)與Auto CAD其他操作在同一進程中完成對圖形的操作。與此同時VBA可以與VB一樣跨應用程序操作數據庫系統,通過配置DB Engine數據庫引擎(Jet),實現數據庫鏈接操作。
2)屬性定義與提取:創建標題欄、明細欄圖形塊(BLOCK),將零/部件代號、編碼、名稱和材料等信息設定為相應圖塊的屬性值。屬性定義和屬性提取均由VBA程序創建,過程如下:
(1)屬性定義:完成屬性圖形塊創建,包含標題欄、明細欄所有信息的屬性設定。
(2)標題欄、明細欄信息添加:實現屬性圖塊調用,屬性值添加,圖塊插入等操作。
(3)數據庫操作:自動創建數據庫文件,建立數據表、數據字段,并在新記錄添加過程中對數據庫、表以及對應記錄進行判別和反饋,防止記錄重復和遺漏。
(4)屬性提取:取出命名圖塊的各項屬性值,添加至數據庫,成為數據表中的對應記錄。
2 產品設計圖中基本設計信息數據庫的創建
通過對產品及其影部件等基本設計信息的處理,能夠體現m組成產品的各項基本狀況。1)體現產品邏輯結構——產品結構樹。一個產品及其零/部件的代號編碼可以建立產品結構的樹狀結構的邏輯組成。它是PDM的重要內容。2)體現整個產品所有材料的組成、零/部件種類和數量,即材料清單(BOM)。3)體現設計簽名、設計審批等資料信息的管理,為產品設計管理提供設計流程信息。4)體現工藝設計信息。與CAPP信息集成,為計算機輔助工藝設計提供了可直接利用的基礎設計信息。
總之,產品基本設計信息數據庫的自動建立,為PDM和CAPP提供了信息集成的基礎數據庫,是CAD/CAPP/PDM信息集成的重要環節。
2.1標題欄、明細欄詹眭圖塊的建立
1)創建圖塊:制作標題欄、明細欄圖塊可以采用交互式繪圖的方式,也可以采用編程的方式實現。
2)屬性定義:標題欄圖塊定義的屬性值有零件代號、零件名稱、零件編碼、材料、總量、繪圖比例與圖幅信息,還有用于設計批簽的設計員與日期、審核員與日期、工藝審核與日期、標準化與日期和批準與日期。明細欄定義的屬性值有代號、名稱、材料、數量和屬性。
3)輸出塊圖形文件:定義好的屬性圖塊應作為全局塊輸出圖形文件,并將其保存于特定的路徑與文件夾。
2.2產品設計圖中編輯標題欄與明細欄
產品圖樣設計過程中要編輯標題欄、明細欄信息,這一過程就是圖形文件的屬性添加過程。添加屬性的方法有多種多樣,如何以最合適的方式進行編輯、符合工程設計人員的操作習慣等要求都是保證數據正確性必須考慮的兇素。Auto CAD VBA是面向對象的程序設計技術,可以通過運行VBA窗體模塊程序,完成對標題欄與明細欄的屬性添加工作。
2.3標題欄、明細欄信息數據提取與建庫
圖檔中標題欄、明細欄屬性的提取有兩種方式,一種是在編輯標題欄、明細欄的同時,將其屬性值添加到數據表的記錄中,如果修改標題欄或明細表,那么程序同時修改數據表記錄;另一種是標題欄、明細表編輯完成后,執行便利圖檔中插入的具有特定名稱的圖塊,將屬性一一取出,追加至數據庫中。
3 通過VBA應用程序實現數據交換和信息集成
Auto CAD VBA工程是在VBA集成開發環境(VBA IDE)下創建編輯的。VBA工程可以是內嵌VBA工程,也可以是獨立的全局VBA工程。全局VBA工程具有比較多的功能,可以在Auto CAD圖形中運行,也可以在工程中打開和關閉Auto CAD圖形。全局工程比較容易和其他用戶共享,而且可以制作共享的宏資源庫,當使用VBA開發通用應用程序時,應將其保存為全局工程。全局工程不會自動加載,必須單獨加載該丁程,才能執行其中的宏。
Auto CAD VBA工程可以采用Auto CAD界面菜單或命令(VBALOAD)方式加載,也可以采用通過編程控制方式加載。比較通用的方式是制作啟動菜單文件,利用菜單控制加載各種VBA應用程序,并執行VBA工程中的宏。創建和編輯下拉菜單群組,通常可以利用Auto LISP語言編輯原Auto CAD文件,也可以采用VBA開發新的菜單群組文件,并將VBA工程中的宏在Auto CAD啟動時自動運行即可。
4 結語
Auto CAD VBA作為Auto CAD的二次開發工具,可以與Auto CAD圖形操作同進程運行,通過ActiveXAutomation可以操縱幾乎所有Auto CAD對象。同時它具有大多數的VB語言功能,可以操縱各種數據庫軟件,進行數據庫編程操作,從而能夠在Auto CAD系統中跨應用程序操作數據庫,與數據庫進行數據交換。同時VBA與Auto LISP程序設計語言結合運用使得開發Auto CAD與PDM集成接口變得更加便捷。這種集成Auto CAD與PDM的開發方式是實現企業信息化系統技術集成的有效模式,非常適用于中小型機械制造企業信息化系統的開發實現。
相關標簽搜索:AutoCAD與PDM信息集成技術方案的研究和實現 AutoCAD培訓 AutoCAD培訓課程 AutoCAD圖紙設計 AutoCAD在線視頻 AutoCAD技術學習教程 AutoCAD軟件教程 AutoCAD資料下載 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 Abaqus培訓 Autoform培訓