亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Teigha技術實現(xiàn)Android系統(tǒng)工程圖紙瀏覽器

        2014-11-26 15:58:47廖顯幸
        新媒體研究 2014年16期
        關鍵詞:工程圖紙

        摘 要 基于Teigha技術,在Android系統(tǒng)中設計和實現(xiàn)工程圖紙瀏覽器,解決用戶在Android系統(tǒng)中無法直接瀏覽工程圖紙的難題。根據(jù)瀏覽器的基本需求,設計了程序的基本用例圖、界面布局、基本架構和主要的類功能,給出了關鍵的圖形瀏覽操作控制代碼,開發(fā)和實現(xiàn)了工程圖紙瀏覽器程序,為在移動設備中實現(xiàn)工程圖紙瀏覽器提供了借鑒思路。

        關鍵詞 Teigha;Android;工程圖紙;瀏覽器開發(fā)

        中圖分類號:TP311 文獻標識碼:A 文章編號:1671-7597(2014)16-0033-04

        在當今全球移動互聯(lián)網(wǎng)技術快速發(fā)展的大背景下,智能手機和平板設備得到了前所未有的普及和應用,這場技術變革正在深刻地影響著人們的生活和工作方式。在我國工程勘察設計行業(yè)當中,工程設計圖紙是企業(yè)的主要產(chǎn)品,也是企業(yè)的寶貴財富,無論是在企業(yè)內(nèi)部,還是在野外工地勘察,人們都需要經(jīng)常與圖紙打交道,但是由于傳統(tǒng)的紙質圖紙存在出版成本高、加重環(huán)境污染、容易損壞、攜帶不方便等問題,如何充分利用移動設備的輕薄便捷、節(jié)能環(huán)保高效、操作靈活等特性來實現(xiàn)對工程圖紙的隨時隨地瀏覽和交流,是人們積極探索的前沿

        課題。

        1 Teigha與工程圖紙

        眾所周知,目前大多數(shù)工程圖紙都是通過Autodesk公司的AutoCAD軟件來繪制的,其生成的文件是DWG格式,是一種封閉的圖形文檔格式,由于Autodesk公司不提供免費開放的訪問接口,使得圖紙在數(shù)據(jù)交換和瀏覽方面存在不少的障礙,因而用戶在Android系統(tǒng)中無法像瀏覽普通光柵圖像那樣直接瀏覽DWG文件。

        Teigha是美國Open Design Alliance(ODA聯(lián)盟)經(jīng)過多年潛心研究和開發(fā)的一套專門用于讀寫DWG、DGN等文件格式的軟件開發(fā)包,它提供了以C++為基礎的面向對象開發(fā)接口,通過它能快速讀寫DWG圖形文件內(nèi)容。它能夠正確分析和解釋DWG及DGN格式信息,并且支持目前最新版本的DWG文件格式,其大多數(shù)接口和類庫的名稱及其功能都與AutoCAD的二次開發(fā)庫ObjectARX接近,為熟悉ObjectARX技術的開發(fā)者帶來了便利。近期,ODA聯(lián)盟發(fā)布了支持Android系統(tǒng)的開發(fā)包“Teigha Android MinGW”,本文將探討如何利用這一開發(fā)包,在Android平臺中構建和開發(fā)出面向工程圖紙的瀏覽器,同時支持TIFF、JPG等常見圖形文件的瀏覽。

        2 開發(fā)準備工作

        1)下載Teigha Android MinGW軟件開發(fā)包。

        首先,訪問ODA聯(lián)盟網(wǎng)站http://www.opendesign.com,注冊會員并完成相關協(xié)議的簽訂成為聯(lián)盟會員。

        其次,以會員賬號登錄網(wǎng)站會員區(qū),下載“Teigha Android MinGW”開發(fā)包,并解壓到本地磁盤工作目錄,查閱英文版開發(fā)說明文檔。

        2)安裝和配置MinGW開發(fā)庫。MinGW是一個可自由使用和發(fā)布的Windows特定頭文件和使用GNU工具集導入庫的集合,允許用戶在GNU/Linux和Windows平臺中生成本地的Windows程序而不需要第三方C運行時庫的支持。

        用戶需訪問MinGW官方網(wǎng)站http://www.mingw.org,下載程序安裝包,并按說明進行安裝和配置。

        3)配置Android手機App開發(fā)環(huán)境。開發(fā)Android手機App,需要開發(fā)者安裝和配置JDK、Android SDK、Eclipse及ADT插件、創(chuàng)建AVD等,具體操作步驟請參考相關說明文檔或技術論壇。

        3 程序設計與實現(xiàn)

        1)基本用例。作為一款工程圖紙瀏覽器軟件,它應該包含打開圖紙文件、瀏覽圖紙、放大圖紙、縮小圖紙、平移圖紙、關閉圖紙等功能,另外,由于DWG文件包含模型空間和圖紙空間(布局)概念,用戶可以在不同的布局內(nèi)繪制圖形內(nèi)容,同時用戶還可以在圖紙空間當中,透過視口裁剪模型空間的部分圖形內(nèi)容,因此瀏覽器需要支持切換圖紙布局的功能。

        經(jīng)過以上分析,我們繪制出程序的基本用例圖,如圖1所示。

        2)界面布局設計。為了便于用戶瀏覽圖紙,我們將程序界面設計為全屏模式,并將常用操作按鈕放置在主界面的底部,實現(xiàn)操作按鈕的自動隱藏,當用戶觸摸屏幕時,自動顯示出操作按鈕,以便在用戶瀏覽圖紙時,使屏幕的可視圖形范圍最大化。

        當用戶點擊“打開”按鈕時,程序顯示“請稍等”的進度提示信息,并顯示正在打開的圖紙文件路徑。

        當程序打開圖紙后,程序全屏顯示圖形內(nèi)容,用戶可通過點擊按鈕或者滑動手指的方式,對圖形進行放大、縮小、平移等操作。

        程序在手機模擬器中的運行效果如圖2所示。

        3)程序基本架構。ODA聯(lián)盟的Teigha技術支持多種平臺應用程序的開發(fā),其中針對Android平臺的開發(fā)包叫“Teigha Android MinGW”,它是一個Java本地接口(Java Native Interface,JNI),我們將之稱為“TeighaDWGJni”。

        我們知道,JNI標準是Java平臺的一部分,它使得在Java虛擬機(VM)內(nèi)部運行的Java代碼能夠與其他語言(如C、C++和匯編語言)編寫的程序進行交互操作。

        為了支持Android系統(tǒng),Teigha通過JNI將DWG核心技術移植到Java平臺下運行,因此,我們將利用TeighaDWGJni接口實現(xiàn)對DWG文件的打開和瀏覽等功能。

        為了提高圖形的渲染效率,瀏覽器充分利用Android系統(tǒng)對OpenGL的支持,實現(xiàn)對圖形的高效渲染效果。程序基本架構圖如圖3所示。

        ②界面交互及渲染類。在一個Android應用中,Activity是一個應用程序組件,它提供一個界面,用戶可以通過對它的操作來完成某項任務。一個Activity通常就是一個單獨的屏幕,程序可以在Activity上面放置各種控件,也可以監(jiān)聽用戶的操作,并響應相關事件。一個程序可包含多個Activity,Activity之間的切換,可通過Intent進行傳遞參數(shù)。endprint

        通過對本瀏覽器的功能分割和細化,得出程序主要包含MainActivity、DrawingViewActivity、DrawingView、Renderer、ViewerToolbar等類,其中MainActivity類實現(xiàn)主界面按鈕、菜單等功能,DrawingViewActivity類實現(xiàn)圖形文件內(nèi)容的顯示與交互操作,另外,它還依賴OpenGL渲染器(Renderer)來渲染圖形內(nèi)容,ViewerToolbar主要用于反饋渲染效率等信息。(圖5)

        程序執(zhí)行的流程是首先創(chuàng)建一個DrawingViewActivity對象,然后創(chuàng)建DrawingView對象,并初始化TeighaDWGJni接口,加載Teigha動態(tài)庫,創(chuàng)建渲染器,然后創(chuàng)建新線程來打開圖紙文件。最后由DrawingViewActivity類響應用戶對圖紙縮放、平移、滑動手指等操作。

        5)編碼實現(xiàn)。

        ①建立工程圖紙瀏覽器App工程。配置好Android應用程序開發(fā)環(huán)境后,即可通過Eclipse建立Android應用程序代碼工程,同時根據(jù)界面布局設計,完成瀏覽器主界面菜單和按鈕的UI設計,然后編碼代碼實現(xiàn)各個類的功能。

        ②關鍵實現(xiàn)代碼。在DrawingViewActivity類的onCreate方法中,首先創(chuàng)建DrawingView對象并初始化TeighaDWGJni接口環(huán)境,然后從界面跳轉參數(shù)中獲取圖紙文件路徑,創(chuàng)建新線程來打開圖紙文件,具體實現(xiàn)代碼如下。

        ③程序調試。完成程序代碼的編寫和編譯后,即可將程序包加載到Android系統(tǒng)設備模擬器當中進行調試和測試。

        4 結束語

        利用Teigha JNI開發(fā)庫其強大的DWG文件解釋和圖形處理能力,結合OpenGL圖形渲染技術,使瀏覽器能夠在脫離AutoCAD平臺的條件下,能夠打開和渲染DWG圖形內(nèi)容,同時實現(xiàn)圖形的縮放、旋轉、平移等瀏覽操作,對在移動設備中實現(xiàn)工程圖紙瀏覽器提供了很好的借鑒思路。今后可在此基礎之上,結合企業(yè)應用需求,在瀏覽器中實現(xiàn)圖紙打印、加密瀏覽,以及增加云圖和標注及備注等功能,為今后圖紙的移動校審需求提供支持,同時還可將瀏覽器嵌入?yún)f(xié)同設計系統(tǒng)中,實現(xiàn)移動平臺的工程圖紙協(xié)同設計,應用前景廣闊。

        參考文獻

        [1]Open Design Alliance.Teigha Developer Guide,2014.

        [2]李剛.瘋狂Android講義(第2版)[M].電子工業(yè)出版社,2013.

        [3](美)邁耶. Android 4 高級編程(第3版)[M].社清華大學出版社,2013.

        [4](美)Bill Phillips Brian Hardy.Android編程權威指南[M].人民郵電出版社,2014.

        作者簡介

        廖顯幸(1980-),男,從事CAD和企業(yè)信息化等領域的技術研發(fā)和項目管理工作。endprint

        通過對本瀏覽器的功能分割和細化,得出程序主要包含MainActivity、DrawingViewActivity、DrawingView、Renderer、ViewerToolbar等類,其中MainActivity類實現(xiàn)主界面按鈕、菜單等功能,DrawingViewActivity類實現(xiàn)圖形文件內(nèi)容的顯示與交互操作,另外,它還依賴OpenGL渲染器(Renderer)來渲染圖形內(nèi)容,ViewerToolbar主要用于反饋渲染效率等信息。(圖5)

        程序執(zhí)行的流程是首先創(chuàng)建一個DrawingViewActivity對象,然后創(chuàng)建DrawingView對象,并初始化TeighaDWGJni接口,加載Teigha動態(tài)庫,創(chuàng)建渲染器,然后創(chuàng)建新線程來打開圖紙文件。最后由DrawingViewActivity類響應用戶對圖紙縮放、平移、滑動手指等操作。

        5)編碼實現(xiàn)。

        ①建立工程圖紙瀏覽器App工程。配置好Android應用程序開發(fā)環(huán)境后,即可通過Eclipse建立Android應用程序代碼工程,同時根據(jù)界面布局設計,完成瀏覽器主界面菜單和按鈕的UI設計,然后編碼代碼實現(xiàn)各個類的功能。

        ②關鍵實現(xiàn)代碼。在DrawingViewActivity類的onCreate方法中,首先創(chuàng)建DrawingView對象并初始化TeighaDWGJni接口環(huán)境,然后從界面跳轉參數(shù)中獲取圖紙文件路徑,創(chuàng)建新線程來打開圖紙文件,具體實現(xiàn)代碼如下。

        ③程序調試。完成程序代碼的編寫和編譯后,即可將程序包加載到Android系統(tǒng)設備模擬器當中進行調試和測試。

        4 結束語

        利用Teigha JNI開發(fā)庫其強大的DWG文件解釋和圖形處理能力,結合OpenGL圖形渲染技術,使瀏覽器能夠在脫離AutoCAD平臺的條件下,能夠打開和渲染DWG圖形內(nèi)容,同時實現(xiàn)圖形的縮放、旋轉、平移等瀏覽操作,對在移動設備中實現(xiàn)工程圖紙瀏覽器提供了很好的借鑒思路。今后可在此基礎之上,結合企業(yè)應用需求,在瀏覽器中實現(xiàn)圖紙打印、加密瀏覽,以及增加云圖和標注及備注等功能,為今后圖紙的移動校審需求提供支持,同時還可將瀏覽器嵌入?yún)f(xié)同設計系統(tǒng)中,實現(xiàn)移動平臺的工程圖紙協(xié)同設計,應用前景廣闊。

        參考文獻

        [1]Open Design Alliance.Teigha Developer Guide,2014.

        [2]李剛.瘋狂Android講義(第2版)[M].電子工業(yè)出版社,2013.

        [3](美)邁耶. Android 4 高級編程(第3版)[M].社清華大學出版社,2013.

        [4](美)Bill Phillips Brian Hardy.Android編程權威指南[M].人民郵電出版社,2014.

        作者簡介

        廖顯幸(1980-),男,從事CAD和企業(yè)信息化等領域的技術研發(fā)和項目管理工作。endprint

        通過對本瀏覽器的功能分割和細化,得出程序主要包含MainActivity、DrawingViewActivity、DrawingView、Renderer、ViewerToolbar等類,其中MainActivity類實現(xiàn)主界面按鈕、菜單等功能,DrawingViewActivity類實現(xiàn)圖形文件內(nèi)容的顯示與交互操作,另外,它還依賴OpenGL渲染器(Renderer)來渲染圖形內(nèi)容,ViewerToolbar主要用于反饋渲染效率等信息。(圖5)

        程序執(zhí)行的流程是首先創(chuàng)建一個DrawingViewActivity對象,然后創(chuàng)建DrawingView對象,并初始化TeighaDWGJni接口,加載Teigha動態(tài)庫,創(chuàng)建渲染器,然后創(chuàng)建新線程來打開圖紙文件。最后由DrawingViewActivity類響應用戶對圖紙縮放、平移、滑動手指等操作。

        5)編碼實現(xiàn)。

        ①建立工程圖紙瀏覽器App工程。配置好Android應用程序開發(fā)環(huán)境后,即可通過Eclipse建立Android應用程序代碼工程,同時根據(jù)界面布局設計,完成瀏覽器主界面菜單和按鈕的UI設計,然后編碼代碼實現(xiàn)各個類的功能。

        ②關鍵實現(xiàn)代碼。在DrawingViewActivity類的onCreate方法中,首先創(chuàng)建DrawingView對象并初始化TeighaDWGJni接口環(huán)境,然后從界面跳轉參數(shù)中獲取圖紙文件路徑,創(chuàng)建新線程來打開圖紙文件,具體實現(xiàn)代碼如下。

        ③程序調試。完成程序代碼的編寫和編譯后,即可將程序包加載到Android系統(tǒng)設備模擬器當中進行調試和測試。

        4 結束語

        利用Teigha JNI開發(fā)庫其強大的DWG文件解釋和圖形處理能力,結合OpenGL圖形渲染技術,使瀏覽器能夠在脫離AutoCAD平臺的條件下,能夠打開和渲染DWG圖形內(nèi)容,同時實現(xiàn)圖形的縮放、旋轉、平移等瀏覽操作,對在移動設備中實現(xiàn)工程圖紙瀏覽器提供了很好的借鑒思路。今后可在此基礎之上,結合企業(yè)應用需求,在瀏覽器中實現(xiàn)圖紙打印、加密瀏覽,以及增加云圖和標注及備注等功能,為今后圖紙的移動校審需求提供支持,同時還可將瀏覽器嵌入?yún)f(xié)同設計系統(tǒng)中,實現(xiàn)移動平臺的工程圖紙協(xié)同設計,應用前景廣闊。

        參考文獻

        [1]Open Design Alliance.Teigha Developer Guide,2014.

        [2]李剛.瘋狂Android講義(第2版)[M].電子工業(yè)出版社,2013.

        [3](美)邁耶. Android 4 高級編程(第3版)[M].社清華大學出版社,2013.

        [4](美)Bill Phillips Brian Hardy.Android編程權威指南[M].人民郵電出版社,2014.

        作者簡介

        廖顯幸(1980-),男,從事CAD和企業(yè)信息化等領域的技術研發(fā)和項目管理工作。endprint

        猜你喜歡
        工程圖紙
        基于注意力機制結合改進動態(tài)ReLU的輸變電工程圖紙智能評審方法
        一種計算機聯(lián)鎖機柜工程圖紙的自動化生成方法
        研究電力工程圖紙網(wǎng)絡化管理系統(tǒng)的實現(xiàn)
        建筑工程節(jié)約型施工現(xiàn)場管理體系的應用探微
        電氣安裝工程圖紙審核要點探析
        新世界陽光花園【西區(qū)】樓號變更通知
        走向世界(2008年22期)2008-12-16 10:43:44
        久久无码字幕中文久久无码| 日韩狼人精品在线观看| 国产精品自拍网站在线| 亚洲视频网站大全免费看| 在线看片免费人成视频久网下载| 视频一区二区在线播放| 国产熟女自拍视频网站| 精彩视频在线观看一区二区三区| 久9re热视频这里只有精品| 国产三级在线观看免费| 亚洲国产福利成人一区二区| 国产影院一区二区在线| 美女扒开屁股让男人桶| 欧美性猛交内射兽交老熟妇| 亚洲人成18禁网站| 亚洲一区二区三区四区精品| 国产大片内射1区2区| 亚洲精品久久无码av片软件| 午夜无码片在线观看影院y| 国产精品自拍盗摄自拍 | 日本55丰满熟妇厨房伦| 国产美女亚洲精品一区| 国产精品国三级国产a| 在线涩涩免费观看国产精品| 国产小视频网址| 日本一区二区午夜视频| 天堂8在线新版官网| 国产欧美亚洲精品a| 国产午夜亚洲精品不卡免下载| 日韩精品一区二区免费| 国产av无码专区亚洲av毛网站| 国产小视频网址| av有码在线一区二区三区| 人妻中文字幕乱人伦在线| 人人妻人人澡人人爽曰本| 中文字幕亚洲区第一页| 媚药丝袜美女高清一二区| 另类老妇奶性生bbwbbw| 99精品久久久中文字幕| 中文字幕av素人专区| 欧美人做人爱a全程免费|