999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

AutoCAD圖形網絡化的研究與實現

2012-06-09 10:25:32李愛國
電子設計工程 2012年2期
關鍵詞:方法

李愛國

(陜西工業職業技術學院 陜西 咸陽 712000)

AutoCAD是目前使用非常廣泛的計算機輔助設計系統,據AutoDesk公司的統計數據,目前全世界有200多萬設計者使用AutoCAD來定義和設計各種工程方案,有20多億的AutoCAD圖形文件存儲于計算機中[1-2]。由于其文檔格式使用廣泛,AutoDesk公司為了適應目前網絡應用的需求,也實現了通過互聯網對其圖形文件的顯示。早期采用Whip!插件在瀏覽器上瀏覽DWF專用格式文件。DWF文件格式支持圖層、超級鏈接、背景顏色、距離測量、線寬、比例等圖形特性。但同時也存在很多問題,AutoCAD本身不能顯示DWF文件,而如果將DWF文件轉換回到DWG格式需使用第三方供應商的文件轉換軟件。因此,這種方式只適合通過網絡顯示圖形文件,不適合進行數據的交換。Autodesk提供的第二種在非AutoCAD環境下顯示其圖形文件的方法是Voloview控件。Voloview控件可以在支持ActiveX的軟件中作為插件使用,這樣就可以通過它對DWG文件進行瀏覽甚至簡單的編輯。由于它的實現借助了ActiveX技術,因此對瀏覽器有著很強的依賴性,對于非IE核心的瀏覽器來說,無法使用該控件進行顯示圖形文件。其次,Voloview對中文的支持也存在一定的問題。

通過將AutoCAD的圖形文件轉換成能夠在瀏覽器上查看的數據文件,也可以做到在瀏覽器上顯示圖形數據。通常使用的方式是將AutoCAD的圖形文件數據轉換成SVG格式文件,然后在安裝了SVG插件的瀏覽器上進行瀏覽。SVG(Scalable Vector Graphics)是 World Wide Web Consortium(W3C)組織開發和維護的一種開放的矢量圖形標準,它提供了制作復雜元素的工具,如漸變、嵌入字體、透明效果、動畫和濾鏡效果,并且可使用平常的字體命令插入到HTML編碼中。由于SVG基于XML語言,因此有著非常良好的通用性,因此容易被推廣使用。但使用SVG也必須使用專用的插件,在瀏覽器中安裝這種插件的很少,因此其廣泛使用受到一定程度的限制。

在瀏覽器中普遍安裝并能夠顯示矢量圖形的是Flash Player插件。Flash是Web頁面上矢量動畫的事實標準,因此在瀏覽器上安裝Flash Player幾乎是大多數用戶必做的事情。Flash Player可以通過其Action Script腳本程序實際上是一種富客戶端(Rich Client)技術,采用這種技術開發的富因特網應用程序(Rich Internet Applications,RIA)可以通過很強的交互性的富客戶端技術為用戶創建一個更為全面的網絡體驗[2]。

1 Flash富客戶端技術

近年來富客戶端技術的發展越來越繁榮,很多種不同技術背景的富客戶端技術都在利用自身的優勢推廣到Web應用中。由于98%以上的瀏覽器都安裝了Flash Player插件,并且有著很好的跨平臺特性,因此基于Flash技術的富客戶端技術也因此得到很好的推廣。

RIA集成了桌面應用的交互性和傳統Web應用的部署靈活性與成本分析,以創建單一而完整的用戶體驗。富客戶端技術使創建RIA成為可能,它提供一個運行時的環境以承載被編譯的客戶端應用程序,該客戶端應用程序是一個使用HTTP協議發布的文件[3]。由于富客戶端技術可以支持運動的圖像、視頻、音頻、雙向的數據通信和創建復雜的窗體,它為創建應用程序用戶接口提供了一個高效而完善的開發環境[4]。

隨著Flash技術不斷地發展變化,Action Script腳本已經發展成為一種擁有自己的語法體系的面向對象的、交互功能強大的腳本語言。它是構建基于Flash富客戶端應用的一項重要技術基礎。

