?

利用AutoCAD LISP實現地形圖中高程注記的自動移動

2012-11-24 07:06鄭州宏圖信息技術咨詢有限公司王青松李京衛
河南科技 2012年3期
關鍵詞:矩形框線框繪圖

鄭州宏圖信息技術咨詢有限公司 王青松 李京衛

利用AutoCAD LISP實現地形圖中高程注記的自動移動

鄭州宏圖信息技術咨詢有限公司 王青松 李京衛

目前,在我國的測繪軟件市場中,南方測繪公司的CASS地形地籍成圖軟件是應用比較廣泛的一款軟件。然而,在利用CASS展繪高程點時,高程注記總是顯示在相對該高程點的固定位置上,這樣做難免會出現高程注記遮蓋其他地物的情況。為了保證圖面的美觀,通常的做法是在編輯地形圖時對遮蓋其他地物的高程注記進行手工移動。這樣不僅費時費力,而且容易出現錯誤。如果利用計算機編程實現高程注記的自動移動,就可以極大地提高地形圖編輯的工作效率。

一、AutoCAD LISP編程語言

AutoCAD LISP編程語言是Autodesk公司在發行AutoCAD時自帶的開發工具之一,也是一種具有智能特點的編程語言。隨著計算機繪圖技術在各類領域的不斷發展,大量重復性的繪圖工作已逐漸由計算機來完成。AutoCAD LISP編理語言不僅可以快速地解決大量重復性的工作,而且具有語法簡單、功能強大和操作平臺多的優點。

二、利用CASS展繪的基本思路與算法實現

1.高程點與高程注記之間的距離。在利用南方測繪公司的CASS地形地籍成圖軟件繪制地形圖時,由于比例尺的不同,所展繪的高程點和注記的距離也有所不同。以繪圖比例尺1:1 000為例,高程點與注記的距離為1.2 cm,在繪圖比例尺為1:500時,兩者之間的距離縮短了一半;繪圖比例尺為1:2 000時,兩者之間的距離增加了一倍。根據不同的比例尺,可以獲取比例尺變量“user1”以求得高程點與高程注記之間的實際距離。程序如下所示:

2.獲得高程注記外圍的坐標。在CASS繪制的地形圖中,高程點與注記是一個整體,所以可以利用如下程序來完成:

圖1是一個矩形框圖。將圖1中矩形框的左下角與右上角坐標分別保存到變量minx和maxx中??梢缘玫骄匦慰蜃笙陆桥c右上角的坐標,這時需要的是注記外圍的坐標,所以需要把矩形的長度減去高程點到高程注記的距離。

3.高程注記遮蓋地物的判斷。根據獲得的高程注記文字外坐標,就可以進行高程注記遮蓋地物判斷了??紤]到高程點會遮蓋其他高程點的情況,程序如下所示:

如果q2為空,則表示沒有遮蓋其他地物,反之,就有遮蓋其他地物。

4.高程注記移動路徑。在地形圖中,高程點與注記之間的距離不能太遠,也不能太近,所以高程注記移動路徑的選擇就要有相關依據。如圖2所示,以高程點為圓心,點到高程注記的距離為半徑畫圓,將圓周上每隔45°做為1個移動點,分別將高程注記文字100.22外的實線矩形框移動到虛線框的位置。根據圓的半徑和矩形框的長和寬,就能夠很容易地求出各個移動點的坐標,那么移動路徑也就得出來了。

5.移動高程注記。根據建立的移動路徑列表,可以移動高程注記。高程注記文字100.22外的實線矩形框,以矩形框的左下角為移動基點,依次移動到虛線框的位置。每移動1次,進行高程注記遮蓋地物的判斷1次,如果沒有高程注記遮蓋地物,就把高程注記移動到該位置,本點移動結束后,接著處理下1點;否則,繼續移動判斷。如果虛線框移動結束后仍沒有符合條件,那么就把該高程注記標注出來,說明該注記無論怎么移動都要遮蓋地物,則需要人工來處理。

在CASS繪制的地形圖中,高程點與注記是一個整體,如何只選擇高程注記,并移動高程注記,而使高程點的位置不動??梢杂萌缦碌某绦騺韺崿F:

在只選擇高程注記之后,移動高程注記就比較容易了。程序如下所示:

根據上述原理,本文,筆者利用AutoCAD LISP語言編制了自動移動高程注記程序。該程序運行后,遮蓋地物的高程注記移動迅速,標注位置合理,圖面美觀大方。

猜你喜歡
矩形框線框繪圖
來自河流的你
“禾下乘涼圖”繪圖人
玩轉方格
多模態卷積神經網絡的物體抓取檢測
垂涎三尺
一種汽車式起重機防傾翻方法的研究
隨位移均勻變化的磁場中電磁感應規律的初探
共享單車有了“家”
四例電磁感應中的力學問題賞析
Surfer和ArcView結合在氣象繪圖中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合