• 
    

    
    

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

      線性分布下巖土工程勘察鉆孔編號算法的設(shè)計(jì)與實(shí)現(xiàn)

      2021-12-24 12:47:26張闊
      電腦知識與技術(shù) 2021年29期
      關(guān)鍵詞:巖土工程勘察二次開發(fā)

      張闊

      摘要:巖土工程勘察報(bào)告的平面圖繪制工作是工程地質(zhì)勘察過程中的主要任務(wù)之一,而傳統(tǒng)的自動編號程序存在針對線性分布的鉆孔無法使編號順序與路徑走向一致的問題。將鉆孔和有向路徑分別抽象為平面空間中的點(diǎn)和有向線段集合,定義了三種距離參數(shù)用于定量描述平面空間中的點(diǎn)與線段的相對位置關(guān)系,并提出了一種坐標(biāo)點(diǎn)編號算法,能使沿有向路徑分布的坐標(biāo)點(diǎn)的編號順序與路徑方向一致。最后以某輸水管線工程為例,使用基于AutoCAD二次開發(fā)的自編程序介紹該算法的實(shí)際應(yīng)用,結(jié)果表明該算法能顯著提高巖土工程勘察報(bào)告平面圖繪制的工作效率。

      關(guān)鍵詞:巖土工程勘察;排序算法;自動編號;數(shù)字制圖;二次開發(fā)

      中圖分類號:TB115? 文獻(xiàn)標(biāo)識碼:A

      文章編號:1009-3044(2021)29-0020-04

      A New Algorithm for Borehole Numbering of Geotechnical Investigation under Path Distribution

      ZHANG Kuo

      (Sichuan Chuanjian Geotechnical Survey Design Institute, Chengdu 610000, China)

      Abstract: the geotechnical investigation plan drawing is one of the main tasks in the process of engineering geological investigation. The traditional automatic numbering program realizes the automatic numbering of boreholes by comparing the XY coordinate values, but for the boreholes distributed along a certain directional path, the numbering sequence cannot be consistent with the path direction. In this paper, borehole and directed path are abstracted as a set of points and directed line segments in plane space respectively, three distance parameters are defined to quantitatively describe the relative position relationship between points and line segments in plane space, and a coordinate point numbering algorithm is proposed, which can make the numbering sequence of coordinate points distributed along directed path consistent with the path direction. Finally, taking a water transmission pipeline project as an example, the practical application of the algorithm is introduced by using the self-made program based on the secondary development of AutoCAD. The results show that the algorithm can significantly improve the efficiency of drawing the geotechnical investigation plan.

      Key words: Geotechnical investigation; Sorting algorithm; Automatic numbering; Digital mapping; Secondary development

      1引言

      隨著掃描和數(shù)字化成圖系統(tǒng)的發(fā)展,計(jì)算機(jī)制圖在當(dāng)前工程地質(zhì)內(nèi)業(yè)整理工作中廣泛應(yīng)用,而且全電腦成圖已成為當(dāng)前要發(fā)展趨勢[1-2]。其中對點(diǎn)狀單元自動編號的工程需求比較普遍,目前巖土工程中的計(jì)算機(jī)自動編號技術(shù)在工程樁號的編制中應(yīng)用較多,但大多直接按照樁芯坐標(biāo)XY值排序[3-4],在巖土工程勘察的平面圖繪制工作中,雖然自動編號技術(shù)未見有文獻(xiàn)報(bào)道應(yīng)用,但就工程界的實(shí)際應(yīng)用中,大多數(shù)技術(shù)員利用自編程序?qū)辈煦@孔編號時(shí)仍是采用此原理,近年來已有文獻(xiàn)[5]提到對線狀建筑物自動生成樁號的研究,但要求點(diǎn)狀單元必須在線段上。在巖土工程勘察平面圖繪制工作中,對于更普遍的鉆孔分布在線狀擬建物兩側(cè)的情況下,使鉆孔編號順序與線段走向保持一致是一個(gè)有待解決的問題。

      圖1編號方法

      肉眼識別線段走向是很容易的,但是如何讓計(jì)算機(jī)分析出鉆孔孔位與擬建物走向之間的平面空間關(guān)系并以此確定鉆孔順序則相對復(fù)雜一些,這也是本文探討的主要內(nèi)容。

      2平面空間點(diǎn)線關(guān)系分析

      2.1對點(diǎn)順序的定義

      “與擬建物走向一致”是對鉆孔順序的定性描述,而基于平面空間位置對鉆孔編號排序還需要一個(gè)(組)變量對各鉆孔進(jìn)行定量描述,從而對鉆孔位置進(jìn)行比較,傳統(tǒng)的計(jì)算機(jī)自動編號算法就是利用XY坐標(biāo)描述鉆孔,通過比較XY值大小來對鉆孔排序,但本文需要新的變量來描述鉆孔位置。

      為定量描述鉆孔順序,需要將勘探孔抽象為平面空間中的有限個(gè)坐標(biāo)點(diǎn),將線狀分布的擬建物抽象為有限個(gè)有向線段,這些有向線段首尾依次相連且兩兩不相交,那么可以采用坐標(biāo)點(diǎn)在有向線段上的投影來進(jìn)行定量描述。根據(jù)這些坐標(biāo)點(diǎn)與有向線段的平面空間位置關(guān)系,又可以分為三種情況將“投影”定量化。

      第一種情況:

      設(shè)平面坐標(biāo)系中存在兩個(gè)坐標(biāo)點(diǎn)分別表示為Am 和An,有向線段表示為向量,其方向由點(diǎn)Bj指向點(diǎn)。設(shè)與Am 和An 距離最近的有向線段(點(diǎn)與線段的距離的定義在2.2節(jié)中給出)為同一個(gè)向量并記為和An 在上的投影點(diǎn)到的距離分別為和,則當(dāng)

      時(shí),判定為點(diǎn)Am 在點(diǎn)An 之前。

      第二種情況:

      在式2.1中,當(dāng)

      時(shí),則需要選擇新的變量來判定順序,此時(shí)本文選擇坐標(biāo)點(diǎn)到向量的垂直距離作為判定依據(jù)。設(shè)Am 和An 與向量的垂直距離分別為和,則當(dāng)

      時(shí),判定為點(diǎn)Am 在點(diǎn)An 之前。

      第三種情況:

      在第一種情況中,如果與Am 和An 距離最近的向量不為同一個(gè)向量,并記與Am 和An 距離最近的向量分別為和則當(dāng)角標(biāo)

      時(shí),判定為點(diǎn)在點(diǎn)之前。

      綜上由式2.1、式2.3和式2.4可知對坐標(biāo)點(diǎn)順序通過有向線段的角標(biāo)、點(diǎn)在有向線段上的投影點(diǎn)到有向線段起點(diǎn)的距離 s(下文簡稱投影距離s)、坐標(biāo)點(diǎn)到有向線段的垂直距離d(下文簡稱垂直距離d)等三個(gè)變量之間進(jìn)行值的大小比較來描述,且比較的優(yōu)先級依次遞減。

      如圖2所示,首先按有向線段來比較,因?yàn)橛邢蚓€段在有向線段之前,所以離最近的點(diǎn)也排在離最近的點(diǎn)之前,即圖中Al、Am 和An 的順序都在Ao之前。其次從投影距離來看,Al在上的投影距離sl比Am 和An 的投影距離sm和sn都短,所以Al的順序在Am 和An 之前。最后再看垂直距離,Am 和An 在上的投影距離是相同的,但Am 的垂直距離dm 大于An 的垂直距離dn,所以Am 的順序又在An 之前。綜上可求得圖2 中四個(gè)點(diǎn)的順序依次為Al、Am、An 和Ao,如果給角標(biāo)賦具體的編號值,則l < m < n < o 。直觀上來看,計(jì)算出的這四個(gè)點(diǎn)的順序也是與兩條有向線段的方向一致的。

      2.2點(diǎn)與有向線段的距離

      眾所周知點(diǎn)與直線之間的距離就是點(diǎn)到該點(diǎn)在直線上的投影點(diǎn)的距離,但是有向線段并不像直線一樣兩端無限延伸,基于此本文給出點(diǎn)與有向線段之間距離的定義(下文簡稱點(diǎn)線距離):

      設(shè)有向線段的長度為,點(diǎn)Am 與有向線段的距離為,則

      如圖3所示,式2.5對應(yīng)了三種情況,即當(dāng)投影點(diǎn)在有向線段起點(diǎn)外、線段內(nèi)、終點(diǎn)外時(shí)。雖然起點(diǎn)外和終點(diǎn)外兩種情況可以看作一種,但是在編制程序時(shí)需要分開計(jì)算。

      引入點(diǎn)線距離的定義目的是衡量點(diǎn)與有向線段之間的遠(yuǎn)近關(guān)系,從而可以將點(diǎn)按有向線段進(jìn)行分類。

      3算法流程

      算法流程如圖4所示。

      設(shè)初始輸入數(shù)據(jù)為各個(gè)點(diǎn)坐標(biāo)和各有向線段起止點(diǎn)坐標(biāo)和以及這些起止點(diǎn)坐標(biāo)的順序。選擇坐標(biāo)作為初始輸入數(shù)據(jù)是因?yàn)楸疚膶λ惴ǖ某绦蚓幹剖腔?AutoCAD 軟件進(jìn)行的,而在基于.NET框架的AutoCAD二次開發(fā)中,點(diǎn)坐標(biāo)是最容易獲取的變量值之一,且獲取多段線各角點(diǎn)坐標(biāo)時(shí),也能同時(shí)獲取各坐標(biāo)點(diǎn)的順序[6]。算法步驟為:

      1)計(jì)算坐標(biāo)系變換參數(shù)。

      如圖5 所示,設(shè)原始坐標(biāo)系為xOy,變換后的坐標(biāo)系為x'O'y',且僅通過旋轉(zhuǎn)、平移進(jìn)行變換,并使變換后的坐標(biāo)原點(diǎn)O' 與原始坐標(biāo)系的坐標(biāo)原點(diǎn)O重合,x'軸與有向線段的方向一致,此時(shí)y'軸必然與有向線段在原點(diǎn)O'處垂直,且符合右手法則。

      以僅旋轉(zhuǎn)、平移的方式進(jìn)行坐標(biāo)系變換,由初始輸入數(shù)據(jù)可以計(jì)算出旋轉(zhuǎn)角度θj和平移向量:

      式3.1和3.2用正弦值和余弦值來描述θj是為了方便后面的計(jì)算,上文已提到l 就是有向線段的長度。通過以上計(jì)算可以得到每一個(gè)有向線段的旋轉(zhuǎn)角度θj和平移向量,它們是坐標(biāo)變換的兩個(gè)重要參數(shù)。

      2)計(jì)算投影距離、垂直距離和點(diǎn)線距離

      通過坐標(biāo)系轉(zhuǎn)換,可以同時(shí)求得投影距離和垂直距離,其實(shí)此二值就是坐標(biāo)點(diǎn)在坐標(biāo)系變換后的新坐標(biāo)系下的橫、縱坐標(biāo)。由坐標(biāo)變換參數(shù)θj和以及坐標(biāo)系變換公式可以求得點(diǎn)在新坐標(biāo)系下的橫、縱坐標(biāo),同時(shí)也就得到了投影距離和垂直距離:

      坐標(biāo)(xm′ ,ym′)為點(diǎn)Am 在新坐標(biāo)系下的坐標(biāo)。

      再結(jié)合式2.5和式3.3可以求得點(diǎn)線距離:

      至此,所有排序所需要的三大變量都由初始坐標(biāo)數(shù)據(jù)求出了。

      3)排序

      通過以上步驟,可以交叉計(jì)算每一個(gè)點(diǎn)與每一條有向線段的點(diǎn)線距離。從點(diǎn)的角度來看,每一個(gè)點(diǎn)都有一組點(diǎn)線距離,在這些點(diǎn)線距離中取最小值,它所關(guān)聯(lián)的有向線段就是離此點(diǎn)最近的有向線段。每一個(gè)點(diǎn)都能找到一條離它最近的有向線段(如果離該點(diǎn)最近的有向線段同時(shí)有多條,取角標(biāo)最小的一條),本文稱之為此點(diǎn)“屬于”這條有向線段。有向線段的順序是已知的,當(dāng)一條有向線段的順序在另一條有向線段的前面,那么屬于前者的點(diǎn)的順序也在屬于后者的點(diǎn)之前,這就完成了點(diǎn)的初步排序,正如第2.1節(jié)中的第三種情況。

      將坐標(biāo)點(diǎn)按線段排序后,就可以對屬于單條有向線段的點(diǎn)集進(jìn)一步排序,首先按上一步中計(jì)算出的每個(gè)點(diǎn)的投影距離從小到大排序(第2.1節(jié)中的第一種情況),如果遇到投影距離相等的兩個(gè)點(diǎn),則再按垂直距離從大到小排序(第2.1節(jié)中的第二種情況)。

      4算例

      本文將以某輸水管線項(xiàng)目的巖土工程勘察平面圖繪制工作為例,采用對AutoCAD軟件進(jìn)行二次開發(fā)的方式,進(jìn)一步介紹本算法在實(shí)際項(xiàng)目中的應(yīng)用。

      某輸水管線項(xiàng)目全長20.8km,本次勘察擬沿全管線按間隔約 100m 及拐點(diǎn)處布置勘探鉆孔218個(gè)。在初始鉆孔布置中,以復(fù)制圖塊的方式在擬鉆探點(diǎn)位繪制218個(gè)代表鉆孔的自定義CAD 圖塊,自定義圖塊中包含一個(gè)代表編號的塊屬性,但是在復(fù)制圖塊時(shí)無法直接遞增編號。如果手動對鉆孔塊的編號屬性一一賦值,將會是一個(gè)巨大的工作量,并且賦值以后,如果需要在局部增加或刪除個(gè)別鉆孔,重新編號也極其不方便。因?yàn)楣芫€蜿蜒曲折,如果采用XY坐標(biāo)法自動編號,局部編號順序會與管線走向不一致。下面利用基于AutoCAD二次開發(fā)的自編程序?qū)︺@孔圖塊編號,并使編號順序能夠與管線走向一致。

      首先需要繪制代表管線走向的輔助多段線,由于在設(shè)計(jì)單位提供的管線布置圖中,代表管線的直線是被井點(diǎn)圖塊斷開的,故不能直接作為有向線段的輔助多段線。額外繪制好輔助多斷線(輔助線的節(jié)點(diǎn)可以遠(yuǎn)遠(yuǎn)少于原管線節(jié)點(diǎn))后,在命令欄輸入自編程序的啟動命令,并按提示依次選擇輔助多段線、鉆孔圖塊所在圖層,之后就能將218個(gè)鉆孔圖塊的編號屬性按管線走向賦予編號值,結(jié)果如圖6所示。

      如果增刪鉆孔也很方便,增刪鉆孔后再次執(zhí)行自編程序,便能快速編號,增加(刪除)的鉆孔之后的鉆孔編號能自動遞增(遞減)。出圖時(shí)只要將輔助多段線所在圖層設(shè)為不可打印或凍結(jié)即可。

      5結(jié)語

      (1)將勘察鉆孔和線狀擬建物分別抽象為平面空間中的有限個(gè)坐標(biāo)點(diǎn)和有限個(gè)有向線段,對其進(jìn)行了空間關(guān)系分析,定義了投影距離、垂直距離和點(diǎn)線距離三個(gè)變量,用其描述點(diǎn)與有向線段的相互空間位置關(guān)系,以及衡量點(diǎn)沿有向線段方向的順序。

      (2)介紹坐標(biāo)點(diǎn)排序算法流程,以點(diǎn)坐標(biāo)、有向線段起止點(diǎn)坐標(biāo)為已知量,通過坐標(biāo)系變換的思想給出了投影距離、垂直距離和點(diǎn)線距離三個(gè)變量的計(jì)算過程,以及如何用這三個(gè)距離變量來對坐標(biāo)點(diǎn)排序。

      (3)以某輸水管線項(xiàng)目的巖土工程勘察平面圖繪制工作為例,介紹本算法在實(shí)際項(xiàng)目中的應(yīng)用,顯示出該算法具有較高的實(shí)用性。

      參考文獻(xiàn):

      [1]師磊. 計(jì)算機(jī)繪圖在地質(zhì)工作中的應(yīng)用及發(fā)展趨勢[J].西部探礦工程,2006,18(12):132-133.

      [2]崔斌. 地質(zhì)勘察中計(jì)算機(jī)繪圖的應(yīng)用及發(fā)展趨勢[J].科技經(jīng)濟(jì)導(dǎo)刊,2018,26(7):27.

      [3]溫立新. 在AutoCAD 中實(shí)現(xiàn)樁號自動編寫的方法[J].軍工勘察,1995,9(3):36-37

      [4]張海蛟,紀(jì)曉雨.VBA在地基處理樁號自動編寫中的應(yīng)用[J].工程建設(shè)與設(shè)計(jì),2017(5):148-150.

      [5]王葉. 線性建筑物的樁號自動生成方法及其應(yīng)用[J].水利規(guī)劃與設(shè)計(jì),2020(3):163-166.

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

      【通聯(lián)編輯:梁書】

      猜你喜歡
      巖土工程勘察二次開發(fā)
      淺談基于Revit平臺的二次開發(fā)
      甘肅科技(2020年20期)2020-04-13 00:30:02
      西門子Operate高級編程的旋轉(zhuǎn)坐標(biāo)系二次開發(fā)
      淺談Mastercam后處理器的二次開發(fā)
      模具制造(2019年3期)2019-06-06 02:11:02
      深基坑工程巖土工程勘察的重點(diǎn)探究
      提高高職學(xué)生巖土工程勘察綜合實(shí)訓(xùn)效果的探討
      科技視界(2016年24期)2016-10-11 08:54:20
      項(xiàng)目導(dǎo)向教學(xué)法在巖土工程勘察課程中的應(yīng)用
      科技視界(2016年14期)2016-06-08 00:56:27
      巖土工程勘察中的質(zhì)量控制探討
      科技視界(2016年2期)2016-03-30 11:41:41
      淺談勘察報(bào)告中工程分析與評價(jià)的主要內(nèi)容及重點(diǎn)
      科技視界(2016年2期)2016-03-30 11:41:05
      巖土工程勘察內(nèi)外業(yè)工作常見問題成因及改進(jìn)建議
      科技視界(2016年1期)2016-03-30 09:35:18
      Micaps3.2 版本二次開發(fā)入門淺析
      西藏科技(2015年12期)2015-09-26 12:13:51
      湖北省| 连南| 都江堰市| 惠水县| 绍兴市| 山丹县| 白玉县| 会昌县| 隆化县| 莱州市| 西畴县| 桦川县| 治县。| 江门市| 凌云县| 赫章县| 澜沧| 高唐县| 团风县| 名山县| 石渠县| 连平县| 内乡县| 盐城市| 容城县| 泾源县| 丹凤县| 高要市| 南乐县| 海门市| 阳曲县| 蒙自县| 乡宁县| 黄陵县| 禹城市| 太谷县| 凤凰县| 阿瓦提县| 锡林郭勒盟| 池州市| 清水县|