Flash使用 ActionScript的MovieClip類的方法繪制直線、曲線、形狀和進行填充。使用這些基本的圖像元素就可以完成在Flash中顯示AutoCAD圖形的要求。

2 AutoCAD DXF文件格式分析

2.1 簡介

DXF(Drawing Interchange Format,圖形交換格式)是AutoCAD圖形文件中包含的所有信息的一種帶標記數據的表示方式。這種格式的文件最初是用于共享圖形數據,由于其良好的結構和通用性,因此被大量使用。DXF可以以文本形式存儲矢量數據,且文件結構簡單、清晰,讀取方便,因此是有使用更為廣泛。

2.2 DXF文件的組成

DXF文件的組成采用類似標記語言(如:HTML和XML)的方式記錄數據。以下用AutoCAD R2000版DXF為例分析其組成。文件中的每個數據元素前面都帶有一個稱為組碼的整數。組碼的值表明了隨后的數據元素的類型,同時這個組碼也指出了數據元素對于給定對象(或記錄)類型的含義。一個DXF文件由若干段組成,每一段又由一些記錄組成,而記錄又由若干組碼和數據條目組成。在DXF文件中,每個組碼和每個數據條目都各占一行。文件總是以一行組碼和一行組值組成,因此規定組值的最大長度不能超過255個字節(AutoCAD2000以后組碼 0~9及 1 000~1 009已經去除了255個字符的限制,但通常小于2 049個字節),這種規律使得編程設計更加方便[5]。

完整的DXF文件由七個段(SECTION)組成,以下列出的是主要段的段名及段中包含的信息:

1)HEADER段 DXF文件的HEADER段記錄了與圖形相關聯的一些信息,其中包括AutoCAD圖形數據庫的版本號以及大量的系統變量。

2)CLASSES段 CLASSES段存儲了應用程序定義的類的信息,這些類的實例將會出現在數據庫的 BLOCKS、ENTITIES和 OBJECTS段中[6]。

3)BLOCKS段 本段描述圖形中每個塊的引用以及塊中的實體。

4)ENTITIES段 本段描述構成圖形的所有的圖形實體和塊的引用,但不包括塊內的實體。

3 在Flash中顯示AutoCAD圖形文件

在Flash中讀取并顯示AutoCAD文件過程相對較為復雜,采用DXF文件進行數據共享是一種很通用的方法。

3.1 DXF文件的讀取

文本格式的DXF文件很容易被其他的系統讀取和使用。Flash雖然提供了loadVariables和loadVariablesNum函數從外部讀取數據并將其存入Flash中的某個影片剪輯或者某個特定的級別中,但其處理數據的方式是通過“&”將數據分開,并采用“UserName=tom&Age=20”這樣的方式將數據規格化,這樣的格式與DXF的差別太大,處理起來非常麻煩。因此需要借助其他工具進行讀取。

由于Flash插件是在Web頁面上工作,因此可以利用Web頁面上提供的現有工具進行DXF數據的讀取。這里使用Java Script讀取DXF文件的數據,同時利用DOM接口,將這些數據轉換成XML文件。這樣也可以將DXF數據存儲在XML文件中,用于其他方面的數據交換。Java Script提供FSO(File System Object)對象通過大量的屬性、方法和事件來處理文件夾和文件。由于DXF文件中的數據單元都是占用單獨一行,因此從DXF文件中讀取數據,可以使用 Text Stream對象的Read Line方法,一次讀取一行內容,并可以將其存儲之變量中。

圖1 讀取DXF文件流程圖Fig.1 Flow chart of reading DXF files

3.2 DXF數據的格式化

讀出來的DXF數據包含組碼以及圖形元素的數據,需要進一步將其提取和規劃,鑒于Flash Action Script有很強的處理XML文件的能力,另一方面XML文件也非常適合在網絡上傳輸和共享,因此在讀出DXF文件的數據之后,將其轉換成XML文件。在XML的體系中,XML Schema的作用是定義XML文檔的合法構建模塊,通過Schema模板,程序可以驗證外部接收到的數據的正確性。下面給出Schema文件中關于直線的相關定義,其他實體的數據模板與直線的定義相似。

