摘要:機械設計的效率問題越來越受到人們的重視,為了提高設計效率,AutoCAD已成為機械等眾多設計的首選工具。雖然電腦制圖體現出了無與倫比的優越性,但隨著技術的發展,還有很多的效率提升空間。對專門的設計應用開發設計輔助系統將徹底改變普通的制圖方式,實現制圖的自動化,從而進一步提高設計效率。斜管濃縮機主要用于含有固體微粒漿體的濃縮、澄清及分離,已廣泛應用于環保、冶金、礦山、電力、化工等部門。該設備從設計需求信息的收集到制圖實現都有一定的模式,存在規律,但具體制圖過程也同樣復雜,所以非常適合于進行一次二次開發來使設計準備過程智能化,制圖具體過程簡單化。
關鍵詞:AutoCAD;VBA;對象模型;模型空間
中圖法分類號:TP391文獻標識碼:A 文章編號: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是美國Autodesk公司的產品,是當今世界最為流行的計算機輔助設計軟件之一,廣泛應用于機械、建筑、電子、工程等領域。它如此風靡的原因除了具有各種強大的繪圖及編輯功能、友好的用戶界面、易于操作之外,還在于它所具有的開放式結構(Open Architecture),使得通過對AutoCAD進行二次開發來完成各類設計工作變得更加容易。
AutoCAD的二次開發有許多平臺,從最早的AutoLISP到ADS(AutoCAD Development System)、Object ARX、VBA等開發平臺。這些開發平臺各有利弊,本文意在展示此項目所采用的VBA平臺在項目開發中的優越性。
1 本文研究目的和主要研究內容
該項目來源于高效斜管濃縮機的設計圖紙,經過了解后得知這種設備的設計根據實際需要具有一定的規律,其總體形狀不變,可以通過AutoCAD的二次開發來簡化和自動化整個制圖過程。
該設備主要用于含有固體微粒漿體的濃縮、澄清及分離,已廣泛應用于冶金、礦山、電力、化工等部門。如選煤廠浮選入料和尾煤的濃縮;選礦廠精礦濃縮、尾礦脫水;污水處理廠的去粗濃縮等。在這種淺槽型濃縮設備中,顆粒沉降距離短,固液分離速度快,與同類型的其它濃縮設備比較,單位面積處理量大。因此這種設備需求量也不斷增加,為其量身定做一個輔助設計系統也存在其必要性。
通過此項目的實踐,不單是完成這種產品的輔助設計,并且同類產品的輔助設計也可以采用此種模式。一旦完成這種一勞永逸的工作,對機械設計制圖人員來說將會大大的提高其工作效率,因此具有很好的前景。
2 模塊的概念及系統中模塊的總體介紹
模塊的概念很籠統,在VBA平臺中指的是工程內的某個模塊,這個模塊具有全局性,存在其中的變量和方法都能被整個工程中的窗體或者模塊所調用。宏可以存在于模塊中,所以它們與模塊中存在的關系以及它們和窗體之間的關系如圖1。
3 對象模型(Object Model)
對象是 AutoCAD ActiveX 接口的主要構造塊。 每一個顯露的對象均精確代表一個 AutoCAD 組件。 AutoCAD ActiveX 接口中有許多不同類型的對象。對象按照分層結構來組織,其根是 Application 對象。 這種層次結構的視圖稱為“對象模型”。
整個對象模型是由眾多集合及對象組成,是龐大的,圖2將列出本項目中用到的對象及集合的關系視圖。
4 圖紙的總體布局
當運行完本插件模塊時將得到一張完整的高效斜管濃縮機的設計圖,此圖分為四個主要部分:設備頂面視圖、設備A-A剖面、設備B-B剖面、設備的明細欄和圖紙標題欄部分。如圖3。
在圖紙中共有七個層共同組織成整個設計圖:0層、框架層、斜管層、主管層、斜管支架層、溢流管圓孔層、標注層、中心線層。它們的具體情況如圖4關系圖(顏色表示它們在圖紙中的顏色)。
5 圖紙的具體實現
在第二章中介紹了系統中的模塊和窗體,圖紙中的對象和布局就是通過窗體調用模塊中的方法和窗體自身的私有方法實現的。
5.1 布局實現方法
圖紙的布局是通過靜態和動態兩個方法來實現的,在圖紙中左下角的設備主視圖的左下角點是固定的一個三維點(5600,2900,0),A-A剖面的左上角點也是一個固定的三維點(5600,25650,0),B-B剖面的左上角點也是一個固定的三維點(24010,25650,0)。其余的點是通過用戶選定的參數經過計算而獲得相對位移點。之所以采用這種方法,是因為可以肯定根據單位時間入料量、入料流速和單位面積處理量的選擇范圍這三個剖面之間的間隔已足夠,不會發生剖面之間重疊而且也不影響美觀。
由于此工程設計設備圖紙時采用的是1:1的實際比例(機械制圖中一般都采用此比例),即此設備有多大就生成多大的圖紙,因此我們擔心事先選定的圖幅比例和圖框是否會不適和整個設備,發生重疊或者太大等等情況。為此本工程設計了一個清屏的函數用來清除圖層0上的現有的圖框和標題欄,從而重新加入適合的圖框和標題欄。
5.2 斜管的特殊實現
斜管在斜管濃縮機中是核心部件,但其實它不像字面意思一樣是指一根根管子,而是一塊塊帶有凹槽的薄板拼接組成。斜管板的剖面形狀如下圖所示(兩張板拼接就可以得到六角形的管):
■
圖5 斜管剖面
由斜管板組成斜管后就形成了設備的核心部件斜管沉降區,在濃縮機的上部,設置斜管沉降區,在斜管內沉降下來的固體顆粒在重力作用下,沿斜管壁下滑,通過緩沖區,落到集泥區。這就實現了此設備的作用。
在設計圖紙的過程當中,由于斜管板很薄,而且間隔很小。所以在模型空間中不可能按照剖面的實際情況一根根實現,而是選擇AutoCAD中的陣列。
6 結束語
VBA(Visual Basic for Application)出現得較晚,使用時又必須內置于應用程序。然而,VBA很好地繼承了Basic和Visual Basic易學、易用的特點,而且具備了最新的開發技術和強大的開發功能,VBA提供了高質量的用戶化編程能力,能夠使得AutoCAD數據與其它VBA應用程序直接共享,如Microsoft Office 97軟件。最重要的是VBA的加入,擴展了AutoCAD集成用戶化工具的能力(集成了AutoLISP、Visual LISP和ObjectARX API等工具),為訪問AutoCAD軟件的多種技術框架提供了新的選擇和新的開放機會,可以按所需求的工作方式進行應用程序的用戶化,也可以從戰略上考慮開發基于AutoCAD的應用程序。此外,VBA的對話框構件快速、高效,開發者可以快速地定制程序原型和得到設計信息地及時反饋;其工程也可以單獨存在,也可以嵌入在圖形中,這給開發者在發行應用程序時以極大的靈活性;并且,強化了AutoCAD與數據庫的通訊能力。
雖然VBA在系統開發級方面的功能不及ARX。但VBA是除系統級開發工具以外,最好和最有前途的應用級開發工具,適用于專業和非專業的開發人員,具有十分廣闊的應用前景,所以在此輔助設計的應用項目中采用VBA作為開發平臺。
參考文獻:
[1] 張帆.AutoCAD VBA二次開發教程[M].北京:清華大學出版社,2006:137-139.
[2] CAD技術網站“明經通道” [EB/OL].http://www.mjtd.com.
[3] AutoCAD INC.ActiveX和VBA開發人員手冊[EB/OL].[2006-03].http://www.yhcad.com/Article/ShowInfo.asp?InfoID=40.