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

        ?

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

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

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

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

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

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

        課題。

        1 Teigha與工程圖紙

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

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

        2 開發(fā)準(zhǔn)備工作

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

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

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

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

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

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

        3 程序設(shè)計(jì)與實(shí)現(xiàn)

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

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

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

        當(dāng)用戶點(diǎn)擊“打開”按鈕時,程序顯示“請稍等”的進(jìn)度提示信息,并顯示正在打開的圖紙文件路徑。

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

        程序在手機(jī)模擬器中的運(yùn)行效果如圖2所示。

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

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

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

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

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

        通過對本瀏覽器的功能分割和細(xì)化,得出程序主要包含MainActivity、DrawingViewActivity、DrawingView、Renderer、ViewerToolbar等類,其中MainActivity類實(shí)現(xiàn)主界面按鈕、菜單等功能,DrawingViewActivity類實(shí)現(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類響應(yīng)用戶對圖紙縮放、平移、滑動手指等操作。

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

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

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

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

        4 結(jié)束語

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

        參考文獻(xiàn)

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

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

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

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

        作者簡介

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

        通過對本瀏覽器的功能分割和細(xì)化,得出程序主要包含MainActivity、DrawingViewActivity、DrawingView、Renderer、ViewerToolbar等類,其中MainActivity類實(shí)現(xiàn)主界面按鈕、菜單等功能,DrawingViewActivity類實(shí)現(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類響應(yīng)用戶對圖紙縮放、平移、滑動手指等操作。

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

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

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

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

        4 結(jié)束語

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

        參考文獻(xiàn)

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

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

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

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

        作者簡介

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

        通過對本瀏覽器的功能分割和細(xì)化,得出程序主要包含MainActivity、DrawingViewActivity、DrawingView、Renderer、ViewerToolbar等類,其中MainActivity類實(shí)現(xiàn)主界面按鈕、菜單等功能,DrawingViewActivity類實(shí)現(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類響應(yīng)用戶對圖紙縮放、平移、滑動手指等操作。

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

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

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

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

        4 結(jié)束語

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

        參考文獻(xiàn)

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

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

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

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

        作者簡介

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

        猜你喜歡
        工程圖紙
        基于注意力機(jī)制結(jié)合改進(jìn)動態(tài)ReLU的輸變電工程圖紙智能評審方法
        一種計(jì)算機(jī)聯(lián)鎖機(jī)柜工程圖紙的自動化生成方法
        研究電力工程圖紙網(wǎng)絡(luò)化管理系統(tǒng)的實(shí)現(xiàn)
        建筑工程節(jié)約型施工現(xiàn)場管理體系的應(yīng)用探微
        電氣安裝工程圖紙審核要點(diǎn)探析
        新世界陽光花園【西區(qū)】樓號變更通知
        走向世界(2008年22期)2008-12-16 10:43:44
        91国视频| 欧美成人秋霞久久aa片| 亚洲精品www久久久| 亚洲av理论在线电影网| h动漫尤物视频| 人妻有码av中文幕久久| 成年女人a级毛片免费观看| 国产精品视频二区不卡| 成人精品国产亚洲欧洲| 久久久亚洲av午夜精品| 99无码熟妇丰满人妻啪啪| 丰满人妻熟妇乱又伦精品视| а的天堂网最新版在线| 综合久久精品亚洲天堂| 99久久99久久精品免费看蜜桃| 欧美性猛交xxxx乱大交丰满| 亚洲免费毛片网| 久久精品女同亚洲女同| 色一情一乱一伦| 在线观看国产高清免费不卡黄| 成人影院免费观看在线播放视频| 精品一区中文字幕在线观看| 老司机亚洲精品影院| 精品乱子伦一区二区三区| 一本之道加勒比在线观看| 成午夜福利人试看120秒| 亚洲中文字幕无码久久| 91狼友在线观看免费完整版| 最新在线观看免费的a站国产| 亚洲精品国偷拍自产在线观看| 国产精品刺激好大好爽视频| 国产成人精品自拍在线观看| 激情人妻另类人妻伦| 精品久久久噜噜噜久久久| 一本一道AⅤ无码中文字幕| 日韩精品极品系列在线免费视频| 天天狠天天添日日拍| 色综合久久综合欧美综合图片| 一区二区三区精品亚洲视频| 国产精品高清一区二区三区不卡| 亚洲不卡中文字幕无码|