叢日立 冀帥 安博
摘要:當前,隨著社會經(jīng)濟的發(fā)展,人們對于測繪的需求越來越多。雖然AutoCAD軟件的功能強大,但是在圖紙打印上,仍要花費大量的人力和時間。如何實現(xiàn)cAD批量打印,成為目前亟需解決的問題。文章分析7CAD批量打印的需求,并探討了利用二次開發(fā)進行CAD批量打印的方法。
關鍵詞:CAD;批量打印;二次開發(fā)
AutoCAD是一種計算機輔助設計軟件,是風靡全球工程界的一種應用。1982年,其由美國Autodesk推出,主要用于文檔設計、三維設計和繪圖等等,不僅擁有清晰的界面和良好交互體驗,其簡單方便的設計環(huán)境,讓非專業(yè)人士也能夠在較短的時間內(nèi)掌握CAD的基本使用方法。CAD的便捷實用,讓它成為土木建筑、工程制圖、服裝加工甚至家庭裝潢必不可少的工具。而隨著時代的進步,人們使用CAD的領域越來越廣泛,對于CAD能夠?qū)崿F(xiàn)的功能要求也越來越豐富。在這種情況下,就需要對CAD的功能進行補充開發(fā),以滿足實際工作中的需求,提升工作效率。
1.CAD批量打印的需求
圖形繪制是一項相對“浩大”的工作,尤其是一些建筑類的圖紙,需要對建筑的不同樓層繪制面積實測圖,加上當前建筑的樣式、功能多種多樣,導致建筑面積實測圖的數(shù)量越來越多,甚至能達到幾百張的地步。這么多的圖紙,如果手動打印,需要很久。這對于分秒必爭的設計人員來說,一種能夠縮短時間的批量打印功能能夠帶來極大的影響。據(jù)統(tǒng)計,如果利用手工選擇來發(fā)送打印方案,1 000張的打印數(shù)量,打印3份需要花費2個多小時的排序時間和6個多小時的發(fā)送打印時間。
長時間枯燥無味的重復打印,讓打印人員精神無法高度集中,極其容易在打印過程中出現(xiàn)問題,導致打印的時間進一步拉長。此外,一些圖紙還涉及具體的施工流程和方法,如果在排序中出現(xiàn)錯誤,輕則對施工人員造成困擾,工序安排出錯或施工結(jié)果不符合業(yè)主單位的要求,影響施工進度;重則會在施工過程中留下安全隱患,引發(fā)一些安全事故,危害人們的生命財產(chǎn)安全。
在這個方面,批量打印不僅能夠占用較少的內(nèi)存,保證計算機系統(tǒng)運行得流暢,更能夠智能、快速地進行圖紙排序、打印工作,無需人工的干預,大大減少因人為因素導致的錯誤,保證圖紙打印的時效性和準確性。
2.CAD二次開發(fā)的現(xiàn)狀
AutoCAD自身提供了編程接口,CAD二次開發(fā)就是利用這些編程接口,通過二次開發(fā)工具實現(xiàn)一些AutoCAD實現(xiàn)不了的功能。VBA,AutoLISP,ADS等等都是二次開發(fā)工具,利用這些二次開發(fā)工具,能夠為廣大AutoCAD使用者的工作效率提升提供極大的幫助。而當前,CAD二次開發(fā)的方向主要集中在標準化和智能化上。
2.1CAD二次開發(fā)的方向
2.1.1標準化
對于一些通用化、系列化的產(chǎn)品而言,參數(shù)設計具有一定的標準,尤其是機械行業(yè)CAD設計中,絕大多數(shù)產(chǎn)品設計不需要設計人員親自去工廠查找產(chǎn)品的信息,只需要調(diào)用一些圖集來完成參數(shù)化設計。標準化不僅能夠減少CAD設計中出現(xiàn)錯誤的概率,也會大大提高產(chǎn)品設計的效率。
2.1.2智能化
人工智能是近些年相當火熱的話題,在一般的認知中,人工智能主要存在于機器人、工廠、數(shù)據(jù)收集和分析等等領域,CAD與人工智能的關系并不大。但實際上,隨著時代的發(fā)展,CAD二次開發(fā)與人工智能相結(jié)合已經(jīng)成為未來CAD二次開發(fā)的一個重要方向。例如,在參數(shù)優(yōu)化方面,可以引入人工智能,調(diào)整產(chǎn)品結(jié)構(gòu),分析產(chǎn)品的經(jīng)濟性,甚至是對產(chǎn)品的性能參數(shù)進行優(yōu)化,并且可以結(jié)合標準化的相關成果,對設計結(jié)果進行全方位的分析,檢測其是否符合標準化的需求。此外,在設計過程中,對于一些零件的設計,可以通過人工智能來進行設計、校核、計算、自動繪圖等工作,減少設計人員在零件設計中花費的時間,提升設計質(zhì)量。
2.2CAD二次開發(fā)的問題
雖然,標準化和智能化是未來CAD二次開發(fā)的主要方向,但在實際的應用過程中,仍存在著諸多的問題:一方面,CAD二次開發(fā)的流程并不專業(yè)。較少有規(guī)模較大的企業(yè)參與到CAD二次開發(fā)這個領域,大多依靠個人甚至CAD設計人員自己進行CAD二次開發(fā),不僅缺乏足夠的專業(yè)知識,對于不同工具的不同優(yōu)點也沒有清晰的認知。一般都會隨便采用一種二次開發(fā)工具,而忽略這種工具是否與自己想要實現(xiàn)的功能相互契合,最終造成事倍功半的結(jié)果;另一方面,CAD二次開發(fā)還必須面對AutoCAD版本問題。一些程序在一些版本上可以很好地運行,但使用到其他版本時,就會出現(xiàn)各種各樣的問題。例如,使用ARX來進行程序的編寫,在CAD2002上可以完美運行,但是無法被CAD2004加載,ARX針對各個特定的版本都需要完全重新編譯??紤]到AutoCAD的版本眾多,加上每個設計人員的使用習慣不同,使用的版本也無法做到統(tǒng)一,在CAD二次開發(fā)時就必須解決版本沖突的問題,對CAD下的開發(fā)環(huán)境、ARX程序、版本的匹配情況必須有明確而清晰的認識。
3.利用二次開發(fā)進行CAD批量打印
3.1利用二次開發(fā)進行CAD批量打印的進展
利用二次開發(fā)進行CAD批量打印,主要原因是在原工具的框架內(nèi),一些功能由于工具原因無法實現(xiàn)或效果不理想。舉例來說,在建筑面積測繪中,為了整齊和美觀,一般會采用統(tǒng)一的出圖尺寸。由于建筑樣式、大小和功能不一樣,所以一般實測圖的比例尺會不同。但是裝訂要求按照建筑物樓棟號的數(shù)字順序進行裝訂,在批量打印時,也需要按照這樣的順序進行打印。但是,AutoCAD默認順序是按制作的先后順序,這樣出圖的結(jié)果與需要的不同。為了滿足按照建筑物樓棟號的數(shù)字順序出圖的功能,就需要對AutoCAD軟件進行二次開發(fā)。
而作為一款風靡全球的軟件,其重要特色
就是提供了寬裕的二次開發(fā)空間,VBA,AutoLISP,ObiectARx等等都是二次開發(fā)工具。而在國內(nèi),中望CAD、浩辰CAD等等也為每一位CAD設計人員提供了許多便捷的功能。
3.2利用二次開發(fā)進行CAD批量打印的優(yōu)點
3.2.1難度低
相對于c++語言,二次開發(fā)使用到的VBA,AutoLISP,ObiectARX都相對簡單,CAD設計人員只需要使用較短的時間,就可以掌握這些語言的基本使用方法。甚至根據(jù)一些教程,可以獨立完成應用程序的開發(fā)。這對于可能隨時要求功能添加或變更的設計人員來說,可以大大節(jié)約尋找相關軟件的時間和成本。
3.2.2速度快
利用二次開發(fā)的方式,主要是與AutoCADl直接通訊,幾乎相當于內(nèi)部“傳輸”,速度較之于外部程序而言,肯定會要快一些。這種“快一些”反映到具體的使用過程中,能夠節(jié)約一部分批量打印的等待時間。
3.2.3更穩(wěn)定
利用二次開發(fā)進行CAD批量打印更穩(wěn)定,主要體現(xiàn)在兩個方面:一方面,程序更新和功能上的穩(wěn)定。在需要使用新功能時,CAD設計人員可以自行修改應用程序,或?qū)贸绦蛲频怪刈?。根?jù)一些教程和案例,就可以輕松地對程序進行修改,或請一些程序員進行完善,不需要過多的專業(yè)知識和工作經(jīng)驗,對于CAD設計人員十分現(xiàn)實和方便。在一些企業(yè)內(nèi)部,設計人員和計算機技術人員建立合作關系,隨時根據(jù)需求進行應用程序的修改,能夠大大提升設計人員的工作效率;另一方面,二次開發(fā)的應用程序,即使進程失去響應,也不會影響AutoCAD的工作。而且占用電腦內(nèi)存的比例相對較低,不會引起電腦宕機,從而造成不必要的損失。
4.利用二次開發(fā)進行CAD批量打印的思路
4.1VBA技術
VBA技術主要是利用AutoCAD能夠支持ActiveX對象應用訪問的優(yōu)點,建立一個標準通信協(xié)議,通過VBA語言執(zhí)行編制好的CAD批量打印程序代碼,從而實現(xiàn)批量打印的目的。相對于AutoLIsP技術,二次開發(fā)的應用程序使用上更為便捷。例如,使用AutoLISP命令進行打印時,需要計算比例,然后根據(jù)打印的數(shù)量點選打印窗口,耗時較長。而使用VBA命令只需要點選打印范圍,之后的操作基本上都可以自動完成,智能化和自動化的程度相對較高。
一般而言,利用VBA技術進行CAD批量打印的思路是:首先要生成一個空白窗體,在“插入”下選擇用戶窗體,然后通過相關控件來實現(xiàn)整體框架、范圍框架、選擇打印圖框、退出打印程序等功能,例如,可以通過fraPlotCopies來定義批量打印的份數(shù),用cmdPlotPreview來定義批量打印的預覽。在此基礎之上,實現(xiàn)布滿打印和智能比例、自動識別圖形方向等,從而真正意義上實現(xiàn)CAD批量打印。
4.2AutoLISP技術
相對于VBA技術而言,AutoLISP技術的優(yōu)點在于語言更加簡便易學,讓CAD設計人員更容易上手。AutoLISP技術一般通過賦值、調(diào)用PLOT命令、重新賦值、重新調(diào)用PLOT命令的循環(huán)工作流程,來實現(xiàn)CAD的批量打印。
一般而言,利用AutoLISP技術二次開發(fā)進行CAD批量打印的總體流程是:從輸入繪圖參數(shù)到自動設置打印參數(shù),到選擇打印機名稱、打印比例、打印張數(shù),選擇循環(huán)打印,在循環(huán)打印中設置打印操作PLOT和參數(shù),在完成這些操作和參數(shù)之后批量打印結(jié)束。在CAD設ttA員的方面,表現(xiàn)為對出圖配置進行設置,如打印設備、圖紙方向、出圖原點、出圖比例、出圖份數(shù)等等,有的還需要借助預覽功能,從而能夠保證在批量打印中不會出現(xiàn)錯誤。
5.結(jié)語
利用二次開發(fā)進行CAD批量打印,具有便捷、快速、易操作的特點。在日常的工作過程中,CAD設計人員可以根據(jù)需要,自主編寫適合自己的應用程序,從而節(jié)約圖紙打印的時間,提升工作效率。