錢(qián)小剛
摘 要 基于工程上用戶(hù)對(duì)CAD圖形在Web端進(jìn)行無(wú)失真的展示及交互需求越來(lái)越迫切,以及應(yīng)用程序跨平臺(tái)要求,選擇跨平臺(tái)、跨瀏覽器的Silverlight富客戶(hù)端技術(shù),結(jié)合WCF服務(wù)提供后臺(tái)數(shù)據(jù)服務(wù)接口,同時(shí)利用AUTO CAD和Expression Design 4.0軟件對(duì)工程原始CAD圖形進(jìn)行處理,最終實(shí)現(xiàn)CAD圖形在Silverlight Web前端進(jìn)行無(wú)失真展示,同時(shí)與CAD圖形進(jìn)行各種豐富的交互應(yīng)用。
【關(guān)鍵詞】Silverlight WCF CAD 分布線(xiàn)
在水電、建筑、土木施工、環(huán)境藝術(shù)設(shè)計(jì)、工業(yè)設(shè)計(jì)、服裝設(shè)計(jì)等各行各業(yè)從設(shè)計(jì)、實(shí)施、維護(hù)整個(gè)過(guò)程中會(huì)產(chǎn)生大量的CAD圖形文件,依靠傳統(tǒng)的文件存儲(chǔ),會(huì)產(chǎn)生如下問(wèn)題:
(1)CAD圖形文件存儲(chǔ)到一定級(jí)別的數(shù)量,查詢(xún)特別困難。
(2)CAD圖形文件無(wú)法直接在Web進(jìn)行查詢(xún)和無(wú)失真的展示、放大、縮小。
(3)工程用戶(hù)無(wú)法在CAD圖形文件上直接結(jié)合實(shí)時(shí)數(shù)據(jù),進(jìn)行動(dòng)態(tài)展示和交互。
為了解決工程上的實(shí)際問(wèn)題,通過(guò)對(duì)Silverlight(銀光)技術(shù)深入研究,結(jié)合CAD、Expression Design等軟件能較好的實(shí)現(xiàn)CAD圖形文件在Web端進(jìn)行無(wú)失真的展示和交互,同時(shí)跨平臺(tái)、跨瀏覽器,完全滿(mǎn)足用戶(hù)需求。
1 系統(tǒng)開(kāi)發(fā)環(huán)境
本文是Silverlight富客戶(hù)端技術(shù)與WCF服務(wù)技術(shù)結(jié)合應(yīng)用于CAD圖形文件展示與交互的嘗試,使用C#語(yǔ)言結(jié)合XAML描述模式開(kāi)發(fā)。系統(tǒng)采用Expression Blend 4.0 作為Web 前端開(kāi)發(fā)工具,通過(guò)CAD2010和Expression Design 4.0處理CAD圖形原文件,Visual Studio 2010 作為后臺(tái)開(kāi)發(fā)工具。
Visual Studio 是微軟推行的一套完整的開(kāi)發(fā)工具,用于完成桌面應(yīng)用程序或Web 應(yīng)用程序等的設(shè)計(jì)、開(kāi)發(fā)和部署,能夠進(jìn)行工具共享,創(chuàng)建基于混合語(yǔ)言的解決方案。
Expression Blend 是在 Silverlight 和 .NET 平臺(tái)上進(jìn)行互動(dòng)設(shè)計(jì)的工具。它使得用戶(hù)體驗(yàn)概念可能在從最初的原型到最終的實(shí)現(xiàn)中都得到忠實(shí)的體現(xiàn)。
Expression Design 是一個(gè)專(zhuān)業(yè)的設(shè)計(jì)工具。它可以創(chuàng)建圖形資源,并在 Expression Studio:Expression Blend 和 Expression Web 中創(chuàng)建的應(yīng)用程序中使用。
2 CAD圖形的展示與實(shí)現(xiàn)
2.1 圖形的處理
通過(guò)CAD2010打開(kāi)CAD圖形原始文件(*.dwg),點(diǎn)擊文件-》輸出,保存為圖元文件(*.wmf)。該文件為矢量文件,放大和縮小不變形、不失真。
打開(kāi)Expression Design 4.0軟件,點(diǎn)擊文件-》打開(kāi),查找上一步處理過(guò)的圖元文件(*.wmf),選中打開(kāi)。處理過(guò)的CAD圖形文件就顯示在Expression Design畫(huà)布上。點(diǎn)擊文件-》導(dǎo)出,發(fā)布為XAML文件,即可在Silverlight和WPF平臺(tái)上展示,如圖1。
可以將處理過(guò)的CAD圖形文件以及CAD圖形文件的一些索引信息放入數(shù)據(jù)庫(kù),方便CAD圖形的管理和索引工作,能快速實(shí)現(xiàn)CAD圖形的查詢(xún)和其它信息系統(tǒng)的使用。
2.2 后臺(tái)服務(wù)
Silverlight所有后臺(tái)服務(wù)通過(guò)WCF服務(wù)完成,Silverlight前臺(tái)獲取用戶(hù)請(qǐng)求,傳遞給WCF服務(wù),WCF服務(wù)通過(guò)后臺(tái)處理后,異步返回給Silverlight前臺(tái)用戶(hù)。
WCF服務(wù)包括CAD圖形文件信息管理和下載、用戶(hù)通過(guò)關(guān)鍵字查詢(xún)CAD圖形文件、查詢(xún)到的CAD圖形文件下載到Silverlight前臺(tái)。同時(shí)WCF服務(wù)還提供CAD文件熱點(diǎn)坐標(biāo)信息、以及用戶(hù)與CAD圖形文件交互信息、熱點(diǎn)實(shí)測(cè)數(shù)據(jù)、熱點(diǎn)歷史數(shù)據(jù)等等。
2.3 Silverlight前端處理
Silverlight通過(guò)后臺(tái)服務(wù)下載到所需CAD圖形XAML文件,放入畫(huà)布上。通過(guò)Silverlight提供的放大、縮小、平移等功能,方便用戶(hù)對(duì)CAD圖形進(jìn)行各種操作。
Silverlight具有豐富的繪圖功能,可以以CAD圖形文件為地圖,根據(jù)各種業(yè)務(wù)需求,在CAD圖形文件上繪制各種圖形,同時(shí)結(jié)合后臺(tái)服務(wù),查詢(xún)各種信息,在CAD圖形文件上進(jìn)行展示。
Silverlight還具有豐富的動(dòng)畫(huà)功能,可以結(jié)合后臺(tái)服務(wù),查詢(xún)CAD圖形文件上熱點(diǎn)實(shí)測(cè)、歷史數(shù)據(jù),在CAD圖形上繪制各種生動(dòng)、形象、直觀的動(dòng)畫(huà)。
3 應(yīng)用
在大壩設(shè)計(jì)、施工、維護(hù)中會(huì)產(chǎn)生了大量的CAD圖形文件,并且在這些CAD圖形文件中會(huì)標(biāo)注大量的監(jiān)測(cè)儀器。通過(guò)Silverlight技術(shù)結(jié)合WCF服務(wù),實(shí)現(xiàn)了CAD圖形文件在Web端快速查詢(xún)、展示和日常操作,以及基于CAD圖形文件為底圖的分布線(xiàn)繪制。
3.1 監(jiān)測(cè)布置圖
監(jiān)測(cè)布置圖實(shí)現(xiàn)了大量CAD圖形文件查詢(xún)、展示、放大、縮小、移動(dòng)等功能,提高了工程用戶(hù)的工作效率,節(jié)省了大量時(shí)間,如圖2。
3.2 分布線(xiàn)
大壩日常維護(hù)人員迫切希望能在CAD圖形文件直接看到監(jiān)測(cè)儀器實(shí)測(cè)數(shù)據(jù),同時(shí)可以查詢(xún)一段時(shí)間各個(gè)測(cè)點(diǎn)測(cè)值,并且通過(guò)動(dòng)畫(huà)動(dòng)態(tài)展示每個(gè)測(cè)點(diǎn)測(cè)值變化趨勢(shì),從而判斷每個(gè)測(cè)點(diǎn)變化情況,為后期采取相應(yīng)措施提供依據(jù)。Silverlight提供了豐富的動(dòng)畫(huà)功能,能快速實(shí)現(xiàn)用戶(hù)需求,通過(guò)WCF服務(wù)查詢(xún)各測(cè)點(diǎn)測(cè)值,供Silverlight前端調(diào)用,為用戶(hù)在前端提供豐富的交互體驗(yàn),如圖3。
4 結(jié)語(yǔ)
本文研究了基于Silverlight技術(shù)下的CAD圖形文件應(yīng)用開(kāi)發(fā),并在此基礎(chǔ)上實(shí)現(xiàn)了CAD圖形文件在Web端的查詢(xún)、放大、縮小、移動(dòng)等操作,同時(shí)基于CAD文件為底圖開(kāi)發(fā)了分布線(xiàn)動(dòng)畫(huà)功能,實(shí)現(xiàn)了用戶(hù)與CAD圖形間交互,滿(mǎn)足了用戶(hù)對(duì)CAD圖形的各種需求,極大的提高了用戶(hù)工作效率和使用體驗(yàn)。
同時(shí)基于矢量圖形在Silverlight的展示和動(dòng)畫(huà)功能技術(shù)研究,可以結(jié)合各行各業(yè)、各種需求開(kāi)發(fā)出豐富多彩的富客戶(hù)端插件,在各行各業(yè)、各個(gè)平臺(tái)進(jìn)行應(yīng)用。
參考文獻(xiàn)
[1]魏永超. Silverlight 3.0開(kāi)發(fā)詳解與最佳實(shí)踐[M].北京:清華大學(xué)出版社,2003
[2](美)西爾伯沙茨等著,楊冬青等譯.數(shù)據(jù)庫(kù)系統(tǒng)概念[M].北京:機(jī)械工業(yè)出版社,2005.
[3]孫博.基于微軟新一代圖形系統(tǒng)WPF和Silverlight的數(shù)據(jù)可視化研究與實(shí)現(xiàn)[D].長(zhǎng)春:東北師范大學(xué),2005.
[4]郭偉鵬,沈松雨.Silverlight支持下的WebGis的研究與實(shí)現(xiàn)[J].地理空間信息,2008.