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

        ?

        基于C#的AutoCAD二次開(kāi)發(fā)技術(shù)在工程物探制圖中的應(yīng)用

        2024-11-05 00:00:00林孝城
        科技創(chuàng)新與應(yīng)用 2024年30期

        摘 要:在工程物探領(lǐng)域,大量的成果圖件主要采用AutoCAD軟件人工制圖形成,該項(xiàng)工作不僅重復(fù)繁瑣,效率低下,而且容易出錯(cuò),嚴(yán)重影響物探制圖精度。為此,該文采用C#高級(jí)程序設(shè)計(jì)語(yǔ)言對(duì)AutoCAD進(jìn)行二次開(kāi)發(fā),通過(guò)編程將物探制圖過(guò)程中大量可自動(dòng)執(zhí)行的、復(fù)雜的且易出錯(cuò)的操作進(jìn)行有效封裝,開(kāi)發(fā)適用于工程物探制圖領(lǐng)域的“工程物探制圖”程序集。工程實(shí)踐表明,利用基于C#的AutoCAD二次開(kāi)發(fā)技術(shù)開(kāi)發(fā)的程序集,可高效、準(zhǔn)確地繪制物探專題圖件,極大地提高工程物探制圖的效率,并降低出錯(cuò)的概率。

        關(guān)鍵詞:C#;AutoCAD;二次開(kāi)發(fā);.NET;物探;制圖

        中圖分類(lèi)號(hào):TP317.3 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2024)30-0160-04

        Abstract: In the field of engineering geophysical exploration, a large number of achievement maps are mainly formed manually by using AutoCAD software. This work is not only repetitive and cumbersome, inefficient, but also prone to errors, which seriously affects the accuracy of geophysical mapping. To this end, this paper uses C# high-level programming language to secondary develop AutoCAD. Through programming, a large number of automatically executed, complex and error-prone operations in the geophysical mapping process are effectively encapsulated, and a program set suitable for the field of engineering geophysical mapping is developed. "Engineering geophysical mapping" program set is developed. Engineering practice has shown that the program set developed using the C#-based AutoCAD secondary development technology can efficiently and accurately draw geophysical thematic maps, greatly improve the efficiency of engineering geophysical mapping, and reduce the probability of errors.

        Keywords: C#; AutoCAD; secondary development; .NET; geowyIo47sXiHBmRUuLOVXUZ8sObx5ts+z5uVaenXtZUy4=physical exploration; mapping

        AutoCAD(Autodesk Computer Aided Design)是美國(guó)Autodesk公司開(kāi)發(fā)的集二維繪圖、三維設(shè)計(jì)等功能為一體的計(jì)算機(jī)輔助繪圖軟件[1]。該軟件具有良好的用戶界面、強(qiáng)大的圖形編輯功能、開(kāi)放式的體系結(jié)構(gòu)且易學(xué)易用等優(yōu)點(diǎn),已經(jīng)成為我國(guó)工程領(lǐng)域廣泛應(yīng)用的圖形軟件之一。該軟件提供的二次開(kāi)發(fā)功能,易于不同行業(yè)的制圖人員采用C++、C#等高級(jí)程序設(shè)計(jì)語(yǔ)言對(duì)其進(jìn)行擴(kuò)充和修改,定制滿足本行業(yè)特定需求的專業(yè)軟件,減少重復(fù)操作,提高制圖質(zhì)量與效率。

        在工程物探領(lǐng)域,大量的成果圖件是利用AutoCAD軟件人工制圖形成。這些物探圖件基本都是由大量重復(fù)的、簡(jiǎn)單的點(diǎn)線面等基本圖元對(duì)象組成,圖元本身元素比較簡(jiǎn)單,圖形差異不大;采用人工制圖,不僅重復(fù)繁瑣,工作效率低下,而且經(jīng)常出現(xiàn)一些不易發(fā)現(xiàn)的制圖錯(cuò)誤,嚴(yán)重影響物探制圖工作的精度和可靠性。針對(duì)這些不足,本文采用C#高級(jí)程序廣場(chǎng)語(yǔ)言對(duì)AutoCAD進(jìn)行二次開(kāi)發(fā),通過(guò)編程將物探制圖中大量的、可自動(dòng)執(zhí)行的、復(fù)雜的且易出錯(cuò)的操作進(jìn)行有效的封裝,開(kāi)發(fā)了適用于工程物探制圖領(lǐng)域的“工程物探制圖”程序集,用戶只需點(diǎn)擊菜單或輸入命令,即可高效、準(zhǔn)確地繪制出物探專題圖件,減少了人力投入和降低出錯(cuò)概率,提高了制圖效率。

        1 AutoCAD二次開(kāi)發(fā)技術(shù)

        AutoCAD的二次開(kāi)發(fā)是指AutoCAD允許用戶根據(jù)本行業(yè)的特殊用途在通用AutoCAD的基礎(chǔ)上開(kāi)發(fā)附加的專用功能,以滿足本行業(yè)的特定需求[2-3]。

        當(dāng)前AutoCAD二次開(kāi)發(fā)常用的開(kāi)發(fā)工具有Visual Lisp、VBA、ObjectARX和.NET等,各種工具優(yōu)缺點(diǎn)比較明顯[3]:Visual Lisp和VBA簡(jiǎn)單易學(xué),但開(kāi)發(fā)功能有限,編程效率較低,已有逐漸被其他面向?qū)ο蟮恼Z(yǔ)言代替的趨勢(shì);ObjectARX功能最強(qiáng)大,編程效率最高,但需要掌握難學(xué)的C++語(yǔ)言,門(mén)檻較高,短期內(nèi)難以掌握;.NET可以使用VB、C#等支持.NET開(kāi)發(fā)的高級(jí)程序設(shè)計(jì)語(yǔ)言對(duì)AutoCAD進(jìn)行二次開(kāi)發(fā),結(jié)合C++的強(qiáng)大與VBA簡(jiǎn)單易用的特點(diǎn),完全面向?qū)ο?,充分利?NET的各種優(yōu)勢(shì),在保證功能強(qiáng)大的前提下大大提高開(kāi)發(fā)速度,這也是Autodesk官方一直推薦使用的一種開(kāi)發(fā)工具。

        本文采用.NET工具對(duì)AutoCAD進(jìn)行二次開(kāi)發(fā),編程語(yǔ)言采用C#。C#語(yǔ)言(C sharp)是由微軟基于C語(yǔ)言和Microsfot.NET平臺(tái)開(kāi)發(fā)的,是一種精確、簡(jiǎn)單、類(lèi)型安全和面向?qū)ο蟮木幊陶Z(yǔ)言,繼承C和C++語(yǔ)言的強(qiáng)大功能。C#非常類(lèi)似于C++,但風(fēng)格更接近于Java,具有完全面向?qū)ο缶幊烫匦?、先進(jìn)的垃圾回收機(jī)制、高可靠性、能高速運(yùn)行和高可移植性等特性[4]。C#通過(guò)AutoCAD ActiveX與AutoCAD進(jìn)行通信。AutoCAD ActiveX對(duì)象使得用戶能夠從AutoCAD的內(nèi)部或外部以編程方式來(lái)操作AutoCAD內(nèi)部應(yīng)用,其提供的接口功能強(qiáng)大,運(yùn)行穩(wěn)定,是AutoCAD有效的二次開(kāi)發(fā)方法[5]。相對(duì)來(lái)說(shuō),C#語(yǔ)言開(kāi)發(fā)難度低,不需要很深的CAD二次開(kāi)發(fā)知識(shí),稍有基礎(chǔ)就容易上手,維護(hù)相對(duì)簡(jiǎn)單,開(kāi)發(fā)人員利用C#能夠生成在.NET生態(tài)系統(tǒng)中允許的多種安全可靠的應(yīng)用程序[3]。此外,利用免費(fèi)的開(kāi)源類(lèi)庫(kù)[6],還可進(jìn)一步降低AutoCAD二次開(kāi)發(fā)的難度,這也是本文選擇C#作為編程語(yǔ)言進(jìn)行AutoCAD二次開(kāi)發(fā)的重要原因。

        2 程序開(kāi)發(fā)

        2.1 開(kāi)發(fā)平臺(tái)

        本文選用的AutoCAD版本為2014;開(kāi)發(fā)平臺(tái)選用微軟開(kāi)發(fā)的強(qiáng)大的Microsoft Visual Studio 2019編譯器,可以方便進(jìn)行二次開(kāi)發(fā)代碼的編寫(xiě)、調(diào)試與發(fā)布;編程語(yǔ)言選用C#高級(jí)程序設(shè)計(jì)語(yǔ)言。值得注意的是,使用.NET進(jìn)行AutoCAD二次開(kāi)發(fā)與Visual Studio的選用版本無(wú)關(guān)。

        2.2 開(kāi)發(fā)流程

        在二次開(kāi)發(fā)過(guò)程中,C#語(yǔ)言通過(guò)AutoCAD ActiveX這座橋梁來(lái)與AutoCAD軟件進(jìn)行通信,具體通過(guò)Interop.AutoCAD.dll程序集實(shí)現(xiàn)與AutoCAD的數(shù)據(jù)和消息交換[7]。利用Visual Studio建立工程項(xiàng)目后,首先必須先添加AcdbMgd.dll、AcMgd.dll、AcCoreMgd.dll等AutoCAD自帶程序集的引用,這些程序集封裝了AutoCAD提供的.NET托管封裝類(lèi);其次編寫(xiě)啟動(dòng)AutoCAD對(duì)象函數(shù),實(shí)現(xiàn)程序與AutoCAD軟件的連接;最后開(kāi)始自定義命令的具體編程工作。

        為了減少記憶命令的負(fù)擔(dān),本文設(shè)計(jì)了Ribbon界面以啟動(dòng)GUI圖形交互界面調(diào)用自定義的命令。采用C#編程方式實(shí)現(xiàn)Ribbon界面,主要步驟為[3]:①獲取Ribbon對(duì)象;②創(chuàng)建Ribbon選項(xiàng)卡,并添加到界面的選項(xiàng)卡集合;③創(chuàng)建Source Panel源面板;④創(chuàng)建Panel面板;⑤創(chuàng)建Panel元素,如按鈕、復(fù)選框等;⑥將元素添加到創(chuàng)建的Panel面板中。

        具體的二次開(kāi)發(fā)流程如圖1所示。

        自定義命令一般具有基本的程序框架(圖2),可以添加到Visual Studio的工具模板里,只需修改命令名(CommandName),即可重復(fù)使用。

        2.3 程序加載

        AutoCAD的二次開(kāi)發(fā)獲得的程序集被AutoCAD加載并使用,主要有以下2種方式:第一種是通過(guò)AutoCAD軟件的內(nèi)置命令“NETLOAD”加載程序集文件(本文為ACADGeophysicsTool.dll),即可執(zhí)行程序功能,缺點(diǎn)就是每次打開(kāi)AutoCAD要重復(fù)運(yùn)行一次該命令,較為麻煩;第二種是利用注冊(cè)表工具將程序集文件加載到注冊(cè)表中,這樣打開(kāi)AutoCAD軟件會(huì)自動(dòng)加載程序集,本文選用第二種加載方式。

        圖3為加載了自定義的ACADGeophysicsTool.dll程序集后顯示的 “工程物探制圖”Ribbon菜單,只需點(diǎn)擊菜單,根據(jù)操作提示,即可高效、準(zhǔn)確地繪制物探專題圖件。

        3 程序應(yīng)用

        下文以繪制水域地震反射波法解釋成果剖面圖為例,簡(jiǎn)要介紹基于C#的AutoCAD二次開(kāi)發(fā)技術(shù)在工程物探制圖中的應(yīng)用。

        水域地震反射波法解釋成果剖面圖由AutoCAD中的基本圖形對(duì)象組成,將剖面拆分成基本圖形對(duì)象,有利于程序的編寫(xiě)、修改及后期維護(hù)。圖4為“水域地震反射波法解釋成果剖面圖”樣圖,將其進(jìn)行拆分可以得到以下5個(gè)大類(lèi)。

        標(biāo)題類(lèi):圖名與比例尺(單行文字)。

        水平標(biāo)尺類(lèi):主要為水平距離位置線(直線)、距離標(biāo)注(單行文字)與偏離曲線繪制(多段線)。

        垂直標(biāo)尺類(lèi):高程位置線(直線、圖案填充)與高程標(biāo)注(單行文字)。

        層位類(lèi):巖土層位線(多段線)、層位與最小高程標(biāo)注(單行文字)。

        測(cè)線交點(diǎn)或鉆孔標(biāo)注類(lèi):測(cè)點(diǎn)交點(diǎn)或鉆孔位置(多段線、圖案填充)與文字標(biāo)注(單行文字)。

        利用C#語(yǔ)言添加AutoCAD對(duì)應(yīng)類(lèi)的操作方法及圖層等常規(guī)操作即可快速完成程序的編制工作。

        點(diǎn)擊“工程物探制圖”Ribbon菜單的“成果草圖”選項(xiàng),可打開(kāi)如圖5所示的GUI界面,設(shè)置好參數(shù)后,按“確定”按鈕打開(kāi)指定數(shù)據(jù)格式的文件,即可批量繪制水域地震反射波法解釋成果剖面圖,修改層位名稱,即可完成該類(lèi)型圖件(圖4)的繪制工作。應(yīng)用算例驗(yàn)證了該命令的可靠性和有效性。

        4 結(jié)束語(yǔ)

        基于C#的AutoCAD 二次開(kāi)發(fā)技術(shù)在工程物探制圖中的應(yīng)用研究,歸根到底是把一些重復(fù)性、可自動(dòng)完成的,但卻需要花費(fèi)大量時(shí)間完成的物探制圖工作,通過(guò)采用計(jì)算機(jī)技術(shù)結(jié)合物探專業(yè)技術(shù)的手段來(lái)加以完成,進(jìn)而提高工作效率,節(jié)約了時(shí)間成本。

        目前,“工程物探制圖”程序集已成功應(yīng)用于實(shí)際制圖工作中,可高效、準(zhǔn)確地繪制物探專題圖件,減少人力投入和降低出錯(cuò)概率,從而提高了工作效率,使地質(zhì)物探技術(shù)人員可以將更多的精力投入到物探成果資料的分析與地質(zhì)解譯之中。

        參考文獻(xiàn):

        [1] 唐雨花,姚旭煒.基于AutoCAD的三維多段線轉(zhuǎn)多段線方法分析[J].河南科技,2015(7):108-110.

        [2] 梅炳夫.基于C#的AutoCAD二次開(kāi)發(fā)在通信設(shè)計(jì)中的應(yīng)用[J].電腦與電信,2023(4):14-19.

        [3] 曾冠銘,周勇,王松,等.基于C#的土方平均斷面法AutoCAD繪圖插件的實(shí)現(xiàn)[A].2021年度學(xué)術(shù)年會(huì)暨首屆總工論壇會(huì)議論文集[C].2021.

        [4] 林部云.基于C#語(yǔ)言的CAD二次開(kāi)發(fā)在避雷針保護(hù)范圍計(jì)算中的應(yīng)用[J].電工技術(shù),2022(14):202-206.

        [5] 劉會(huì)波,陳俊濤,肖明.基于CAD地形圖的初始地應(yīng)力場(chǎng)反演快速建模程序開(kāi)發(fā)[J].巖土力學(xué),2008,29(S1):297-302.

        [6] 曾洪飛,張帆,盧擇臨.AutoCAD VBA&VB.NET開(kāi)發(fā)基礎(chǔ)與實(shí)例教程[M].2版.北京:中國(guó)電力出版社,2008:29-34.

        [7] 趙春燕,施建昭,于海乾.基于ObjectARX的CAD二次開(kāi)發(fā)技術(shù)實(shí)現(xiàn)管線數(shù)據(jù)的入庫(kù)和編輯[J].現(xiàn)代測(cè)繪,2010,33(5):58-60.

        基金項(xiàng)目:自然資源部丘陵山地地質(zhì)災(zāi)害防治重點(diǎn)實(shí)驗(yàn)室(福建省地質(zhì)災(zāi)害重點(diǎn)實(shí)驗(yàn)室)開(kāi)放基金(FJKLGH2021K001)

        作者簡(jiǎn)介:林孝城(1982-),男,碩士,高級(jí)工程師。研究方向?yàn)楣こ涛锾降难芯颗c生產(chǎn)。

        亚洲一区av在线观看| 国产黄色一区二区福利| 一区二区三区观看视频在线| 天堂在线资源中文在线8| 亚洲av中文无码乱人伦在线r▽| 五月天综合社区| 白白色日韩免费在线观看 | 亚洲va成无码人在线观看| 国产亚洲精品一品二品| 中文字幕精品一区二区精品| 久久久久亚洲精品无码网址| 官网A级毛片| 青青草手机免费播放视频| 国产国产裸模裸模私拍视频| 5级做人爱c视版免费视频| 看黄色亚洲看黄色亚洲| 日韩中文字幕一区二区二区 | 国产亚洲精选美女久久久久| 最新在线观看免费的a站国产| 久久www免费人成精品| 欧美精品黄页在线观看视频| 国产一区二区毛片视频| 日韩无码专区| 成人国产激情自拍视频| 日本怡春院一区二区三区| 欧美a在线播放| 国内国外日产一区二区| 亚洲a∨无码精品色午夜| 天天躁日日躁狠狠躁人妻| 胳膊肘上有白色的小疙瘩| 国产成人亚洲一区二区| 国产成人无码a区在线观看视频 | 日日骚一区二区三区中文字幕| 美妇炮灰被狂躁爽到高潮h| 亚洲av无码专区在线播放中文| 国产精品无码久久久一区蜜臀| 亚洲国产一区二区,毛片| 国产专区一线二线三线码| 欧美日韩亚洲成人| 亚洲大胆视频在线观看| 久久久久88色偷偷|