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