• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

    2014-12-20 06:53:42尚景濤鄒長春朱吉昌武盟盟
    計算機工程與設(shè)計 2014年11期
    關(guān)鍵詞:磁測圖件線寬

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

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

    0 引 言

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

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

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

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

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

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

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

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

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

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

    2 軟件設(shè)計

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

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

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

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

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

    2.2 模塊功能設(shè)計

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

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

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

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

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

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

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

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

    3.1 導出簡單圖元

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

    3.1.1 曲線生成

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

    主要代碼如下:

    3.1.2 矢量線生成

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

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

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

    3.2 導出復合圖元

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

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

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

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

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

    3.3.1 線型設(shè)置

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

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

    3.3.2 線寬設(shè)置

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

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

    3.3.3 顏色設(shè)置

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

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

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

    4 應(yīng)用效果

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

    圖4 井中三分量磁測成果對比

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

    5 結(jié)束語

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

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

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

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

    (3)由圖件的導出效果可見,導出文件能夠成功在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).[肖昆,鄒長春,周新鵬,等.南嶺科學鉆探NLSD-1孔井中磁測資料分析 [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).[王慶乙,李學圣,徐立忠.高精度井中三分量磁測是礦山深部找礦的有效手段 [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).[鐘明峰,劉志友,馬文文.井中三分量磁測在別里塞北—喀雅克登地區(qū)金屬礦勘探中的應(yīng)用[J].工程地球物理學報,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).[熊選文,鄒長春.井中三分量磁測數(shù)據(jù)轉(zhuǎn)換及繪圖軟件的設(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ā)在井中三分量磁測軟件中的應(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è)計軟件開發(fā) [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).[席世亮.運用ObjectARX進行AutoCAD二次開發(fā)實例 [J].工程建設(shè)與設(shè)計,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 完 全 自 學 手 冊 [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 的機械設(shè)計輔助工具的研究與開發(fā) [D].青島:青島大學,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#進行AutoCAD 二次開發(fā)框架的研究[J].科學技術(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).[耿國強,張紅松,胡仁喜,等.AutoCAD2010中文版入門與提高[M].北京:化工出版社,2009.]

    猜你喜歡
    磁測圖件線寬
    印制板制造中量化蝕刻研究
    一種地質(zhì)圖件數(shù)據(jù)管理系統(tǒng)設(shè)計思路
    生產(chǎn)過程中的PCB線寬分析研究
    遙感解譯成果圖件矢量化方法技術(shù)研究*
    高精度磁測技術(shù)在塞拉利昂北方省GPAFAYA鐵礦勘查中的應(yīng)用
    一種磁測探頭定位及位置獲取機構(gòu)
    機械工程師(2020年1期)2020-02-11 04:41:46
    Excel圖形轉(zhuǎn)入CorelDRAW技巧
    基于MapGIS和ArcGIS的遙感解譯成果圖件數(shù)據(jù)庫設(shè)計與實現(xiàn)
    利用福建地區(qū)磁測資料計算分析居里面深度
    地震研究(2017年3期)2017-11-06 19:13:05
    河北省磁測工作部署初探
    隆安县| 象州县| 米脂县| 定西市| 隆子县| 四平市| 义马市| 吉木乃县| 东乌| 张家界市| 唐山市| 三门峡市| 台南市| 安化县| 喀什市| 龙南县| 长岭县| 泸溪县| 东明县| 新丰县| 天水市| 罗城| 郁南县| 杂多县| 龙胜| 布尔津县| 合川市| 宜州市| 黎川县| 永仁县| 博白县| 泰兴市| 刚察县| 都兰县| 马尔康县| 沂水县| 凤翔县| 丰县| 富锦市| 化德县| 巢湖市|