• 
    

    
    

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

      ?

      河道劃界中入庫資料自動(dòng)生成軟件設(shè)計(jì)與應(yīng)用

      2018-05-23 09:25:30薛俊杰
      江蘇水利 2018年5期
      關(guān)鍵詞:劃界樁位二次開發(fā)

      李 磊,王 勝,薛俊杰

      (淮安水利勘測設(shè)計(jì)研究院有限公司,江蘇 淮安 223001)

      1 概述

      劃界工作既是依法保護(hù)水利工程的重要措施,亦是加強(qiáng)水利工程管理的基礎(chǔ)性工作,有利于推進(jìn)建立歸屬清晰、責(zé)權(quán)明確、監(jiān)管有效的河湖資源管理體系,有利于實(shí)現(xiàn)工程管理的制度化和規(guī)范化,有利于實(shí)現(xiàn)國土空間集約、高效、可持續(xù)利用,有利于建立統(tǒng)一銜接、功能互補(bǔ)、相互協(xié)調(diào)、多規(guī)合一的空間規(guī)劃體系。

      僅以淮安市城市水利工程管理處河道和水利工程管理范圍劃定項(xiàng)目為例,需要完成蘇北灌溉總渠(4.5公里)、淮河入海水道(11.45公里)、里運(yùn)河(17.35公里)、大運(yùn)河(15.3公里)、廢黃河(10.1公里)的劃界工作。管理范圍線以界樁(牌)形式在實(shí)地落實(shí),間距在200 m左右,最大不超過250 m。

      完成實(shí)地埋設(shè)以及數(shù)據(jù)采集,必須對(duì)其進(jìn)行整理以便達(dá)到上傳格式要求,具體要求參照《通知》(蘇水管〔2015〕40號(hào)),即文字與范圍線垂直;字頭指向河流(湖泊)外側(cè)等。如果依賴手工進(jìn)行逐條添加,那么工作量將很龐大,而且極易出錯(cuò),這就亟需一種自動(dòng)、高效的作業(yè)方法。

      2006版本起,Autodesk公司已為AutoCAD留有.net等應(yīng)用程序應(yīng)用接口API(Application Programming Interface,API)。開發(fā)接口是完全面向?qū)ο蟮?,方便易用[1-2]。微軟公司為.net量身訂做的C#語言有程序易讀等優(yōu)勢(shì)[3-4],是較為理想的CAD開發(fā)工具[5],故而提出一種基于C#與CAD二次開發(fā)的自動(dòng)生成方法。

      2 數(shù)學(xué)邏輯

      軟件自動(dòng)化的實(shí)質(zhì)是將傳統(tǒng)的繁瑣操作流程進(jìn)行數(shù)學(xué)邏輯拆解,然后將其進(jìn)行表達(dá)式(軟件代碼)表達(dá),再輔以邏輯銜接,這樣就可以實(shí)現(xiàn)流程的程序化替代。

      2.1 樁位編號(hào)信息

      相關(guān)規(guī)定中要求,上傳數(shù)據(jù)庫的CAD成果的樁位編號(hào)樣式如圖1所示。

      圖1 樁位編號(hào)要求樣式

      即:a樁位編號(hào)文字垂直于管理范圍線;b樁位編號(hào)字頭指向河流外側(cè);

      CAD二次開發(fā)時(shí),添加的文字默認(rèn)是水平的,那么只要確定出其旋轉(zhuǎn)角即可。假設(shè)當(dāng)前樁位點(diǎn)是O,管理范圍線上在其前后有相鄰的節(jié)點(diǎn)O1和O2,則有矢量OO1、OO2與真北方向所夾角度(方位角[6])α1、α2,如圖 2 所示。

      圖2 旋轉(zhuǎn)角計(jì)算示意圖

      圖中,虛線位置就是最終的樁位編號(hào)位置。

      最后取α1、α2兩者的平均值就可以得到樁位編號(hào)自身的方位角α,那么問題就轉(zhuǎn)換為如何求取矢量的方位角值,其計(jì)算公式如下:

      其中,β是矢量與水平線所夾的銳角。以方位角α為基礎(chǔ)即可滿足要求a;滿足要求b必須輔以外部手段。

      以上是河流在左側(cè)的處理方式,如果其在右側(cè),那么兩方位角差值為180°。但是因?yàn)閮蓜t都有管理范圍線,故而河流位置無法從圖形(管理范圍線,無指向?qū)傩裕┲兄苯荧@取,需要借助外部手段。

      2.2 樁間距信息

      相關(guān)規(guī)定中要求,對(duì)上傳數(shù)據(jù)庫的CAD成果的樁間距樣式有以下2個(gè)要求:

      a樁間距文字位于相鄰樁位點(diǎn)中間;

      b樁間距文字沿著管理范圍線放置;

      相鄰樁位點(diǎn)構(gòu)成矢量,那么可利用與β、α相關(guān)的公式計(jì)算旋轉(zhuǎn)角,即可滿足要求a;要使文字位于樁位點(diǎn)中間(要求b),必須考慮文字高度、單個(gè)(不同高度)字符占據(jù)寬度,再輔以平移手段才能保證文字近似在中間。最終要求樣式如圖3所示。

      圖3 樁間距要去樣式

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

      軟件設(shè)計(jì)就是在數(shù)學(xué)邏輯的基礎(chǔ)上將其實(shí)現(xiàn),數(shù)學(xué)邏輯部分是其中的核心部分,然后再輔以其它邏輯運(yùn)行,才能確保軟件可以真正運(yùn)行。

      3.1 框架流程圖

      按照線性布局的方式進(jìn)行軟件整體設(shè)計(jì),最終設(shè)計(jì)流程如圖4所示。

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

      由圖可以看出,已經(jīng)有效的降低了人工參與度,真正參與的只有“外部手段”。

      3.2 CAD二次開發(fā)知識(shí)

      CAD二次開發(fā)[7]的實(shí)質(zhì)就是利用預(yù)留的API實(shí)現(xiàn)與CAD的互操作?;贑#的開發(fā)方式通常是添加以下2個(gè)引用:

      其中,2006與16.0是不同CAD版本的區(qū)別。

      (1)線識(shí)別

      CAD文件包含很多圖元對(duì)象,軟件要的是多段線,AcadDocument.Utility.GetEntity()方法能夠獲取多段線實(shí)體,即:

      AcadDoc.Utility.GetEntity(out object,out point,“拾取目標(biāo)多段線”);

      其中,返回值ResultObj是拾取的對(duì)象。

      CAD中多段線的相關(guān)屬性值都可以從object中獲取得到,而用到的只是節(jié)點(diǎn)坐標(biāo),即:

      這樣即可進(jìn)行方位角以及點(diǎn)間距計(jì)算。

      (2)文字添加

      CAD中添加圖元功能同樣可以利用接口程序完成繪制,樁編號(hào)以及間距信息都是“文字”圖元,主要通過AcadModelSpace接口來實(shí)現(xiàn)。

      通過ModelSpace 的AddText()方法可以實(shí)現(xiàn)文字添加功能,即:

      其中,str是文字內(nèi)容,point是文字插入點(diǎn),height是文字高度。

      另外,直接添加的文字是水平的,故而需要對(duì)其進(jìn)行旋轉(zhuǎn)操作,即:

      textObj.Rotate(rotateBase,rotateAngle);

      其中,textObj是添加的文本對(duì)象;rotateBase是旋轉(zhuǎn)指定基點(diǎn);rotateAngle是旋轉(zhuǎn)指定角度。

      線識(shí)別和文字添加是本軟件的基礎(chǔ),劃界工作中資料自動(dòng)化整理的需求功能和這兩者大同小異,故而本軟件設(shè)計(jì)對(duì)其它相關(guān)的自動(dòng)化數(shù)據(jù)處理具有重要的參考意義。

      3.3 外部手段

      因?yàn)橛?jì)算機(jī)無法從圖上直接判讀出河道(湖泊)位于范圍線(無指向?qū)傩裕┑淖髠?cè)還是右側(cè),所以必須依賴人工判讀。

      軟件運(yùn)行后會(huì)彈出選擇對(duì)話框,具體如圖5所示;返回文件后依照指向選擇是或否,具體如圖6(a)(b)所示。這是整個(gè)流程中唯一一處需要人工參與的部分,但是圖上判讀較為直觀,并不會(huì)給軟件的可靠性帶來負(fù)面影響。

      圖5 人工判讀方式

      圖6 人工判斷依據(jù)

      3.4 設(shè)計(jì)UI

      軟件的目標(biāo)是簡化實(shí)際工作流程,那么設(shè)計(jì)UI[8-9]的目標(biāo)是(線性)清晰明了,如圖7所示。

      圖7 UI設(shè)計(jì)圖

      完成“讀取樁坐標(biāo)”和“識(shí)別樁邊線”操作后,“繪制樁編號(hào)”和“繪制樁間距”將會(huì)解除被鎖定狀態(tài)。

      3.5 核心代碼

      4 應(yīng)用實(shí)例

      簡單說明項(xiàng)目情況,同時(shí)利用質(zhì)量統(tǒng)計(jì)數(shù)據(jù)對(duì)軟件的性能進(jìn)行評(píng)價(jià)。

      4.1 項(xiàng)目介紹

      淮安市河道和水利工程管理范圍劃定項(xiàng)目中,廢黃河(10.1 km)采用1:10000地形圖作為工作底圖,修測河道管理范圍線附近的地物,重點(diǎn)修測地形圖中外堤腳線。入庫的右側(cè)管理范圍線如圖8所示,共計(jì)埋設(shè)125根界樁。

      圖8 案例管理范圍線

      按技術(shù)設(shè)計(jì)書要求,1:1000圖上管理界線圖上用紅色實(shí)線繪制河道管理范圍線,線寬為0.6 mm;管理范圍界線樁點(diǎn)用紅色圓圈表示,直徑1.5 mm。而且點(diǎn)位坐標(biāo)文件已按CASS數(shù)據(jù)文件格式編輯完成。

      界樁編號(hào)的最終要求[10]格式如下:垂直管理范圍線標(biāo)注,不要壓蓋河床,顏色為紅色,等線體字高2.0 mm。

      4.2 效果評(píng)價(jià)

      打開本文開發(fā)的軟件界面,讀取準(zhǔn)備好的文件和識(shí)別樁邊線,設(shè)置好樁號(hào)命名規(guī)則、號(hào)中數(shù)字位數(shù)、樁號(hào)名稱字高后即可點(diǎn)擊相應(yīng)命令按鈕實(shí)現(xiàn)樁編號(hào)和間距添加。自動(dòng)添加的質(zhì)量統(tǒng)計(jì)結(jié)果如表1所示。

      列出4處不合格且具有明顯特征的圖形截圖,如圖9所示。由圖可知,針對(duì)樁編號(hào),不合格現(xiàn)象(互相壓蓋)通常出現(xiàn)在管理范圍線不平滑、不規(guī)則變化的樁位點(diǎn)上;針對(duì)樁間距,線的不平滑、不規(guī)則變化會(huì)導(dǎo)致不合格現(xiàn)象(與管理范圍線有壓蓋),樁位間距離較近也會(huì)導(dǎo)致不合格現(xiàn)象(互相壓蓋)。這種不合格的樁編號(hào)或者間距注記就需要內(nèi)業(yè)人員手動(dòng)二次修改。

      表1 質(zhì)量統(tǒng)計(jì)表

      但是,由表1所知,雖然存在這一定的不合格現(xiàn)象,但是兩者的合格率都在90%以上,樁間距的標(biāo)注合格率甚至達(dá)到了95%,高合格率確保了軟件的可靠性。

      圖9 不合格處截圖

      另外,標(biāo)注河道右側(cè)的125個(gè)樁編號(hào)以及123個(gè)樁間距的用時(shí)累計(jì)不超過6 s。相比人工添加,作業(yè)效率得到極大的提升,進(jìn)而體現(xiàn)出軟件的自動(dòng)化生成方法的優(yōu)勢(shì)。

      5 結(jié)語

      河湖劃界入庫資料的整理在整體上是屬于重復(fù)性工作,從提高工作效率角度出發(fā),提出基于C#和CAD二次開發(fā)的文字標(biāo)注自動(dòng)添加方法,并且以此進(jìn)行軟件設(shè)計(jì),最后在淮安廢黃河劃界工作中進(jìn)行應(yīng)用。

      (1)軟件的可靠性較高,體現(xiàn)在標(biāo)注的高合格率上(樁編號(hào)為91.2%、樁間距為95.1%)。

      (2)軟件的自動(dòng)化及高效性,體現(xiàn)在標(biāo)注的用時(shí)上(樁編號(hào)與樁間距的用時(shí)皆小于3 s)。

      質(zhì)量統(tǒng)計(jì)表中的“合格率”和“用時(shí)”指標(biāo)驗(yàn)證了樁編號(hào)與樁間距的自動(dòng)化添加方法的可行性,而且為河湖劃界資料入庫提供整理了一種新的解決思路,具有較高的參考價(jià)值。

      參考文獻(xiàn):

      [1]秦洪現(xiàn),崔惠嵐,孫劍等.Autodesk 系列產(chǎn)品開發(fā)培訓(xùn)教程[M].北京:化學(xué)工業(yè)出版社,2007.

      [2]付崇江,余代俊,王麗麗.基于.NET平臺(tái)的CAD地形圖注記的自動(dòng)調(diào)整[J].工程勘察,2010,38(03):84-90.

      [3]王永輝,胡青泥,李紅彩.AutoCAD二次開發(fā)方法的研究[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2007(03):94-96+100.

      [4]黃箐,馬德山,項(xiàng)鏈.基于.NET實(shí)現(xiàn)多語言互操作性[J].西北民族大學(xué)學(xué)報(bào)(自然科學(xué)版),2007(02):38-44.

      [5]趙寧,黃地龍,徐莉.基于C#的區(qū)域自動(dòng)填充CAD二次開發(fā) [J].工程勘察,2008(01):58-61.

      [6]陳德標(biāo).坐標(biāo)方位角計(jì)算實(shí)用通式[J].測繪通報(bào),2006(02):30-31+69.

      [7]李冠億.深入淺出AutoCAD.NET 二次開發(fā)[M].北京:中國建筑工業(yè)出版社,2012.

      [8]宗長榮.淺談地下水資料整編軟件的設(shè)計(jì)與應(yīng)用[J].江蘇水利,2009(08):38-39.

      [9]朱永軍.EXCEL軟件在流量定線中的運(yùn)用[J].江蘇水利,2007(05):29-30.

      [10]樓鋒.江蘇全面啟動(dòng)河湖和水利工程管理范圍劃定工作 [J].江蘇水利,2015(10):6.

      猜你喜歡
      劃界樁位二次開發(fā)
      基于AutoCAD VBA與Excel的樁位偏差竣工圖繪制
      建筑工程中深基坑開挖施工技術(shù)探討
      淺談基于Revit平臺(tái)的二次開發(fā)
      甘肅科技(2020年20期)2020-04-13 00:30:02
      淺談Mastercam后處理器的二次開發(fā)
      模具制造(2019年3期)2019-06-06 02:11:02
      Hepatitis C virus eradication with directly acting antivirals improves health-related quality of life and psychological symptoms
      法國海域劃界的立法、實(shí)踐及挑戰(zhàn)
      西門子Easy Screen對(duì)倒棱機(jī)床界面二次開發(fā)
      如何保證鉆孔灌注樁的施工質(zhì)量
      河南建材(2016年1期)2016-03-11 08:28:03
      大陸架界限委員會(huì)的工作進(jìn)展主席說明(CLCS/95)
      中韓海域劃界首輪會(huì)談成功舉行
      人民周刊(2016年1期)2016-01-09 14:49:33
      成武县| 永新县| 许昌县| 湟源县| 安平县| 桃江县| 昆山市| 宜兰市| 综艺| 凤台县| 大洼县| 墨玉县| 新蔡县| 西盟| 济宁市| 宁安市| 远安县| 尉犁县| 天峨县| 伊通| 聂拉木县| 巍山| 康平县| 蒙山县| 银川市| 深泽县| 泉州市| 东阿县| 淮北市| 台中市| 建昌县| 额尔古纳市| 四平市| 临汾市| 洞口县| 出国| 阜新市| 视频| 广河县| 长武县| 万荣县|