蘇杏
摘要:闡述了AutoCAD在移動設(shè)備方面的應(yīng)用進展與技術(shù);探討了AutoCAD WS在工程管理中的移動應(yīng)用方式;討論AutoCAD WS的二次開發(fā)技術(shù),重點研究AutoCAD WS有關(guān)文件上傳、讀取、存儲、共享方面的API;通過介紹AutoCAD WS基于C#和JavaS cript二次開發(fā)的實現(xiàn)方法,為技術(shù)人員開發(fā)專用的移動CAD應(yīng)用提供一些參考。
關(guān)鍵詞: AutoCAD; AutoCAD WS; AutoCAD WS二次開發(fā);工程管理;移動應(yīng)用;移動開發(fā)
中圖分類號:TP391文獻標(biāo)識碼:A文章編號:1009-3044(2012)15-3708-03
Research and Development on Mobile Application in AutoCAD
SU Xing
(School of Management Science and Engineering, Guangxi University of Finance and Economics, Guangxi Nanning, 530003, China)
Abstract:The progress and technology of AutoCAD on mobile devices are described. Explore the mobile applications in engineering man agement of AutoCAD. To discuss the redevelopment of AutoCAD WS, the API of AutoCAD WS on the file upload, read, store and share are focused on. The examples of redevelopment based on C# and JavaScript are introduced to provide some reference for developer on CAD mobile application.
Key words:AutoCAD; AutoCAD WS; AutoCAD WS Redevelopment; engineering management; mobile application; mobile develop ment
AutoCAD是目前應(yīng)用最為廣泛的計算機輔助設(shè)計軟件之一,廣泛應(yīng)用于機械、土木建筑等領(lǐng)域[1]。為了利用網(wǎng)絡(luò)與移動應(yīng)用,隨時隨地查看、編輯和共享CAD文件,Autodesk公司推出了AutoCAD WS軟件。AutoCAD WS是專注移動應(yīng)用的CAD軟件,它目前分為三個功能模塊:網(wǎng)頁端、移動應(yīng)用、AutoCAD插件[2]。
其中,AutoCAD WS網(wǎng)頁端是基于Flash播放器的瀏覽器版AutoCAD;移動應(yīng)用是針對iPad/iPhone和Android系統(tǒng)的移動應(yīng)用軟件;AutoCAD插件是AutoCAD和AutoCAD WS的聯(lián)系橋梁。AutoCAD WS所有的圖紙都保存在本地用于離線操作,同時可以同步到遠程服務(wù)器用于協(xié)同操作。AutoCAD WS利用WebDAV(Web-based Distributed Authoring and Versioning)協(xié)議把圖紙同步保存到各種在線或自行架設(shè)各種存儲服務(wù)器中,目前支持大部分知名的網(wǎng)絡(luò)硬盤/存儲服務(wù),包括:Buzzsaw、Box.net、Dropbox、MobileMe、Eg nyte和任何文件服務(wù)器或SharePoint協(xié)議。通過AutoCAD WS能讓用戶通過網(wǎng)絡(luò)瀏覽器或移動設(shè)備查看、編輯和共享DWG圖紙,進而可以隨心所欲地在任何地方與任何人開展工作,可將AutoCAD圖紙和項目文件儲存到易于訪問的在線工作區(qū),也可在線或在移動設(shè)備上查看和編輯設(shè)計,還能輕松便捷地與他人共享文件、開展協(xié)作。
1 AutoCAD WS在工程管理中的移動應(yīng)用
近年來,信息技術(shù)的發(fā)展,包括信息流動速度的增加,信息交流效率的提高,以及信息傳遞費用的降低,對于提高建筑工程領(lǐng)域的信息管理能力起到了很大的作用[3]。目前,在建筑工程管理中,從工程概預(yù)算到工程設(shè)計的各個環(huán)節(jié)都普遍得到信息技術(shù)的支持,基本能實現(xiàn)無紙化辦公。特別是在工程設(shè)計中,各種CAD軟件的廣泛應(yīng)用使得設(shè)計人員可以在電腦和網(wǎng)絡(luò)上開展快速便捷的協(xié)同設(shè)計,基本擺脫了紙質(zhì)圖紙負擔(dān),不再需要打印大量圖紙。
但是,在施工環(huán)節(jié),特別是具體現(xiàn)場施工操作和工程建設(shè)中,信息化建設(shè)較為落后。目前在施工現(xiàn)場的信息交流仍然是以紙質(zhì)施工圖紙為基礎(chǔ)。在施工現(xiàn)場,業(yè)主方、施工方和監(jiān)理方都需要打印大量圖紙,并在圖紙上核對并協(xié)商出現(xiàn)的各種問題,再到辦公室在計算機上再次將修改的內(nèi)容重新繪制到圖紙上,再次打印圖紙,既費時又費力。
造成這個問題,主要原因是傳統(tǒng)的基于PC的信息化技術(shù)不適用于施工現(xiàn)場。在相對惡劣的現(xiàn)場環(huán)境,即使是筆記本電腦,其攜帶和現(xiàn)場操作仍然顯得十分笨拙。同時,由于工地的建設(shè)性,注定了缺乏信息基礎(chǔ)設(shè)施的支持,使得工地通常缺乏上網(wǎng)環(huán)境,使得網(wǎng)上協(xié)同辦公成為奢望。隨著移動通信技術(shù)、移動設(shè)備、移動計算和應(yīng)用的快速發(fā)展,移動信息技術(shù)極大提升了施工現(xiàn)場的信息管理和信息處理能力,使得實現(xiàn)“數(shù)字化工地”成為可能。施工現(xiàn)場的移動信息技術(shù)主要包括移動設(shè)備、移動無線網(wǎng)絡(luò)和移動應(yīng)用軟件三個重要部分。其中,移動設(shè)備已經(jīng)在施工現(xiàn)場廣泛應(yīng)用,從高層管理人員到一線的施工人員,從高端的iPad到千圓一下的職能手機,移動設(shè)備內(nèi)存容量的擴展,可靠性的增強,電池電源的持久使其已經(jīng)成為必須品。而對于移動無線網(wǎng)絡(luò)方面,隨著3G網(wǎng)絡(luò)的建設(shè),無線網(wǎng)絡(luò)速度的提升,可靠性、安全性的改進,將能有效支撐施工現(xiàn)場的移動信息管理。在移動應(yīng)用軟件方面也有一些可喜的進展,比較著名的就是AutoCAD WS。
無論是在辦公室還是工地,可以利用AutoCAD WS來檢查圖紙并做出迅速修改,可以與分散在不同地點的管理人員、施工人員共同進行在線查看、編輯、設(shè)計和審查DWG工程圖紙,可以按時間順序記錄設(shè)計變更實現(xiàn)設(shè)計圖紙的版本控制和審核,還可以對工程圖紙進行上傳和下載同步,并進行離線編輯,無需擔(dān)心文件丟失。AutoCAD WS為施工現(xiàn)場的信息化建設(shè)提供了一個有效的途徑,為增強工程信息管理效率,降低建筑時間與建筑成本,改進工地施工安全性提供一個有效的解決方案。
2 AutoCAD WS的二次開發(fā)技術(shù)
AutoCAD的強大生命力在于其開放的結(jié)構(gòu)體系,而這種開發(fā)體系,使得不同行業(yè)、專業(yè)根據(jù)自身的特點能夠?qū)ζ溥M行二次開發(fā)[1]。桌面版AutoCAD常用的開發(fā)工具有AutoLISP、ADS、ObjectARX、Visual AutoLISP和VBA,其中比較常用功能也最強大的是Objec tARX[1,4]。而針對移動應(yīng)用AutoCAD WS,由于移動設(shè)備操作系統(tǒng)的制約,其二次開發(fā)技術(shù)與傳統(tǒng)的有很大的區(qū)別。
在應(yīng)用上,AutoCAD WS的二次開發(fā)平臺AutoCAD WS API有以下功能[5]:1)安全地連接到一個AutoCAD WS賬戶上。2)查詢賬戶文件/文件夾結(jié)構(gòu)。3)執(zhí)行不同的文件操作,例如復(fù)制、粘貼、重命名、創(chuàng)建文件夾。4)上傳和下載文件。5)查詢文件元數(shù)據(jù),例如最后修改、權(quán)限、縮略圖。6)在WS在線編輯器中啟動圖紙文件。
AutoCAD WS的二次開發(fā)對工程圖紙進行簡單的瀏覽、編輯操作的基礎(chǔ)上,重點關(guān)注圖紙文件的遠程管理。因此本文首先介紹如何架設(shè)自主的工程圖紙存儲服務(wù)器,再介紹基于C#和JavaScript的二次開發(fā)技術(shù)。
2.1工程圖紙存儲服務(wù)器的架設(shè)
AutoCAD WS利用WebDAV(Web-based Distributed Authoring and Versioning)協(xié)議把圖紙同步保存到各種在線或自行架設(shè)各種存儲服務(wù)器中,目前支持大部分知名的網(wǎng)絡(luò)硬盤/存儲服務(wù),包括:Buzzsaw、Box.net、Dropbox、MobileMe、Egnyte和任何文件服務(wù)器或SharePoint協(xié)議。本文重點介紹如何在Windows服務(wù)器上配置WebDAV,其具體的配置步驟如下[6]:
1)安裝IIS(Internet Information Services,互聯(lián)網(wǎng)信息服務(wù))。建議安裝IIS7.0或者IIS7.5及以上版本。
2)安裝WebDAV擴展模塊,為IIS安裝WebDAV擴展。32、64位的下載地址為:http://go.microsoft.com/fwlink/LinkID=141805;
http://go.microsoft.com/fwlink/LinkID=141807。
3)為Windows安裝WebDAV。在控制面板的中能夠打開:Windows功能/Internet信息服務(wù)/萬維網(wǎng)服務(wù)/常見HTTP功能/WebDAV發(fā)布。
4)在IIS中啟動WebDAV發(fā)布功能。在IIS管理器中點擊:WebDAV Authoring Rules/Enable WebDAV。
5)為WebDAV添加認證規(guī)則。在IIS管理器中點擊點擊:WebDAV Authoring Rules/Add Authoring Rule。指導(dǎo)可以通過認證的文件資料、用戶和權(quán)限。
6)為IIS添加認證規(guī)則。在IIS管理器中點擊:Authentication/Windows Authentication Enable。并確保該規(guī)則包含管理員權(quán)限的帳號。
7)連接服務(wù)器。在AutoCAD WS點擊“Connect To Service”,現(xiàn)在其他類型的接入方式,輸入服務(wù)器URL地址、用戶名稱和密碼就可以實現(xiàn)AutoCAD WS客戶端與服務(wù)器連接。
2.2基于C#的二次開發(fā)技術(shù)
AutoCAD WS的C#的二次開發(fā)主要通過WebdavClient類使用WebDAV協(xié)議來和AutoCAD WS服務(wù)進行通信。WebdavClient C#語言類依靠標(biāo)準(zhǔn)的WebDAV協(xié)議來和AutoCAD WS服務(wù)進行通信。使用該類的步驟如下:
1)創(chuàng)建實例:WebDAVClient client = new WebDAVClient(host, username, password);
2)設(shè)置功能回調(diào)函數(shù),主要的功能有搜索、刪除、拷貝、移動和更新文件。響應(yīng)的回調(diào)事件有:PropfindCompleteDel、DeleteCom pleteDel、CopyCompleteDel、MoveCompleteDel和UploadCompleteDel。
3)連接服務(wù)器搜索文件:調(diào)用函數(shù)client. Propfind(String remoteFilePath, int depth)。搜結(jié)果以WebdavItemInfo形式返回到所定義的回調(diào)函數(shù)中。
4)刪除文件:調(diào)用函數(shù)client. Delete(string remoteFilePath)。其結(jié)果同樣返回到回調(diào)函數(shù)中。
5)拷貝文件:調(diào)用函數(shù)client. Copy(String remoteSrcFilePath, String remoteDstFilePath, bool shouldOverwtie)。其結(jié)果同樣返回到回調(diào)函數(shù)中。
6)移動文件:調(diào)用函數(shù)client. Move(String remoteSrcFilePath, String remoteDstFilePath, bool shouldOverwrite)。其結(jié)果同樣返回到回調(diào)函數(shù)中。
7)更新文件:調(diào)用函數(shù)client. Upload(String localFilePath, String remoteFilePath)。其結(jié)果同樣返回到回調(diào)函數(shù)中。
8)打開文件:調(diào)用函數(shù)client. OpenDrawing(String path),就是可以實現(xiàn)。
2.3基于JavaScript的二次開發(fā)技術(shù)
與C#類似AutoCAD WS封裝了一個WebdavClient.js系列函數(shù)用于JavaScript的二次開發(fā)。JavaScript的WebdavClient主要封裝的函數(shù)有:
1)構(gòu)造函數(shù):WebdavClient(url, username, password)。
2)創(chuàng)建XMLHttp網(wǎng)絡(luò)連接:WebdavClient.prototype.createRequest = function(handler, method, path)。
3)GET數(shù)據(jù)下載:WebdavClient.prototype.GET = function(handler, path)。
4)PUT數(shù)據(jù)上傳:WebdavClient.prototype.PUT = function(handler, path, content, contentType, contentLength)。
5)刪除文件:WebdavClient.prototype.DELETE = function(handler, path)。
6)拷貝文件:WebdavClient.prototype.COPY = function(handler, srcPath, dstPath, overwrite)。
7)移動文件:WebdavClient.prototype.MOVE = function(handler, srcPath, dstPath, overwrite)。
8)搜索文件:WebdavClient.prototype.PROPFIND = function(handler, path, depth)。
9)打開圖紙:WebdavClient.prototype.OpenDrawing = function(path)。
3結(jié)論
參考文獻:
[1]王圍,李波,鄒元平. AutoCAD二次開發(fā)中的若干問題探析[J].電腦知識與技術(shù), 2010, 8(1): 163-165.
[2] Autodesk. Home page[OL]. http://www.autocadws.com.
[3]陳遠,林基礎(chǔ).移動計算在建筑工程信息管理中的應(yīng)用研究[J].土木建筑工程信息技術(shù), 2010, 2(1): 24-29.
[4]盧揚.基于ObjectARX的AutoCAD二次開發(fā)研究[J].電腦知識與技術(shù), 2011, 7(32): 7908-7909.
[5] Autodesk. AutoCAD WS API [OL]. http://blog.sina.com.cn/s/blog_6f23d6c801017m4v.html.
[6] Autodesk. Connect to AutoCAD WS with SharePoint or other Windows Server[OL]. http://www.autocadws.com/tutorials/connect-to-auto cad-ws-with-sharepoint-or-other-windows-server/.