• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Python 的AutoCAD 二次開(kāi)發(fā)在批量分幅中的應(yīng)用

      2021-05-13 05:24:42陳波
      建材與裝飾 2021年13期
      關(guān)鍵詞:圖框圖號(hào)圖幅

      陳波

      (四川中水成勘院測(cè)繪工程有限責(zé)任公司,四川成都 610000)

      0 引言

      地形圖分幅圖的傳統(tǒng)制作方法是:先用AutoCAD 按標(biāo)準(zhǔn)圖框裁成分塊圖,再套上業(yè)主的風(fēng)格樣式標(biāo)準(zhǔn)圖框,手動(dòng)修改圖廓坐標(biāo)。整個(gè)過(guò)程煩瑣冗長(zhǎng),重復(fù)性操作較多,容易出現(xiàn)錯(cuò)誤。針對(duì)上述問(wèn)題,本文對(duì)AutoCAD 測(cè)繪成果的分幅圖制作進(jìn)行Auto-CAD 的二次開(kāi)發(fā),從而可以直接進(jìn)行成果分幅,無(wú)須手動(dòng)套特定樣式的圖框以及修改圖廓坐標(biāo),進(jìn)而優(yōu)化分幅圖的制作過(guò)程,本文以Python 語(yǔ)言為基礎(chǔ),對(duì)AutoCAD 進(jìn)行二次開(kāi)發(fā)。

      1 數(shù)據(jù)源與執(zhí)行規(guī)范

      1.1 數(shù)據(jù)源

      大渡河CSJ 水電站YSG 渣場(chǎng)1:1000 地形圖,西藏自治區(qū)XQ 流域水電規(guī)劃ZX 梯級(jí)水電站施工場(chǎng)地1:1000 地形圖、金沙江上游GT 水電站壩址區(qū)1:1000 地形圖、重慶潼南SJHD 樞紐工程水下地形圖1:500 地形圖、西藏自治區(qū)XQ 流域水電規(guī)劃ZX梯級(jí)水電站庫(kù)區(qū)1:2000 地形地類(lèi)圖。

      1.2 執(zhí)行主要規(guī)范(不限于)

      (1)《水電工程測(cè)量規(guī)范(NB/T 35029—2014)》;

      (2)《1:5001:10001:2000 外業(yè)數(shù)字測(cè)圖技術(shù)規(guī)程(GB/14 912—2005)》;

      (3)《國(guó)家基本比例尺地圖圖式第1 部分:1:5001:10001:2000地形圖圖式(GB/T 20257.1—2017)》;

      (4)《全球定位系統(tǒng)實(shí)時(shí)動(dòng)態(tài)測(cè)量(RTK)技術(shù)規(guī)范(CH/T 2009—2010)》;

      (5)《機(jī)載激光雷達(dá)數(shù)據(jù)獲取技術(shù)規(guī)范(CH/T 8024—2011)》;

      (6)《機(jī)載激光雷達(dá)數(shù)據(jù)處理技術(shù)規(guī)范(CH/T 8023—2011)》;

      (7)《測(cè)繪作業(yè)人員安全規(guī)范(CH 1016—2008)》;

      (8)《水電工程三維激光掃描測(cè)量規(guī)程(NB/T 35109—2018)》;

      (9)《水電水利工程施工測(cè)量規(guī)范(DL/T 5173—2012)》。

      2 方法

      2.1 技術(shù)選型

      2.1.1 AutoCAD

      用于CAD 二次開(kāi)發(fā)的計(jì)算機(jī)語(yǔ)言有很多:C#性能最好、功能最全,但是開(kāi)發(fā)難度太高,開(kāi)發(fā)效率低;VBA 或者VB,難度適中,性能一般,功能有限,VB 在CAD2010 版本以后就沒(méi)有和CAD 一起安裝;Lisp,CAD 原生語(yǔ)言,語(yǔ)法難度最低,但是可讀性差。

      2.1.2 Python 的特點(diǎn)

      在近幾年中,Python 在人工智能、web 開(kāi)發(fā)之中應(yīng)用廣泛,同時(shí)在金融分析、爬蟲(chóng)等領(lǐng)域也具有很大的作用,其特點(diǎn)如下:簡(jiǎn)單易學(xué),側(cè)重解決問(wèn)題,輕語(yǔ)法;面向?qū)ο蟮膭?dòng)態(tài)語(yǔ)言,支持函數(shù)式、泛型等多種編程范式[1];易于利用已有組件實(shí)現(xiàn)系統(tǒng)的功能,跨平臺(tái)使用,又被稱(chēng)為膠水語(yǔ)言;將源代碼轉(zhuǎn)換稱(chēng)為字節(jié)碼的中間形式,不需編譯成為二進(jìn)制的代碼,可直接翻譯運(yùn)行;開(kāi)源,代碼是不保密的,方便共享,用于新的自由軟件之中;可擴(kuò)展性,兼容C 語(yǔ)言編寫(xiě),然后再Python 程序中進(jìn)行使用;豐富的庫(kù),Python 具有豐富強(qiáng)大的標(biāo)準(zhǔn)庫(kù),其中包含正則表達(dá)式、文檔生成、單元測(cè)試、線(xiàn)程、數(shù)據(jù)庫(kù)、網(wǎng)頁(yè)瀏覽器、CGl、FTP、電子郵件等;規(guī)范代碼,采用強(qiáng)制縮進(jìn)的方式讓代碼具有非常好的可讀性。

      2.1.3 Python 環(huán)境

      集成開(kāi)發(fā)環(huán)境是專(zhuān)用于軟件開(kāi)發(fā)的程序,集成了幾款專(zhuān)門(mén)為軟件開(kāi)發(fā)而設(shè)計(jì)的工具,例如:VI/VIM,靈活,支持Python 開(kāi)發(fā)環(huán)境自行查找或者撰寫(xiě)腳本,但不清楚模型編輯器是如何工作的;Visual Studio,是一款全功能集成開(kāi)發(fā)平臺(tái),支持各種平臺(tái)的開(kāi)發(fā);Visual Studio Code(也稱(chēng)作 VS Code)是一款兼容 Linux,Mac OS X 和Windows 平臺(tái)的全功能代碼編輯器,輕量級(jí)但功能齊全;PyCharm,是面向于Python 的全功能集成開(kāi)發(fā)環(huán)境,開(kāi)箱即用,可以在PyCharm 中直接運(yùn)行和調(diào)試Python 程序,且它支持源碼管理和項(xiàng)目,擁有眾多便利和支持社區(qū)。本次使用PyCharm 環(huán)境,Python3.6,CAD2016。

      表1 手動(dòng)與軟件工時(shí)對(duì)照

      2.2 算法落地

      2.2.1 分幅圖傳統(tǒng)制作流程

      為解決常規(guī)分幅帶來(lái)的問(wèn)題,各位研究者提出多種解決方案,并且在AutoCAD、ArcGIS 等軟件平臺(tái)進(jìn)行實(shí)踐[2],而傳統(tǒng)的地形圖分幅目前大多都在CAD 中完成:制作標(biāo)準(zhǔn)圖框,包含圖幅名稱(chēng)、單位名稱(chēng)、坐標(biāo)信息、投影信息、成圖比例尺、測(cè)圖員、編圖員、檢查員、復(fù)查員等,按照規(guī)范以及業(yè)主方的要求設(shè)置字體樣式、顏色等;CAD 中按結(jié)合圖表裁切已經(jīng)編輯好的地形圖,按結(jié)合圖表中的圖號(hào)逐一命名存盤(pán)圖號(hào).dwg;將已經(jīng)裁切好的圖號(hào).dwg 套上制作好的標(biāo)準(zhǔn)圖框;修改上一步套上標(biāo)準(zhǔn)圖框的圖號(hào).dwg 中的圖廓坐標(biāo);按規(guī)范命名存儲(chǔ)結(jié)果。

      2.2.2 程序的核心模塊和算法

      本文編寫(xiě)的程序引用的模塊主要有:Autocad(導(dǎo)入導(dǎo)出dwg文件)、APoint(存儲(chǔ)點(diǎn)坐標(biāo))、array(存儲(chǔ)分幅框的圖幅范圍)、time(延遲運(yùn)行)、shapely(中間件)、wx(圖形用戶(hù)界面)、tempfile(創(chuàng)建臨時(shí)文件和目錄)、uuid(通用唯一識(shí)別碼)、os(處理文件和目錄)。

      圖1 軟件設(shè)計(jì)流程

      2.2.3 關(guān)鍵函數(shù)塊

      def get_path():通過(guò)對(duì)話(huà)框選取路徑;def get_path():分幅范圍信息;def execute():截取分幅框內(nèi)圖形,套入圖框,存出圖幅;def saveModel():處理圖框模板;def moveModelMap():移動(dòng)模板圖幅到相應(yīng)位置;def fillMapInfo ():填充圖幅信息;def getNeighbor-Points():填充接圖表且獲取一個(gè)點(diǎn)周?chē)陌藗€(gè)方向點(diǎn)。

      2.3 生產(chǎn)工期對(duì)比

      從表1 可以看出插件對(duì)1:500、1:1000、1:2000 等大比例尺地形圖的分幅圖制作都是適用的,而且人工制作耗時(shí)平均一幅圖耗時(shí)11~12min,而插件耗時(shí)為0.2min,省時(shí)約55~60 倍,極大地提升了工作效率,分幅成果圖框的錯(cuò)誤率也由10%降至1%以下。

      3 結(jié)語(yǔ)

      3.1 結(jié)論

      (1)Python 與CAD 結(jié)合開(kāi)發(fā)能減少測(cè)繪中的重復(fù)工作,極大地提高測(cè)繪生產(chǎn)效率。

      (2)Python 代碼簡(jiǎn)潔能快速提高開(kāi)發(fā)效率。

      3.2 討論

      測(cè)繪成果為區(qū)域經(jīng)濟(jì)規(guī)劃、國(guó)土資源調(diào)查、城市建設(shè)規(guī)劃等諸多方面提供大量的基礎(chǔ)地理信息數(shù)據(jù),例如水電站的設(shè)計(jì)、選址、施工、運(yùn)營(yíng)等。近年來(lái),無(wú)人機(jī)由于具有體積小、造價(jià)低、使用方便、對(duì)環(huán)境要求低等優(yōu)點(diǎn)而備受各界人士關(guān)注,并作為攝影測(cè)量平臺(tái)應(yīng)用于測(cè)繪行業(yè)當(dāng)中[3]。無(wú)人機(jī)航空攝影測(cè)量可以方便快速的采集數(shù)據(jù),而后期數(shù)據(jù)處理、制圖都需要人工完成,Python 與CAD 的二次開(kāi)發(fā)可用于地形圖、斷面等測(cè)繪成果中,也可推廣到與其有關(guān)的如國(guó)土空間規(guī)劃、工裝設(shè)計(jì)、工業(yè)制圖等成果中,可以很好地簡(jiǎn)化生產(chǎn)流程,縮短工期,提高效率。

      猜你喜歡
      圖框圖號(hào)圖幅
      一種改進(jìn)的接圖表生成算法
      勘誤聲明
      磁共振成像(2021年4期)2021-03-25 07:48:26
      學(xué)術(shù)出版物插圖的編排要求(2):版式要求
      基于Lisp的自動(dòng)圖框繪制和輸出管理技術(shù)研究
      B/S模式產(chǎn)品圖號(hào)信息系統(tǒng)的開(kāi)發(fā)與應(yīng)用
      基于Microstation V8 XM圖紙批量打印的實(shí)現(xiàn)
      析SP3D軟件的ISO出圖模板定制
      基于EXCEL的地形圖圖幅號(hào)轉(zhuǎn)換查詢(xún)方法
      基于ArcMap的圖幅接合表快速生成方法研究
      地形圖圖幅編號(hào)規(guī)則及實(shí)現(xiàn)
      曲松县| 宜宾市| 孝义市| 贵港市| 松溪县| 阿荣旗| 灵丘县| 原平市| 海伦市| 界首市| 天气| 纳雍县| 墨玉县| 井陉县| 社会| 湄潭县| 那坡县| 福建省| 中西区| 鄂温| 沙坪坝区| 承德市| 马山县| 宜都市| 湟中县| 太仆寺旗| 阜城县| 新蔡县| 霞浦县| 元谋县| 茶陵县| 厦门市| 枝江市| 宜都市| 垦利县| 沽源县| 西平县| 祥云县| 南乐县| 新和县| 苗栗县|