基于VB的AutoCAD明細表自動生成軟件設計
為了提高裝配圖中明細表信息輸入的準確性和高效性,采用VB 和ActiveX 作為開發工具對AutoCAD 進行二次開發。分析了以逐行方式、多行方式和讀取數據庫BOM 方式生成明細表的實現原理。論述了獲取明細表插入基點坐標、明細表表頭繪制和明細表表格繪制等關鍵技術。在此基礎上,運用VB 和SQL Server 設計并開發了AutoCAD 明細表自動生成軟件。通過實例演示表明,該軟件能夠驅動AutoCAD 快速準確的繪制出用戶所要求的明細表,實現了軟件對明細表的自動填寫和修改,從而消除了手工輸入帶來的高出錯率,使設計更加高效準確。
1、引言
AutoCAD 是目前應用最為廣泛的通用交互式二維繪圖軟件。采用AutoCAD 繪制機械產品裝配圖時,繪制明細表表格并填寫文本內容是必不可少的工作之一。當產品結構較復雜、零部件較多時,繪制明細表的工作量非常大。目前國內絕大多數用戶仍采用手工繪制方式,非常繁瑣且容易出錯,靈活適應性相對較差,而且漢字輸入占有很大比重,漢字的輸入定位,單調繁瑣,極易出錯。國內廣大學者對此進行了大量的研究與應用,取得了一些成果。AutoCAD 在2010 版本之后也增加了生產明細表的功能模塊,但是使用起來非常不方便。在VB 環境下利用ActiveX 技術開發了明細表自動生成軟件,設計人員可以利用該軟件實現明細表表格的自動繪制和單元格文本內容的自動填充,也可以從數據庫BOM 中將所需的數據添加到AutoCAD 圖紙中,既提高了圖紙的繪制速度,又保證了圖紙文本數據的規范性。
2、明細表自動生成原理
2.1、逐行方式生成明細表
2.1.1、原理概述
逐行繪制是一種最基本的生成明細表方式,在該模式下,用戶每次只能輸入一行明細數據,并在圖紙中相應的繪制一行表格內容。如此反復多次,便可繪制出完整的明細表。其技術路線分為五個步驟:
(1)VB 環境下啟動AutoCAD;
(2)繪制明細表表頭;
(3)輸入明細表單元格文本內容;
(4) 繪制明細表邊框線條并填充內容;
(5)存儲到數據庫。
2.1.2、獲取明細表插入基點坐標
根據我國國標規定,明細表的位置應該在標題欄的上方(必要時可以放置在左側),所以,明細表表頭的插入點位置可以選取為標題欄的左上角點(記作P 點,如圖2 所示),稱為明細表基點。但是,運用AutoCAD 繪制圖紙時,對于坐標系原點與圖紙幅面的位置關系并沒有統一標準,所以在實際繪制的圖紙中,基點P 的坐標(xp,yp)因圖紙不同而異。因此,在插入明細表表頭時,必須先獲取基點P 的實際坐標。
4、結論
軟件應用VB 與ActiveX 技術對AutoCAD 進行了二次開發,實現了基于AutoCAD 的明細表自動繪制與填充。軟件運行平穩,連接可靠,用戶界面良好,使用快捷方便,達到了預期目的。軟件特點:
(1)提供了三種不同方法用于生成明細表,方便用戶根據需求進行選擇;
(2)提供了明細表內容的查詢修改功能,可方便的實現明細表的編輯;
(3)實現了繪圖基點坐標的自動推算,簡化了操作。