3.3 Flash中顯示DXF數據(顯示,縮放)

3.3.1 讀取XML文件中的圖形數據

Flash Player在5.0以后的版本中提供一個XML類,使用XML類的load方法將指定XML文件的數據讀取至數組中,然后通過childnode以及firstchild等屬性獲取指定位置數據。接下來將數據交由 Movie Clip類提供的繪圖方法在Flash的舞臺上繪制相應的圖形。

3.3.2 繪制圖形元素

Flash的Action Script腳本中提供一個Movie Clip類,該類的方法主要提供的功能與定位影片剪輯的動作所提供的功能相同,除此之外還提供在Flash動畫中實時繪圖。利用其提供的這些繪圖方法將DXF中的圖形數據繪制在Flash的動畫舞臺上。Movie Clip類提供的繪圖方法只提供基本的移動繪制點、直線、填充、設置線型樣式和曲線,這些只能滿足CAD圖形元素中的一部分要求,對于圓和圓弧以及橢圓Movie Clip類都沒有提供相應的繪制方法,但其提供的曲線的實質就是二次貝賽爾曲線,因此可以采用這個方法擬合所需要的圖形元素。二次貝賽爾曲線包含兩個錨點和一個控制點。該曲線內插這兩個錨點,并向控制點彎曲。二次貝賽爾曲線的數據點只有3個因此便于存儲,也便于快速繪制圖形,但缺點也是顯而易見的,如果要精確擬合成圓或者圓弧,就需要較多段的曲線。以下給出分8段繪制擬合一個圓的函數。

圖2 二次貝塞爾曲線Fig.2 Quadratic Bezier curves

Movie Clip.curveTo(controlX,controlY,anchorX,anchorY)方法的4個參數都是整數,前兩個分別用于指定控制點的水平位置、垂直位置。后兩個指定下一個錨記點的水平位置、垂直位置。但在CAD系統中圓的信息存儲形式往往是圓心坐標以及半徑值,因此在使用這個方法擬合圓的時候需要進行換算。

圓弧雖然是圓的一部分,但在繪制的時候卻不完全一致。繪制圓弧分兩種情況,一種是小于等于45°的圓弧,此種圓弧較為簡單,只需要繪制一段曲線擬合即可,由于圓弧的起點是任意位置因此需要對其進行計算轉換。另一種是小于等于360°,其畫法與繪制圓的方法類似。以下是繪制小于等于45°的圓弧的方法,其中mc是創建的的剪輯對象,ox與oy是圓心的坐標,r表示半徑origin_angle表示圓弧的起始角度,angle是弧的角度,正數順時針畫弧,負數逆時針畫弧。thickness、rbg、alpha為設置線型的參數。返回值為圓弧終點坐標,終點為角度大的點,與angle符號無關。

對于擬合小于等于360°的圓弧,也采用分段方式進行,由于擬合是從任意角度開始,因此起點需要計算而不能采用繪制圓時的方法,

以上代碼中sinD與cosD是以角度值為參數計算正弦值和余弦值的函數[7]。

4 結束語

通過在Web方式下顯示DXF文件可以跟進一步促進CAD圖形文件的交流,同樣也可以通過企業內部網提供一種新的工藝文件在線傳遞的方法,以及進一步促進企業信息化。同時這也為實現在線CAD系統的實現提供了一種切實可行的方法。

[1]魏建軍,歐陽一鳴,杜曉榮,等.基于XML的AutoCAD圖形與SVG圖形轉換研究[J].微電子學與計算機,2005(2):58-62.WEI Jian-Jun, OUYANG Yi-ming, DU Xiao-rong, et al.XML-based SVG graphics convert AutoCAD drawing and research[J].Microelectronics and Computer,2005(2):58-62.

