• 
    

    
    

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

      ?

      基于Visual LISP的橫斷面測(cè)量程序設(shè)計(jì)與應(yīng)用

      2021-09-18 03:29:24牛秋麗
      礦山測(cè)量 2021年4期
      關(guān)鍵詞:內(nèi)業(yè)橫斷面中心線

      牛秋麗

      (唐山市水利規(guī)劃設(shè)計(jì)研究院,河北 唐山 063000)

      橫斷面測(cè)量指的是測(cè)量中樁處垂直于中線方向的地表起伏形態(tài)的作業(yè)。在重大項(xiàng)目規(guī)劃、工程建設(shè)上,橫斷面圖能展示更多的信息,為后續(xù)的決策提供重要的依據(jù)。比如修建水庫(kù)、公路等,都需要進(jìn)行橫斷面分析,以優(yōu)化修建方案;在水利工程、管線工程、道路工程等帶狀工程的施工設(shè)計(jì)中,斷面數(shù)據(jù)是指導(dǎo)施工和計(jì)算土方的重要依據(jù)。

      隨著測(cè)繪技術(shù)和測(cè)量設(shè)備的發(fā)展,斷面測(cè)量外業(yè)數(shù)據(jù)的采集在保證高精度的同時(shí),實(shí)現(xiàn)了高效、便捷。因此,斷面測(cè)量的內(nèi)業(yè)數(shù)據(jù)處理的精度和效率將直接影響工程的建設(shè)進(jìn)度和質(zhì)量。傳統(tǒng)的斷面測(cè)量?jī)?nèi)業(yè)數(shù)據(jù)處理方法主要靠作業(yè)人員手工錄入外業(yè)測(cè)量數(shù)據(jù),由于數(shù)據(jù)量較大,數(shù)據(jù)錄入不僅效率低而且容易出錯(cuò),不利于成果的整理與檢查。尤其是面對(duì)時(shí)間緊、任務(wù)急的工程,內(nèi)業(yè)處理的效率成為制約工程進(jìn)度的主要因素。因此,迫切需要改進(jìn)內(nèi)業(yè)數(shù)據(jù)處理方式,提高作業(yè)效率和精度。本文配合南方CASS軟件和濟(jì)南百圖水利土石方設(shè)計(jì)軟件,利用AutoCAD強(qiáng)大的Visual LISP 語(yǔ)言進(jìn)行二次開(kāi)發(fā),根據(jù)斷面線及縱向偏差范圍內(nèi)的特征點(diǎn)提取斷面數(shù)據(jù)文件,同時(shí)生成提取斷面的高程點(diǎn)檢查圖層,最后,利用斷面軟件自動(dòng)繪制斷面圖,簡(jiǎn)化工作流程,提高效率和精度。

      1 Visual LISP語(yǔ)言簡(jiǎn)介

      在日常生產(chǎn)中,AutoCAD作為主流的繪圖軟件,廣泛應(yīng)用于各個(gè)行業(yè)。AutoCAD開(kāi)放式的體系結(jié)構(gòu),決定了其強(qiáng)大的二次開(kāi)發(fā)空間及潛力[1]。目前AutoCAD二次開(kāi)發(fā)工具主要有VBA、ObjectARX、Visual LISP、Visual C++等。其中,Visual LISP使用方便、開(kāi)發(fā)速度快、方便調(diào)試,用戶可以利用Visual LISP語(yǔ)言實(shí)現(xiàn)對(duì)AutoCAD當(dāng)前圖形的數(shù)據(jù)庫(kù)的直接訪問(wèn)和修改,增加AutoCAD新命令和開(kāi)發(fā)參數(shù)化繪圖程序等,為AutoCAD提供了快速簡(jiǎn)潔開(kāi)發(fā)編程的途徑,使得用戶能充分利用對(duì)AutoCAD進(jìn)行二次開(kāi)發(fā)且不受CAD版本限制,通用性好[2]。

      2 利用Visual LISP實(shí)現(xiàn)斷面自動(dòng)提取功能的開(kāi)發(fā)

      2.1 選擇中心線和橫斷面線

      首先,結(jié)合工程實(shí)際需要或設(shè)計(jì)中心線,確定橫斷成果的中心線、斷面間隔、斷面寬度、斷面方向,可利用CASS軟件自帶的“生成里程文件”命令完成。然后,在CASS圖形中選擇中心線、斷面線,通過(guò)代碼實(shí)現(xiàn)自動(dòng)計(jì)算樁號(hào)的功能[3]。

      (setq zxx (entsel " 請(qǐng)選擇中心線"))[4]

      (setq zxx_vla(vlax-ename->vla-object (car zxx)))

      (prompt " 拾取橫斷面線:")

      (setq e (ssget ":S" '((0 ."LINE"))))

      (setq jdj(list))

      (setq jdj(vlax-invoke zxx_vla 'IntersectWith (vlax-ename->vla-object (ssname e 0))0))

      ;計(jì)算橫斷面線與中心線交點(diǎn)(樁號(hào))

      (setq jd(list (nth 0 jdj)(nth 1 jdj)(nth 2 jdj)))

      2.2 橫斷面高程點(diǎn)提取

      由于在外業(yè)數(shù)據(jù)采集時(shí),橫斷測(cè)量存在偏離斷面線的情況,所以內(nèi)業(yè)處理時(shí)結(jié)合工程現(xiàn)場(chǎng)綜合考慮。用戶可以根據(jù)實(shí)際情況,自定義斷面特征點(diǎn)提取的寬度(默認(rèn)為橫斷線左右兩端各5 m),同時(shí)在CASS圖形中顯示自動(dòng)提取高程點(diǎn)的位置和范圍線,利于用戶檢查,直觀、便捷。

      (setq s1 (ssname e 0))[5]

      (setq d (getreal " 高程提取寬度<5>" ))

      ;高程點(diǎn)提取的寬度

      (setq p1 (vlax-curve-getstartPoint s1)

      p2 (vlax-curve-getendPoint s1)

      r (+ (angle p1 p2)(* pi 0.5)))

      (command "pline" (polar p1 r (-d))(polar p2 r (-d))(polar p2 r d)(polar p1 r d)"c")

      ;高程點(diǎn)提取范圍畫(huà)線計(jì)算

      (setq ss (ssget "cp" (list (polar p1 r (-d))(polar p2 r (-d))(polar p2 r d)(polar p1 r d))

      (list (cons 8 "GCD")(cons 2 "GC200"))))

      ;高程點(diǎn)提取

      2.3 高程離散點(diǎn)平距計(jì)算

      位于斷面線上的高程點(diǎn)可直接計(jì)算到中心點(diǎn)的距離;偏于斷面線的離散點(diǎn)應(yīng)首先把離散點(diǎn)投影到斷面線,求解離散點(diǎn)的垂足,然后計(jì)算離散點(diǎn)的垂足到中心點(diǎn)的距離。

      (repeat (sslength ss)[6]

      (setq si (ssname ss m))

      (setq pt(cdr (assoc 10 (entget si))))

      (setq pcz (vlax-curve-getClosestPointTo s1 pt t));求解高程點(diǎn)到斷面線的垂足

      (setq cz_dist (-(distance p1 pcz )(distance p1 jd))));計(jì)算距離中心點(diǎn)平距

      2.4 高程離散點(diǎn)按左右樁分組

      按照中心線的前進(jìn)方向,以左負(fù)右正的原則,把所有提取的斷面特征點(diǎn)進(jìn)行分組。

      ((

      ((>cz_dist 0)(setq lst_y (cons (cons cz_dist z)lst_y)))

      ((=cz_dist 0)(setq zx_h z))

      2.5 高程離散點(diǎn)排序輸出

      把分組后的斷面特征點(diǎn),按照樁號(hào)從小到大的順序排列。

      (setq dmsj(sort-pt (append (cons lst_zx lst_z)lst_y)"x" 0.001))[8];斷面數(shù)據(jù)排序

      (write-line hdm_zh fw);輸出樁號(hào)

      (repeat (length dmsj)

      (setq dm_jl (rtos (car (nth i dmsj))2 3));輸出

      (setq dm_h (rtos (cdr (nth i dmsj))2 3))

      (while (<(strlen dm_jl)12)

      (setq dm_jl (strcat " " dm_jl)))

      (while (<(strlen dm_h)12)

      (setq dm_h (strcat " " dm_h)))

      (write-line (strcat dm_jl dm_h )fw))

      2.6 斷面成果文件輸出

      按照濟(jì)南百圖水利土石方軟件批量繪制橫斷面圖的格式要求,將自動(dòng)提取的橫斷面數(shù)據(jù)進(jìn)行整理并輸出,格式如下:

      0+000 (橫斷面樁號(hào))

      -50.000 10.000 ;(左側(cè)樁平距) (高程)

      …… ……

      0.000 10.000 ; (中心樁) (高程)

      …… ……

      50.000 10.000 ; (右側(cè)樁平距) (高程)

      3 程序的實(shí)現(xiàn)與應(yīng)用

      2019年全域治水清水潤(rùn)城今冬明春主城區(qū)河道水系清淤工程是按照市委、市政府的統(tǒng)一部署,重點(diǎn)實(shí)施河湖水系連通、河道綜合治理、水源涵養(yǎng)及供水、鄉(xiāng)村振興水環(huán)境綜合整治、傍河坑塘整治和智慧水務(wù)系統(tǒng)建設(shè)等的重點(diǎn)工程。其中,160 km的河道橫斷面測(cè)量時(shí)間最緊、任務(wù)最重,利用開(kāi)發(fā)的Visual LISP程序自動(dòng)提取橫斷數(shù)據(jù),生成橫斷文件,大大提高了作業(yè)精度和效率,保質(zhì)保量完成工作任務(wù)。

      3.1 圖形準(zhǔn)備

      運(yùn)行南方CASS9.1數(shù)字成圖軟件,展繪外業(yè)采集的高程點(diǎn),高程點(diǎn)圖層必須為GCD圖層;按照樁號(hào)從大到小的方向繪制中心線;斷面間隔100 m,斷面寬度100 m[9],斷面線必須為直線。圖形準(zhǔn)備如圖1所示。

      3.2 程序加載

      命令行輸入“APPLOAD”,選擇程序“ZHDM.lsp”。提示加載成功后,調(diào)用橫斷面數(shù)據(jù)提取對(duì)話框,如圖2所示,按照界面顯示[10],依次選擇文件保存路徑及名稱—選擇中心線、線路起點(diǎn)里程樁號(hào)、橫斷面間距、橫斷面寬度—選擇數(shù)據(jù)提取寬度(斷面允許偏差距離),前進(jìn)方向、高程注記位數(shù)及中心樁高程內(nèi)插均為默認(rèn)值,最后生成完整的橫斷成果文件,橫斷成果文件類型為“*.txt”文本格式。

      3.3 成果輸出

      以陡河河道為例,程序自動(dòng)生成某斷面數(shù)據(jù)如下。利用濟(jì)南百圖水利土石方軟件,根據(jù)生成的橫斷面成果文件,批量繪制橫斷面圖,橫斷面圖如圖3所示,橫軸s表示距離,比例尺為1:300,縱軸h表示高程,比例尺為1:200。

      圖3 5+050橫斷面圖

      5+050

      -45.497 22.730

      - 43.670 22.660

      - 16.772 17.820

      - 15.752 17.740

      - 13.751 17.100

      0.000 15.720

      12.047 15.720

      30.384 17.150

      31.275 17.800

      31.869 17.910

      45.471 23.480

      47.820 23.940

      48.000 23.940

      3.4 精度統(tǒng)計(jì)

      以2019年全域治水清水潤(rùn)城今冬明春主城區(qū)河道水系清淤工程中的陡河河道為例,將開(kāi)發(fā)的Visual LISP程序自動(dòng)提取的斷面點(diǎn)與外業(yè)實(shí)測(cè)的斷面點(diǎn)進(jìn)行精度分析,如表1所示,△X最大誤差90 mm,△Y最大誤差90 mm,△H最大誤差83 mm,結(jié)果表明程序自動(dòng)提取的斷面點(diǎn)在大大提高效率的前提下,平面精度和高程精度滿足《水電水利工程施工測(cè)量規(guī)范》[11]中關(guān)于橫斷面測(cè)量限差要求。

      表1 Visual LISP程序自動(dòng)提取斷面點(diǎn)精度統(tǒng)計(jì)/m

      4 結(jié) 語(yǔ)

      筆者利用Visual LISP的二次開(kāi)發(fā),實(shí)現(xiàn)長(zhǎng)距離帶狀斷面測(cè)量數(shù)據(jù)的自動(dòng)提取,且具備提取數(shù)據(jù)的檢查功能,僅用幾分鐘就輕松完成了160 km的河道橫斷面測(cè)量的內(nèi)業(yè)數(shù)據(jù)處理工作。實(shí)踐證明,該方法切實(shí)可行,能大幅降低人工勞動(dòng)強(qiáng)度,提高作業(yè)精度和效率,具有較高的應(yīng)用價(jià)值和推廣意義。

      同時(shí),通過(guò)實(shí)踐工程應(yīng)用,還發(fā)現(xiàn)幾點(diǎn)不足之處需要改進(jìn)和完善:(1)在運(yùn)行的CASS9.1數(shù)字成圖軟件中,展繪的高程點(diǎn)必須在“GCD”圖層,且高程點(diǎn)不能人工編輯和修改;(2)程序僅僅依靠斷面線的起點(diǎn)和終點(diǎn)來(lái)判斷左右、計(jì)算樁號(hào),不能按照線路的前進(jìn)方向自動(dòng)左右分組。

      猜你喜歡
      內(nèi)業(yè)橫斷面中心線
      公路施工項(xiàng)目?jī)?nèi)業(yè)資料管理探討
      應(yīng)用地表覆蓋數(shù)據(jù)估算LiDAR內(nèi)業(yè)工作量的方法研究
      城市道路橫斷面設(shè)計(jì)研究
      高速公路機(jī)電系統(tǒng)內(nèi)業(yè)資料管理思考
      建筑工程內(nèi)業(yè)資料管理探討
      江西建材(2018年4期)2018-04-10 12:37:50
      廣州市健康體檢人群種植修復(fù)情況的橫斷面研究
      第十講 幾何公差代號(hào)標(biāo)注示例10
      ——目鏡套筒
      X線攝影中中心線對(duì)DR攝影質(zhì)量的重要性
      2014年某院醫(yī)院感染橫斷面調(diào)查
      基于Meanshift和Hough變換的秧苗行中心線提取
      闵行区| 望城县| 启东市| 乌拉特中旗| 松溪县| 溧水县| 抚顺市| 务川| 彰武县| 淮滨县| 石柱| 齐齐哈尔市| 丁青县| 郯城县| 逊克县| 渑池县| 密云县| 义乌市| 宿松县| 双城市| 逊克县| 韩城市| 云阳县| 美姑县| 建平县| 池州市| 东山县| 金山区| 广河县| 嘉义县| 比如县| 东港市| 萨迦县| 金昌市| 浮山县| 肇庆市| 汽车| 汕头市| 佛冈县| 三门峡市| 舞钢市|