摘要:機(jī)械設(shè)計(jì)的效率問題越來越受到人們的重視,為了提高設(shè)計(jì)效率,AutoCAD已成為機(jī)械等眾多設(shè)計(jì)的首選工具。雖然電腦制圖體現(xiàn)出了無與倫比的優(yōu)越性,但隨著技術(shù)的發(fā)展,還有很多的效率提升空間。對(duì)專門的設(shè)計(jì)應(yīng)用開發(fā)設(shè)計(jì)輔助系統(tǒng)將徹底改變普通的制圖方式,實(shí)現(xiàn)制圖的自動(dòng)化,從而進(jìn)一步提高設(shè)計(jì)效率。斜管濃縮機(jī)主要用于含有固體微粒漿體的濃縮、澄清及分離,已廣泛應(yīng)用于環(huán)保、冶金、礦山、電力、化工等部門。該設(shè)備從設(shè)計(jì)需求信息的收集到制圖實(shí)現(xiàn)都有一定的模式,存在規(guī)律,但具體制圖過程也同樣復(fù)雜,所以非常適合于進(jìn)行一次二次開發(fā)來使設(shè)計(jì)準(zhǔn)備過程智能化,制圖具體過程簡(jiǎn)單化。
關(guān)鍵詞:AutoCAD;VBA;對(duì)象模型;模型空間
中圖法分類號(hào):TP391文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2008)28-0209-02
The Implementation of the Slant-tube Thickener Assistant Design Based on AutoCAD
HUANG Chen-qu
(College of Software Engineering,Southeast University,Nanjing 210096,China)
Abstract: The efficiency of machine design become more and more important, to improve our design efficiency, AutoCAD has become people's favorite tool to finish their designs, like machine design. Although drawing by computer represents a lot of advantages, with the development of the computer technology, we can improve our design efficiency to a new level. To develop an assistant system for special design application will change the normal way of drawing, and the automatic drawing can be achieved, then the efficiency can be improved again. Slant-tube thickener is mainly used to condense、clear and separate the slurry contain solid particulate substance, and is wildly used in environment protect、metallurgy、mine、electric and chemistry industry. There have some rules from the collection of useful information used to design to the realization of the design, but the particular process of a design is still complex, so it is fit for a second development to make the prepare process of a design more intelligent and the particulate drawing process more simple.
Key words: AutoCAD; VBA; object model; modelspace
AutoCAD是美國(guó)Autodesk公司的產(chǎn)品,是當(dāng)今世界最為流行的計(jì)算機(jī)輔助設(shè)計(jì)軟件之一,廣泛應(yīng)用于機(jī)械、建筑、電子、工程等領(lǐng)域。它如此風(fēng)靡的原因除了具有各種強(qiáng)大的繪圖及編輯功能、友好的用戶界面、易于操作之外,還在于它所具有的開放式結(jié)構(gòu)(Open Architecture),使得通過對(duì)AutoCAD進(jìn)行二次開發(fā)來完成各類設(shè)計(jì)工作變得更加容易。
AutoCAD的二次開發(fā)有許多平臺(tái),從最早的AutoLISP到ADS(AutoCAD Development System)、Object ARX、VBA等開發(fā)平臺(tái)。這些開發(fā)平臺(tái)各有利弊,本文意在展示此項(xiàng)目所采用的VBA平臺(tái)在項(xiàng)目開發(fā)中的優(yōu)越性。
1 本文研究目的和主要研究?jī)?nèi)容
該項(xiàng)目來源于高效斜管濃縮機(jī)的設(shè)計(jì)圖紙,經(jīng)過了解后得知這種設(shè)備的設(shè)計(jì)根據(jù)實(shí)際需要具有一定的規(guī)律,其總體形狀不變,可以通過AutoCAD的二次開發(fā)來簡(jiǎn)化和自動(dòng)化整個(gè)制圖過程。
該設(shè)備主要用于含有固體微粒漿體的濃縮、澄清及分離,已廣泛應(yīng)用于冶金、礦山、電力、化工等部門。如選煤廠浮選入料和尾煤的濃縮;選礦廠精礦濃縮、尾礦脫水;污水處理廠的去粗濃縮等。在這種淺槽型濃縮設(shè)備中,顆粒沉降距離短,固液分離速度快,與同類型的其它濃縮設(shè)備比較,單位面積處理量大。因此這種設(shè)備需求量也不斷增加,為其量身定做一個(gè)輔助設(shè)計(jì)系統(tǒng)也存在其必要性。
通過此項(xiàng)目的實(shí)踐,不單是完成這種產(chǎn)品的輔助設(shè)計(jì),并且同類產(chǎn)品的輔助設(shè)計(jì)也可以采用此種模式。一旦完成這種一勞永逸的工作,對(duì)機(jī)械設(shè)計(jì)制圖人員來說將會(huì)大大的提高其工作效率,因此具有很好的前景。
2 模塊的概念及系統(tǒng)中模塊的總體介紹
模塊的概念很籠統(tǒng),在VBA平臺(tái)中指的是工程內(nèi)的某個(gè)模塊,這個(gè)模塊具有全局性,存在其中的變量和方法都能被整個(gè)工程中的窗體或者模塊所調(diào)用。宏可以存在于模塊中,所以它們與模塊中存在的關(guān)系以及它們和窗體之間的關(guān)系如圖1。
3 對(duì)象模型(Object Model)
對(duì)象是 AutoCAD ActiveX 接口的主要構(gòu)造塊。 每一個(gè)顯露的對(duì)象均精確代表一個(gè) AutoCAD 組件。 AutoCAD ActiveX 接口中有許多不同類型的對(duì)象。對(duì)象按照分層結(jié)構(gòu)來組織,其根是 Application 對(duì)象。 這種層次結(jié)構(gòu)的視圖稱為“對(duì)象模型”。
整個(gè)對(duì)象模型是由眾多集合及對(duì)象組成,是龐大的,圖2將列出本項(xiàng)目中用到的對(duì)象及集合的關(guān)系視圖。
4 圖紙的總體布局
當(dāng)運(yùn)行完本插件模塊時(shí)將得到一張完整的高效斜管濃縮機(jī)的設(shè)計(jì)圖,此圖分為四個(gè)主要部分:設(shè)備頂面視圖、設(shè)備A-A剖面、設(shè)備B-B剖面、設(shè)備的明細(xì)欄和圖紙標(biāo)題欄部分。如圖3。
在圖紙中共有七個(gè)層共同組織成整個(gè)設(shè)計(jì)圖:0層、框架層、斜管層、主管層、斜管支架層、溢流管圓孔層、標(biāo)注層、中心線層。它們的具體情況如圖4關(guān)系圖(顏色表示它們?cè)趫D紙中的顏色)。
5 圖紙的具體實(shí)現(xiàn)
在第二章中介紹了系統(tǒng)中的模塊和窗體,圖紙中的對(duì)象和布局就是通過窗體調(diào)用模塊中的方法和窗體自身的私有方法實(shí)現(xiàn)的。
5.1 布局實(shí)現(xiàn)方法
圖紙的布局是通過靜態(tài)和動(dòng)態(tài)兩個(gè)方法來實(shí)現(xiàn)的,在圖紙中左下角的設(shè)備主視圖的左下角點(diǎn)是固定的一個(gè)三維點(diǎn)(5600,2900,0),A-A剖面的左上角點(diǎn)也是一個(gè)固定的三維點(diǎn)(5600,25650,0),B-B剖面的左上角點(diǎn)也是一個(gè)固定的三維點(diǎn)(24010,25650,0)。其余的點(diǎn)是通過用戶選定的參數(shù)經(jīng)過計(jì)算而獲得相對(duì)位移點(diǎn)。之所以采用這種方法,是因?yàn)榭梢钥隙ǜ鶕?jù)單位時(shí)間入料量、入料流速和單位面積處理量的選擇范圍這三個(gè)剖面之間的間隔已足夠,不會(huì)發(fā)生剖面之間重疊而且也不影響美觀。
由于此工程設(shè)計(jì)設(shè)備圖紙時(shí)采用的是1:1的實(shí)際比例(機(jī)械制圖中一般都采用此比例),即此設(shè)備有多大就生成多大的圖紙,因此我們擔(dān)心事先選定的圖幅比例和圖框是否會(huì)不適和整個(gè)設(shè)備,發(fā)生重疊或者太大等等情況。為此本工程設(shè)計(jì)了一個(gè)清屏的函數(shù)用來清除圖層0上的現(xiàn)有的圖框和標(biāo)題欄,從而重新加入適合的圖框和標(biāo)題欄。
5.2 斜管的特殊實(shí)現(xiàn)
斜管在斜管濃縮機(jī)中是核心部件,但其實(shí)它不像字面意思一樣是指一根根管子,而是一塊塊帶有凹槽的薄板拼接組成。斜管板的剖面形狀如下圖所示(兩張板拼接就可以得到六角形的管):
■
圖5 斜管剖面
由斜管板組成斜管后就形成了設(shè)備的核心部件斜管沉降區(qū),在濃縮機(jī)的上部,設(shè)置斜管沉降區(qū),在斜管內(nèi)沉降下來的固體顆粒在重力作用下,沿斜管壁下滑,通過緩沖區(qū),落到集泥區(qū)。這就實(shí)現(xiàn)了此設(shè)備的作用。
在設(shè)計(jì)圖紙的過程當(dāng)中,由于斜管板很薄,而且間隔很小。所以在模型空間中不可能按照剖面的實(shí)際情況一根根實(shí)現(xiàn),而是選擇AutoCAD中的陣列。
6 結(jié)束語
VBA(Visual Basic for Application)出現(xiàn)得較晚,使用時(shí)又必須內(nèi)置于應(yīng)用程序。然而,VBA很好地繼承了Basic和Visual Basic易學(xué)、易用的特點(diǎn),而且具備了最新的開發(fā)技術(shù)和強(qiáng)大的開發(fā)功能,VBA提供了高質(zhì)量的用戶化編程能力,能夠使得AutoCAD數(shù)據(jù)與其它VBA應(yīng)用程序直接共享,如Microsoft Office 97軟件。最重要的是VBA的加入,擴(kuò)展了AutoCAD集成用戶化工具的能力(集成了AutoLISP、Visual LISP和ObjectARX API等工具),為訪問AutoCAD軟件的多種技術(shù)框架提供了新的選擇和新的開放機(jī)會(huì),可以按所需求的工作方式進(jìn)行應(yīng)用程序的用戶化,也可以從戰(zhàn)略上考慮開發(fā)基于AutoCAD的應(yīng)用程序。此外,VBA的對(duì)話框構(gòu)件快速、高效,開發(fā)者可以快速地定制程序原型和得到設(shè)計(jì)信息地及時(shí)反饋;其工程也可以單獨(dú)存在,也可以嵌入在圖形中,這給開發(fā)者在發(fā)行應(yīng)用程序時(shí)以極大的靈活性;并且,強(qiáng)化了AutoCAD與數(shù)據(jù)庫的通訊能力。
雖然VBA在系統(tǒng)開發(fā)級(jí)方面的功能不及ARX。但VBA是除系統(tǒng)級(jí)開發(fā)工具以外,最好和最有前途的應(yīng)用級(jí)開發(fā)工具,適用于專業(yè)和非專業(yè)的開發(fā)人員,具有十分廣闊的應(yīng)用前景,所以在此輔助設(shè)計(jì)的應(yīng)用項(xiàng)目中采用VBA作為開發(fā)平臺(tái)。
參考文獻(xiàn):
[1] 張帆.AutoCAD VBA二次開發(fā)教程[M].北京:清華大學(xué)出版社,2006:137-139.
[2] CAD技術(shù)網(wǎng)站“明經(jīng)通道” [EB/OL].http://www.mjtd.com.
[3] AutoCAD INC.ActiveX和VBA開發(fā)人員手冊(cè)[EB/OL].[2006-03].http://www.yhcad.com/Article/ShowInfo.asp?InfoID=40.