[2]張衛峰,林端敏.AutoCAD軟件的DXF接口技術[J].機械與電子,2004(11):45-47.ZHANG Wei-feng,LIN Duan-min.AutoCAD DXF software interface technology[J].Machinery and Electronic,2004(11):45-47.

[3]孫放,陳云芳,林杭鋒.適用于富客戶端的云計算模型[J].計算機技術與發展,2010(8):23-25.SUN Fang, CHEN Yun-fang, LIN Hang-feng.Suitable for rich client cloud computing model[J].Computer Technology and Development,2010(8):23-25.

[4]百度百科.富客戶端[EB/OL].[2011-12-267]http://baike.baidu.com/view/1330363.htm.

[5]劉傳亮,陸建德.AutoCAD DXF文件格式與二次開發圖形軟件編程[J].微機發展,2004(9):78-79.LIU Chuan-liang,LU Jian-de.AutoCAD DXF file format and the secondary development of graphics software programming[J].Microcomputer Development,2004(9):78-79.

[6]郭朝勇.AutoCAD R14(中文版)二次開發技術[M].北京:清華大學出版社,1999.

[7]boenlee.制作隨機畫圓弧動畫[EB/OL].(2008-3)http://www.webjx.com/flash/example-4886.html.

猜你喜歡
方法
中醫特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數學教學改革的方法
河北畫報(2021年2期)2021-05-25 02:07:46
化學反應多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 欧美一区二区丝袜高跟鞋| 国产午夜无码片在线观看网站 | 喷潮白浆直流在线播放| 免费又黄又爽又猛大片午夜| 无码日韩精品91超碰| 好紧太爽了视频免费无码| 日本a级免费| 国产精品色婷婷在线观看| www.99精品视频在线播放| 色噜噜久久| 日韩黄色大片免费看| 99伊人精品| 精品在线免费播放| 精品国产香蕉伊思人在线| 免费在线a视频| 波多野结衣一区二区三视频| 色综合天天综合中文网| 亚洲第一极品精品无码| 人妻免费无码不卡视频| 亚洲欧美综合精品久久成人网| 国产特级毛片| 美女视频黄频a免费高清不卡| 国产浮力第一页永久地址| 国产麻豆aⅴ精品无码| 在线另类稀缺国产呦| 国产精品私拍在线爆乳| 亚洲欧洲日韩综合| 亚洲国产第一区二区香蕉| 亚洲三级a| 青青青草国产| 成人a免费α片在线视频网站| 免费a级毛片视频| 一本一道波多野结衣av黑人在线| 国产一级做美女做受视频| 国产欧美精品午夜在线播放| 99久视频| av在线无码浏览| аv天堂最新中文在线| 亚洲成人精品久久| 国产经典免费播放视频| 国产成人综合久久精品尤物| 亚洲一级毛片在线观| 国产69精品久久久久妇女| 在线观看91精品国产剧情免费| 久久毛片网| 亚洲国产成人久久精品软件| 国产成人区在线观看视频| 亚洲欧美精品在线| 欧美黄网站免费观看| 色悠久久久| 色亚洲激情综合精品无码视频| 国产精品亚洲五月天高清| 成年人视频一区二区| 日本午夜网站| 久久semm亚洲国产| 亚洲成人一区二区| 2022国产91精品久久久久久| 9啪在线视频| a级毛片毛片免费观看久潮| 免费观看男人免费桶女人视频| 国产欧美日韩在线在线不卡视频| 青青草国产免费国产| 天堂va亚洲va欧美va国产 | 亚洲中字无码AV电影在线观看| 国产精品精品视频| 五月激情综合网| 国产久草视频| 自拍偷拍欧美| 亚洲永久色| 午夜激情婷婷| 色网站在线免费观看| 全部免费特黄特色大片视频| 丁香五月激情图片| 欧美特黄一级大黄录像| 日韩福利在线视频| 日韩福利在线观看| 久久久久久久久18禁秘| 99成人在线观看| 日韩免费成人| 女人av社区男人的天堂| 国产精品专区第一页在线观看| 中文字幕人妻无码系列第三区|