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