• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    地形圖點狀符號遮擋地物自動刪除的程序開發(fā)

    2012-06-29 07:26:38張福利丁亞南何立新
    城市勘測 2012年4期
    關鍵詞:整飾程序運行點狀

    張福利,丁亞南,何立新

    (河南省中緯測繪規(guī)劃信息工程有限公司,河南焦作 454000)

    1 引言

    AutoCAD具有開放的體系結構,允許用戶和開發(fā)者采用高級編程語言對其進行擴充和修改,能最大限度地滿足用戶的特殊要求。目前國內(nèi)許多地形圖成圖軟件均基于AutoCAD平臺開發(fā)而成,在地形測繪的過程中使用了大量的獨立地物符號、行樹行灌木和面狀填充等點狀符號,在地形圖整飾或編繪專題地形圖時往往遇到這些點狀符號遮擋其他地物,手工刪除這些符號費工費時。本文詳細論述了使用VBA快速刪除遮擋符號的程序思路和代碼組織編寫,在生產(chǎn)實踐中取得了良好的效果。在地形圖自動化整飾領域進行了有益的探索,符合數(shù)字測繪產(chǎn)品程序化、自動化和智能化的發(fā)展方向。

    2 刪除點狀符號的可行性分析

    VBA即Mcrosoft Office中的Visual Basic for Applications,自2000版本開始它便集成到了AutoCAD中。VBA為用戶訪問AutoCAD中豐富的技術框架打開了一條新的通道,它利用AutoCAD強大的ActiveX自動化對象模型,代表了一種新型的定制AutoCAD的模式構架。通過VBA我們可以操作AutoCAD幾乎所有的內(nèi)部功能,控制ActiveX使之相互之間發(fā)生互動,為自動刪除AutoCAD中的各類實體提供了強大的技術支持。

    地形圖上的符號一般由點、線、面、文字符號組成,若按符號與地物的比例關系分類,點狀符號又稱為不依比例符號。點狀符號按定位情況分為G兩類:

    ①定位性符號:它在地形圖上具有確定的位置,一般不能任意移動,如煙囪、水塔、檢修井等,它們可以根據(jù)符號的位置,確定其所代表的地物及實地位置。

    ②說明性符號:它在地形圖上一般是為了說明地物的質(zhì)量和數(shù)量特征而附加的符號,它們依附于定位范圍或定位線而存在,如旱地、林地符號配置于地類界范圍內(nèi),行樹依附定位線而存在,一般呈規(guī)則或不規(guī)則狀排列,但無定位意義。對于無實際定位意義的點狀符號或?qū)n}地圖上無需表示的點狀符號若遮擋了重要地物,在地形圖內(nèi)業(yè)整飾時,一般為保持圖面整潔要刪除這些符號。

    3 程序設計的理論基礎和思路

    地形圖上的點狀符號一般以圖塊的形式存在于DWG文件的圖形空間中,每種符號(圖塊)均具有特定的內(nèi)部名稱(塊名),在特定的比例尺下,符號有特定的比例因子和大小,每個符號插入點的三維坐標是固定不變的。AutoCAD中的快速選擇功能可以方便的選擇某類實體對象并添加到選擇集中,用VBA代碼建立選擇集時可以同時設定選擇過濾器的多個條件,從而更精確、快速的選擇到所需的實體對象,進而用代碼控制選中實體的移動、復制、刪除等操作。建立選擇集的方法很多,有“屏幕”選擇集,“封閉區(qū)域”選擇集、擴展屬性選擇集等,本文用到的主要是“封閉區(qū)域”選擇集,如圖1所示。

    程序能自動刪除遮擋地物的點狀符號主要是基于AutoCAD選擇集的操作進行的。設想存在一個點狀符號,無論其形狀如何,總能有一個平行于坐標軸的最小矩形框可以將符號完整包圍(如圖1所示)。如果以這個矩形框為選擇集的邊界,如果這個“封閉區(qū)域”內(nèi)不包含其他實體,那么選擇集選中的就是點狀符號自身,實體的數(shù)量為1個。如果這個封閉區(qū)域內(nèi)有其他符號、文字存在或有多段線、直線穿越,那么“封閉區(qū)域”內(nèi)就包括了多個實體,如圖2中的選擇集1包含了2個實體,實體數(shù)量為2。圖2中的選擇集2包含了3個實體,實體數(shù)量為3。

    分析可知:通過點狀符號最小矩形包圍框建立的選擇集所選中的實體數(shù)量,如果數(shù)量大于1,那么可以判定該符號壓蓋了其他的地物,就可以將自身刪除掉。

    圖1 封閉區(qū)域選擇集示意圖

    圖2 包含多個實體的選擇集

    4 程序代碼編寫要點

    ①建立一個維數(shù)固定的靜態(tài)數(shù)組用于存儲需要刪除的點狀符號的基本信息,如塊名稱及基于插入點的左高度、右高度、左寬度和右寬度等信息;

    ②在代碼中提供人機對話,便于用戶在CAD命令行輸入選擇集過濾條件,如符號所在的圖層等;

    ③依據(jù)輸入的過濾條件對整個圖形建立一個全局選擇集,例如選擇“ZBTZ”層上的所有點狀符號;

    ④循環(huán)讀取全局選擇集中的每個符號的塊名稱并和數(shù)組中存儲的符號信息進行字符比較,確定該符號是否為程序確定刪除的符號;

    ⑤以每個點狀符號的插入點為基點,以數(shù)組中存儲該符號的長度信息構建一個矩形選擇區(qū)域,建立一個局部選擇集;

    ⑥對局部選擇集內(nèi)的實體數(shù)量進行判斷,如果數(shù)量等于1則保留符號,否則便刪除符號自身。

    5 程序關鍵代碼

    6 程序運行前后的對比

    在圖3的地形圖中,陡坎線、文字和高程注記均不同程度地被旱地填充符號壓蓋,圖面質(zhì)量較差,程序運行后壓蓋地物的旱地符號均自動的被刪除了,圖面效果明顯得到改善,如圖4的處理前后對比。

    圖3 程序運行前的地形圖

    圖4 程序運行后的地形圖

    7 結語

    程序投入使用后,在大面積的大比例尺地形圖內(nèi)業(yè)整飾中,短短幾分鐘的時間便可完成獨立符號遮蓋地物的刪除工作,相比傳統(tǒng)的人工查找刪除,效率大大的提高,節(jié)約了人力資源的投入。限于篇幅,文中僅論述了程序的設計理論基礎、開發(fā)思路和關鍵代碼的編寫過程。

    [1]張帆,鄭立楷,王華杰等.AutoCAD VBA開發(fā)精彩實例教程[M].北京:清華大學出版社,2004.

    [2]張曜,張青,李丁.Visual Basic函數(shù)實用手冊[M].北京:冶金工業(yè)出版社,2002.

    [3]CJJ8-99.城市測量規(guī)范[S].

    [4]GB/T 7929-1995.1∶500 1∶1000 1∶2000地形圖圖式[S].

    [5]鄭殿軍,付翔等.地圖制圖[M].哈爾濱:哈爾濱地圖出版社,2001.

    [6]CASS 7.0成圖軟件參考手冊[R].

    猜你喜歡
    整飾程序運行點狀
    Ⅰ型肢根型點狀軟骨發(fā)育不良家系的遺傳學分析
    某住宅樓的混凝土點狀爆裂原因分析
    數(shù)字印后整飾技術多維觀察
    今日印刷(2020年4期)2020-04-19 10:05:21
    行政公益訴訟訴前程序運行檢視
    法大研究生(2020年2期)2020-01-19 01:43:04
    地形圖圖廓整飾的設計與實現(xiàn)
    測繪工程(2017年8期)2017-07-01 19:15:18
    談印象整飾對人際交往和求職面試的影響
    錳合金化奧氏體不銹鋼的抗點狀腐蝕性能
    四川冶金(2017年2期)2017-04-11 12:55:36
    印象整飾視角下的大學生學業(yè)考試作弊動機與行為探析
    論刑事錯案的成因
    《刑事訴訟法》修改背景下刑事和解制度淺析
    温泉县| 铜陵市| 阿勒泰市| 铁岭市| 普宁市| 嵊泗县| 肇东市| 仁怀市| 南陵县| 丁青县| 寿阳县| 钟祥市| 筠连县| 观塘区| 通海县| 奈曼旗| 嘉兴市| 个旧市| 确山县| 周宁县| 临沭县| 体育| 麦盖提县| 大宁县| 韶关市| 青州市| 平远县| 讷河市| 饶河县| 抚宁县| 湖北省| 蒙阴县| 资中县| 上高县| 夏河县| 呼伦贝尔市| 民乐县| 青龙| 淅川县| 太康县| 清苑县|