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

        ?

        AutoCAD二次開發(fā)在井中三分量磁測(cè)處理中的應(yīng)用

        2014-12-20 06:53:42尚景濤鄒長春朱吉昌武盟盟
        關(guān)鍵詞:二次開發(fā)系統(tǒng)

        尚景濤,鄒長春,朱吉昌,武盟盟

        (1.中國地質(zhì)大學(xué) 地球物理與信息技術(shù)學(xué)院,北京100083;2.中國科學(xué)院大學(xué),北京100049)

        0 引 言

        井中三分量磁測(cè)以研究巖、礦的磁性為基礎(chǔ),對(duì)測(cè)得的數(shù)據(jù)進(jìn)行相應(yīng)的計(jì)算處理,并按照解釋需要繪制成相應(yīng)的圖形,最后以此作為參照進(jìn)行推斷解釋[1]。通過對(duì)磁異常區(qū)域的磁垂直分量和水平分量等指標(biāo)的分析,可以推斷井底有無礦體,并確定礦頂、礦尾的深度位置[2];根據(jù)異常矢量指向,確定礦體在鉆孔的哪個(gè)方向并估算出距離[3]。其中,作為解釋人員參考的磁測(cè)數(shù)據(jù)繪圖,在推斷解釋中起到了關(guān)鍵的作用。

        在磁測(cè)數(shù)據(jù)繪圖方面,熊選文等[4]開發(fā)了井中三分量磁測(cè)數(shù)據(jù)處理與繪圖軟件;熊杰等[5]在MapGIS二次開發(fā)的基礎(chǔ)上,實(shí)現(xiàn)了井中三分量磁測(cè)圖件的導(dǎo)出功能。然而,隨著工業(yè)制圖軟件AutoCAD 軟件的流行,對(duì)井中三分量磁測(cè)資料的AutoCAD 文件導(dǎo)出功能的需求愈發(fā)強(qiáng)烈。

        AutoCAD是國際上廣為流行的繪圖工具,廣泛應(yīng)用于工業(yè)制圖中。筆者首先研究了AutoCAD 的二次開發(fā)方法,然后選取基于COM 組件方式設(shè)計(jì)并實(shí)現(xiàn)了井中三分量磁測(cè)處理系統(tǒng)中AutoCAD 文件導(dǎo)出模塊,最后結(jié)合實(shí)例,對(duì)導(dǎo)出效果做了分析。

        1 AutoCAD二次開發(fā)方式

        AutoCAD 存在多種二次開發(fā)工具,主要有ADS、Ob-ject ARX、VBA、AutoLISP及.Net開發(fā)方式等[6]。

        ADS是AutoCAD Development System 的簡稱,是C語言開發(fā)的系統(tǒng),具有大規(guī)模復(fù)雜圖形處理的能力,支持第三方開發(fā)的ADS 應(yīng)用程序。但ADS 的開發(fā)周期較長,且開發(fā)者必須對(duì)C或C++語言有很深入的了解。

        Object ARX 的功能比較強(qiáng)大,開發(fā)語言采用VC++。Object ARX 可以直接調(diào)用AutoCAD 中的核心函數(shù),可以定義AutoCAD 數(shù) 據(jù) 庫 對(duì) 象[7]。然 而,Object ARX 要 比ADS復(fù)雜,程序設(shè)計(jì)的錯(cuò)誤會(huì)導(dǎo)致AutoCAD 甚至是操作系統(tǒng)的崩潰。

        VBA 即Microsoft Office中的Visual Basic for Applications開發(fā)環(huán)境,它繼承了Basic和Visual Basic易學(xué)易用的特點(diǎn)。VBA 的執(zhí)行速度要比ADS 快,而且強(qiáng)化了Auto-CAD 與數(shù)據(jù)庫的通信功能。

        AutoLISP語言的優(yōu)點(diǎn)是語法簡單,功能靈活,可以根據(jù)不同的需求,直接對(duì)AutoCAD 內(nèi)部進(jìn)行操作。但AutoLISP只能開發(fā)一些小型的應(yīng)用程序。

        .Net中的AutoCAD 開發(fā)集成了VBA 的特點(diǎn),并且支持C#語言[8]。因此.Net開發(fā)速度快,編程相對(duì)簡單,執(zhí)行高效等優(yōu)勢(shì),適用于中型及大型應(yīng)用程序的開發(fā)。井中三分量磁測(cè)處理系統(tǒng)的AutoCAD 導(dǎo)出功能采用.Net的開發(fā)模式。

        2 軟件設(shè)計(jì)

        井中三分量磁測(cè)處理系統(tǒng)的設(shè)計(jì)目標(biāo)是具有統(tǒng)一的數(shù)據(jù)讀寫接口,能夠快速加載數(shù)據(jù)、分類成圖,且具有很好的可擴(kuò)展性和可維護(hù)性。

        2.1 體系結(jié)構(gòu)設(shè)計(jì)

        井中三分量磁測(cè)數(shù)據(jù)處理系統(tǒng)是一個(gè)完全采用面向?qū)ο笏枷朐O(shè)計(jì)和開發(fā)的應(yīng)用軟件,采用可擴(kuò)展的分層式體系結(jié)構(gòu),將系統(tǒng)從下到上分為數(shù)據(jù)層、支持層和應(yīng)用層。

        數(shù)據(jù)層位于三層體系結(jié)構(gòu)的最底層,負(fù)責(zé)實(shí)際測(cè)井?dāng)?shù)據(jù)的讀寫操作,保證數(shù)據(jù)的同步性和完整性;支持層封裝了數(shù)據(jù)讀寫中的一些復(fù)雜和頻繁的操作,使數(shù)據(jù)的加載和回傳更加方便快捷;最上層是應(yīng)用層,它的設(shè)計(jì)是直接面向用戶的,用于接收用戶輸入的參數(shù),測(cè)井?dāng)?shù)據(jù)的計(jì)算處理,圖形顯示以及用戶與處理系統(tǒng)之間的人機(jī)交互操作。該部分集成了數(shù)據(jù)管理、數(shù)據(jù)格式轉(zhuǎn)換、測(cè)井繪圖、參數(shù)計(jì)算、成果輸出等模塊。

        AutoCAD導(dǎo)出功能位于成果輸出應(yīng)用中,負(fù)責(zé)將已有圖件轉(zhuǎn)換成AutoCAD 能夠識(shí)別的dwg和dxf文件格式。圖1為體系結(jié)構(gòu)。

        2.2 模塊功能設(shè)計(jì)

        井中三分量磁測(cè)數(shù)據(jù)處理系統(tǒng)分為數(shù)據(jù)管理、數(shù)據(jù)格式轉(zhuǎn)換、測(cè)井繪圖、方法掛接和成果輸出等模塊。

        圖1 系統(tǒng)體系結(jié)構(gòu)

        數(shù)據(jù)管理負(fù)責(zé)底層數(shù)據(jù)的操作,包括數(shù)據(jù)的讀寫,批量數(shù)據(jù)的導(dǎo)入與導(dǎo)出,為其它模塊提供數(shù)據(jù)支持。數(shù)據(jù)格式轉(zhuǎn)換模塊包括格式識(shí)別和格式轉(zhuǎn)換功能,通過此模塊,可以將源數(shù)據(jù)的格式轉(zhuǎn)換成平臺(tái)所需的特定格式。測(cè)井繪圖部分是評(píng)價(jià)系統(tǒng)的可視化窗口,該部分可以直觀的展現(xiàn)數(shù)據(jù)的分布和變化趨勢(shì),是測(cè)井解釋的基礎(chǔ)。其圖形包括基礎(chǔ)圖元和復(fù)合圖元,前者包括基本的點(diǎn)、線、面等簡單圖形,如:直線、曲線、矩形、多邊形等;后者則是簡單圖元的特定組合,如:深度道、曲線道、文本道、巖性道等。參數(shù)計(jì)算模塊提供了多種參數(shù)的處理方法。對(duì)于用戶自定義處理方法的需求,本模塊提供了相應(yīng)的接口,可以根據(jù)需求,掛接自定義處理方法。

        AutoCAD文件的導(dǎo)出功能位于成果輸出模塊中,通過調(diào)用相關(guān)的動(dòng)態(tài)鏈接庫,將系統(tǒng)已有圖件進(jìn)行實(shí)體和屬性的轉(zhuǎn)換,寫入AutoCAD 支持的dwg和dxf格式文件中。成果輸出模塊還包括成果圖的輸出,包括矢量圖格式的emf文件和位圖格式的bmp文件。

        系統(tǒng)的整體功能結(jié)構(gòu)圖如圖2所示。

        圖2 整體功能結(jié)構(gòu)

        3 軟件關(guān)鍵部分實(shí)現(xiàn)

        在開發(fā)過程中,項(xiàng)目依賴AutoCAD 2010Type Library和AutoCAD/ObjectDBX Common 18.0Type Library 組 件進(jìn)行開發(fā)。根據(jù)軟件系統(tǒng)的功能結(jié)構(gòu)圖,對(duì)數(shù)據(jù)管理、格式轉(zhuǎn)換、測(cè)井繪圖、參數(shù)計(jì)算以及成果輸出等模塊做了具體實(shí)現(xiàn)。其中,成果輸出中的AutoCAD 文件導(dǎo)出功能很具代表性,現(xiàn)對(duì)其實(shí)現(xiàn)作如下討論。

        3.1 導(dǎo)出簡單圖元

        二維繪圖是AutoCAD 的基本功能,使用其基本函數(shù)[9]能夠繪制出很多基本圖形,如點(diǎn)、線段、折線、矩形、橢圓等圖形。處理系統(tǒng)中的曲線、矢量線、文本及圖像等屬于簡單圖元,在導(dǎo)出時(shí),調(diào)用與其相關(guān)的繪制函數(shù),并設(shè)置實(shí)體的屬性值,即可實(shí)現(xiàn)導(dǎo)出功能。

        3.1.1 曲線生成

        在AutoCAD 中,可以用多線段[10]表示曲線。導(dǎo)出曲線時(shí),需要獲取曲線各個(gè)結(jié)點(diǎn)的坐標(biāo)值,以用來指定Auto-CAD 中多線段生成函數(shù)AcadPolyline的參數(shù)。需要指出的是,AcadPolyline接收雙精度型數(shù)組參數(shù),且數(shù)組中元素按照生成點(diǎn)的x、y、z、x、y、z……的順序依次排列。因?yàn)閷?dǎo)出圖件為二維圖形,z初始值全部為0。

        主要代碼如下:

        3.1.2 矢量線生成

        AutoCAD 提供了AcadLeader接口來定義線段。對(duì)于坐標(biāo)值的定義,線段與多線段類似,只不過線段的參數(shù)數(shù)組元素為固定的6個(gè)數(shù)值,即起始點(diǎn)的x、y、z值和終止點(diǎn)的x、y、z值,其數(shù)值類型也是雙精度類型。

        在線段中,通過枚舉類AcLeaderType來控制線段端點(diǎn)的樣式。矢量線的端點(diǎn)用箭頭表示,這里選擇AcLeader-Type.acLineWithArrow 作為線段端點(diǎn)的樣式參數(shù)。

        矢量線生成的主要代碼如下:

        3.2 導(dǎo)出復(fù)合圖元

        對(duì)于復(fù)合圖元,采用圖元切割分解方式,將一個(gè)復(fù)合圖元拆分成多個(gè)對(duì)應(yīng)的簡單圖元,再分別輸出AutoCAD 實(shí)體。以深度道為例,深度道由矩形框、道頭文本、若干刻度線、若干刻度值等簡單圖元組成。在轉(zhuǎn)換成AutoCAD 實(shí)體時(shí),先將其拆分成簡單圖元,再由簡單圖元調(diào)用相應(yīng)的基本實(shí)體繪制函數(shù),完成復(fù)合圖元的生成。

        圖3是系統(tǒng)輸出復(fù)合圖元時(shí)的調(diào)用結(jié)構(gòu)。

        圖3 復(fù)合圖元調(diào)用結(jié)構(gòu)

        3.3 實(shí)體屬性轉(zhuǎn)換

        在AutoCAD 中,其實(shí)體屬性與C#中的屬性信息不一致,需要進(jìn)行對(duì)應(yīng)轉(zhuǎn)換,從而實(shí)現(xiàn)最大限度的格式信息無損失導(dǎo)出。

        3.3.1 線型設(shè)置

        C#繪圖中的線型通過DashStyle設(shè)置,有Dot、Dash、DashDotDot、DashDot等類型,而AutoCAD 中通過實(shí)體的Linetype來設(shè)置線型,且大部分的線型名稱與C#不一致。通過分支函數(shù)判斷系統(tǒng)中圖件的線型名稱,設(shè)置對(duì)應(yīng)Auto-CAD 中的對(duì)應(yīng)線型,可以將兩種不同的方式統(tǒng)一起來。

        下面是線型轉(zhuǎn)換的主要代碼:

        3.3.2 線寬設(shè)置

        與線型類似,C#中的對(duì)于線寬的設(shè)置與AutoCAD 實(shí)體的線寬設(shè)置存在差異性。C#繪圖中的線寬值可以是任意正浮點(diǎn)數(shù),如1.5,3.75 等,而AutoCAD 中為有限的值,在應(yīng)用時(shí)需將兩者對(duì)應(yīng)起來。通過分析相關(guān)的二次開發(fā)函數(shù)可知,AutoCAD 中通過ACAD_LWEIGHT 設(shè)置線寬,如acLnWt009,acLnWt013等離散值。

        下面是線寬轉(zhuǎn)換的主要代碼:

        3.3.3 顏色設(shè)置

        在AutoCAD 中,利用TrueColor給對(duì)象設(shè)置顏色屬性。TrueColor是一個(gè)AcadAcCmColor對(duì)象,它必須使用GetInterfaceObject方法獲得,不能用new AcadAcCmColor()方法聲明。

        對(duì)于不同的AutoCAD版本,其調(diào)用的函數(shù)參數(shù)[11]不同,AutoCAD 2010 中[12],參 數(shù) 為 “AutoCAD.AcCmColor.18”。在給AcadAcCmColor設(shè)置顏色時(shí),首先需要提取C#顏色對(duì)象的RGB 顏色值,然后將顏色的紅、綠、藍(lán)值作為參數(shù),通過SetRGB方法設(shè)置AutoCAD 屬性顏色。

        下面是顏色轉(zhuǎn)換的主要代碼:

        4 應(yīng)用效果

        將三分量數(shù)據(jù)加載到處理系統(tǒng),選取指定深度的數(shù)據(jù)進(jìn)行參數(shù)計(jì)算,并將成果圖顯示在繪圖面板中。圖4的左半部分是成果圖在井中三分量磁測(cè)系統(tǒng)中的顯示情況,結(jié)果中包括曲線和矢量圖,分別位于與圖頭對(duì)應(yīng)的曲線道中。右半部分是將繪圖部分導(dǎo)出成dwg文件的顯示情況,編輯軟件使用的是AutoCAD 2010。

        圖4 井中三分量磁測(cè)成果對(duì)比

        從兩圖的對(duì)比可以看出,導(dǎo)出文件的實(shí)體與井中三分量系統(tǒng)中的圖件一一對(duì)應(yīng)。曲線、矢量線等磁測(cè)數(shù)據(jù)表征量的形態(tài)大小一致,線型、線寬、顏色等屬性對(duì)應(yīng)性良好。導(dǎo)出的dwg文件在AutoCAD 軟件中可以做任意編輯,滿足需求。

        5 結(jié)束語

        井中三分量磁測(cè)是一種有效的尋找鐵磁性固體礦產(chǎn)的井中物探方法,井中三分量磁測(cè)處理系統(tǒng)能夠快速、有效的處理磁測(cè)數(shù)據(jù)。在研究了AutoCAD 二次開發(fā)方式的基礎(chǔ)上,完成了井中三分量磁測(cè)處理系統(tǒng)及其AutoCAD 文件導(dǎo)出模塊。

        通過以上工作,取得如下結(jié)論:

        (1)實(shí)現(xiàn)了井中三分量磁測(cè)結(jié)果導(dǎo)出功能,能夠快速、有效生成AutoCAD 可識(shí)別的dwg、dxf文件。

        (2)C#繪圖提供的繪圖屬性與AutoCAD 實(shí)體的屬性不一致,通過線型、線寬及顏色等屬性的轉(zhuǎn)換,實(shí)現(xiàn)了圖件信息的無損失導(dǎo)出。

        (3)由圖件的導(dǎo)出效果可見,導(dǎo)出文件能夠成功在AutoCAD 中加載和編輯,符合地質(zhì)找礦的需求。

        [1]XIAO Kun,ZOU Changchun,ZHOU Xinpeng,et al.Analysis of borehole magnetic survey logging data in NLSD-1borehole of Nanling scientific drill[J].Metal Mine,2013,42 (1):104-106 (in Chinese).[肖昆,鄒長春,周新鵬,等.南嶺科學(xué)鉆探NLSD-1孔井中磁測(cè)資料分析 [J].金屬礦山,2013,42 (1):104-106.]

        [2]WANG Qingyi,LI Xuesheng,XU Lizhong.The high-preci-sion borehole three-component magnetic measurement system:an effective tool in search for deep deposits in mines[J].Geophysical and Geochemical Exploration,2009,33 (3):235-244(in Chinese).[王慶乙,李學(xué)圣,徐立忠.高精度井中三分量磁測(cè)是礦山深部找礦的有效手段 [J].物探與化探,2009,33(3):235-244.]

        [3]ZHONG Mingfeng,LIU Zhiyou,MA Wenwen.Application of the method of borehole three-component magnetic survey to metallic ore prospecting in bielisaibei and kayakedeng regions[J].Chinese Journal of Engineering Geophysics,2012,9(4):419-422 (in Chinese).[鐘明峰,劉志友,馬文文.井中三分量磁測(cè)在別里塞北—喀雅克登地區(qū)金屬礦勘探中的應(yīng)用[J].工程地球物理學(xué)報(bào),2012,9 (4):419-422.]

        [4]XIONG Xuanwen,ZOU Changchun.The design and implementation of the data processing and drawing system for borehole threecomponent magnetic measurement[J].Geophysical and Geochemical Exploration,2008,32 (6):685-689(in Chinese).[熊選文,鄒長春.井中三分量磁測(cè)數(shù)據(jù)轉(zhuǎn)換及繪圖軟件的設(shè)計(jì)和實(shí)現(xiàn)[J].物探與化探,2008,32 (6):685-689.]

        [5]XIONG Jie,ZOU Changchun,LIU Zhiyou.The application of MapGIS secondary development to the borehole three-component magnetic data processing software [J].Geophysical and Geochemical Exploration,2012,36 (3):479-484 (in Chinese).[熊杰,鄒長春,劉志友.MapGIS二次開發(fā)在井中三分量磁測(cè)軟件中的應(yīng)用 [J].物探與化探,2012,36 (3):479-484.]

        [6]LIU Lequan,ZUO Shaohui,ZHANG Huajun.Development of electrical design software based on ObjectARX [J].Computer Applications and Software,2012,29 (8):226-228 (in Chinese).[劉樂全,左少輝,張華俊.基于ObjectARX 的電氣設(shè)計(jì)軟件開發(fā) [J].計(jì)算機(jī)應(yīng)用與軟件,2012,29 (8):226-228.]

        [7]XI Shiliang.The application example of AutoCAD second development with ObjectARX [J].Construction & Design for Project,2010 (11):88-91 (in Chinese).[席世亮.運(yùn)用ObjectARX進(jìn)行AutoCAD二次開發(fā)實(shí)例 [J].工程建設(shè)與設(shè)計(jì),2010 (11):88-91.]

        [8]LONGMA Studio.AutoCAD 2010complete self-study workbook [M].Beijing:People’s Posts and Telecommunications Publishing House,2011 (in Chinese). [龍馬工作室.Auto-CAD 2010 完 全 自 學(xué) 手 冊(cè) [M].北 京:人 民 郵 電 出 版社,2011.]

        [9]XU Jinjuan.Mechanical design based on AutoCAD auxiliary tool in the research and development[D].Qingdao:Qingdao University,2011 (in Chinese). [徐金娟.基于AutoCAD 的機(jī)械設(shè)計(jì)輔助工具的研究與開發(fā) [D].青島:青島大學(xué),2011.]

        [10]AutoCAD 2010takes design to another level[J].Computer Graphics World,2009,32 (5):6-7.

        [11]YU Xiaorong,GUO Changyan,CHEN Gang.Research of AutoCAD secondary development frames unify ObjectARX and C# [J].Science Technology and Engineering,2010,10(20):5085-5091 (in Chinese). [于蕭榕,郭 昌 言,陳 剛.結(jié)合ObjectARX 和C#進(jìn)行AutoCAD 二次開發(fā)框架的研究[J].科學(xué)技術(shù)與工程,2010,10 (20):5085-5091.]

        [12]GENG Guoqiang,ZHANG Hongsong,HU Renxi,et a1.AutoCAD2010portal and improve of Chinese edition [M].Beijing:Chemical Industry Press,2009 (in Chinese).[耿國強(qiáng),張紅松,胡仁喜,等.AutoCAD2010中文版入門與提高[M].北京:化工出版社,2009.]

        猜你喜歡
        二次開發(fā)系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        淺談基于Revit平臺(tái)的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        基于PowerPC+FPGA顯示系統(tǒng)
        西門子Operate高級(jí)編程的旋轉(zhuǎn)坐標(biāo)系二次開發(fā)
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        半沸制皂系統(tǒng)(下)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        Micaps3.2 版本二次開發(fā)入門淺析
        西藏科技(2015年12期)2015-09-26 12:13:51
        亚洲av熟女一区二区三区站| 亚洲精品成人av观看| 日本女优在线观看一区二区三区| 毛片精品一区二区二区三区| 亚洲爆乳无码精品aaa片蜜桃| 强行无套内谢大学生初次| 最新国产午夜福利| 久久夜色精品国产亚洲av老牛| 中文字幕漂亮人妻在线| 又大又粗又爽18禁免费看| 四虎4545www国产精品| 色偷偷av一区二区三区人妖| 亚洲无人区乱码中文字幕能看| 18禁黄污吃奶免费看网站| 精品无码一区二区三区爱欲九九| 久久久久亚洲AV无码专区一区| 日本视频一区二区三区在线 | 东京热久久综合久久88| 男女上床视频免费网站| 日本一本一道久久香蕉男人的天堂| 国产精品亚洲av无人区一区蜜桃| 国产在线一区二区三区乱码| 亚洲av无码一区二区乱孑伦as| 久久频道毛片免费不卡片| 日韩精品免费一区二区中文字幕| 国产av剧情一区二区三区| 激情第一区仑乱| 亚洲国产精品线观看不卡| 伊人影院成人在线观看| 国产成人午夜福利在线观看| 亚洲色自偷自拍另类小说| 人妻中文字幕不卡精品| 亚洲国产精品一区亚洲国产| 日韩一区在线精品视频| 免费99精品国产自在在线| 亚洲 无码 制服 丝袜 自拍| 精品亚洲在线一区二区| 午夜免费视频| 中文字幕一区二区三区久久网站| 久久精品国产亚洲av热九| 国产自拍视频免费在线|