土地整理規(guī)劃設(shè)計中多義線長度值快速統(tǒng)計研究
摘要 在AutoCAD的平臺上,利用其嵌入式語言VBA的函數(shù)并結(jié)合Excel獲取AutoCAD繪制多義線長度值的算法,完成多義線自動統(tǒng)計到Excel中的二次開發(fā)。該研究用于土地整理項目規(guī)劃設(shè)計中新修排水溝長度值的自動統(tǒng)計,減少了煩瑣的工作量,為進一步實現(xiàn)土地整理項目規(guī)劃設(shè)計的自動化提供了可能。
關(guān)鍵詞 多義線 長度 統(tǒng)計 AutoCAD VBA
中圖分類號:TP39 文獻標識碼:A
近年以來,隨著人口不斷增加與城鎮(zhèn)建設(shè)用地的擴展,使得土地尤其是耕地相對短缺的問題日益突出,土地開發(fā)整理作為補充耕地的主要途徑,是保住“耕地18億畝紅線”(1.2億hm2)和國家糧食安全的主要措施。隨著我國土地整理工作在全國深入開展,國家在土地整理中投入大量的財力、人力、物力,如何提高土地整理中工程量計算的效率以,是目前需要研究的問題之一。目前,在土地整理規(guī)劃設(shè)計中所用的繪圖軟件主要是AutoCAD系列軟件。其中在進行排水溝規(guī)劃設(shè)計時,通常是在規(guī)劃后逐條點擊其屬性統(tǒng)計長度值。如果更改規(guī)劃要素,則需要再次重新統(tǒng)計,工作效率低、且易出錯。土地整理項目規(guī)劃設(shè)計是一項涉及面廣、內(nèi)容復雜的過程,各類地物信息影響土地整理規(guī)劃設(shè)計的各個方面。如何有效快速的在規(guī)劃設(shè)計中確定規(guī)劃要素的基礎(chǔ)數(shù)據(jù),如長度值等,本研究進行了一些探索。本文介紹如何利用AutoCAD嵌入式語言VBA(Visual Bacic for Applications)并結(jié)合Excel進行二次開發(fā),完成在土地整理項目規(guī)劃設(shè)計中各新修排水溝多義線長度值的自動統(tǒng)計。
1 程序設(shè)計思路流程及數(shù)據(jù)間相互關(guān)系
1.1 程序設(shè)計思路及流程
AutoCAD是目前工程圖形中使用最廣泛的計算機處理軟件。在土地整理項目規(guī)劃設(shè)計中,AutoCAD中用得最多的線是多義線(polyline),并以此來表示土地整理項目規(guī)劃設(shè)計專題圖中的大多數(shù)規(guī)劃要素,如排水溝,農(nóng)村道路等。在Auto-CAD中某一圖層統(tǒng)計出各多義線的長度,首先確定統(tǒng)計圖層中的對象i(i表示多義線的條數(shù)),然后把圖層中各i長度值i直接自動寫入到Excel單元格中,從而使土地整理規(guī)劃設(shè)計進一步自動化。開發(fā)的程序流程見圖1所示。
1.2 數(shù)據(jù)間相互關(guān)系
多義線屬性數(shù)據(jù)與Excel單元格數(shù)據(jù)彼此存在著一定的聯(lián)系。每一條規(guī)劃的排水溝多義線的長度值都在Excle單元格中對應(yīng)著一個相應(yīng)屬性數(shù)據(jù)記錄,兩者之間通過對Auto,CADVBA二次開發(fā)函數(shù)接口調(diào)用屬性數(shù)據(jù)建立內(nèi)在聯(lián)系,可以使規(guī)劃人員任意顯示檢查排水溝多義線的長度值。兩者之間通過二次開發(fā)程序,把它們聯(lián)系在一起。
2 應(yīng)用VBA技術(shù)進行AutoCAD二次開發(fā)
根據(jù)以上的二次開發(fā)基本思想和數(shù)據(jù)結(jié)構(gòu),本研究開發(fā)的土地整理項目規(guī)劃設(shè)計制圖應(yīng)用程序,可以完成與排水溝類似的規(guī)劃制圖多義線長度自動統(tǒng)計,為土地整理項目規(guī)劃設(shè)計中的工程預算提供科學、準確的基礎(chǔ)數(shù)據(jù),并利于土地整理規(guī)劃設(shè)計人員分析規(guī)劃的正確性、合理性,及時的調(diào)整規(guī)劃設(shè)計方案,直至最后形成最佳的土地整理規(guī)劃設(shè)計方案和規(guī)劃專題圖。
2.1 VBA在AutoCAD中的開發(fā)特點
AutoCAD VBA允許VBA環(huán)境與AutoCAD同時運行,并通過ActiveXAutomation接口對AutoCAD進行編程控制,對于非專業(yè)開發(fā)人員在程序語言選擇上相對其它開發(fā)高級語言,如:C、C++等,VBA更易學易掌握,可構(gòu)成多種使用的專業(yè)軟包,0能快速實現(xiàn)特定功能。
2.2 程序代碼的完成
在AutoCADVBA開發(fā)環(huán)境中的ThisDrawing模塊,首先在用戶窗體中的新修排水溝中添加一些按鈕事件,屬性欄更改名稱為工程統(tǒng)計等按鈕名稱,在其按鈕事件中加入相關(guān)程序代碼,并運行其代碼,如圖2程序運行界面。相關(guān)代碼較長,本文中省略。
3 程序應(yīng)用
AutoCAD環(huán)境中,實現(xiàn)多義線自動統(tǒng)計的方法簡單描述(1)創(chuàng)建圖層名為新修排水溝;(2)創(chuàng)建多條新修排水溝的多義線段:(3)點擊工程統(tǒng)計按鈕(見圖2);(4)根據(jù)點擊按鈕提示保存Excel的統(tǒng)計值的文件路徑,打開Excel所得各編號排水溝長度值(見圖3)。圖2程序運行界面中的藍色虛線為擬新修排水溝,旁邊文字為其編號,每個編號對應(yīng)圖3運行統(tǒng)計結(jié)果Excel中的編號長度值,實現(xiàn)其自動統(tǒng)計多義線長度值的功能。
4 結(jié)語
基于AutoCAD的自動統(tǒng)計程序,是用其內(nèi)嵌的開發(fā)語VBA,結(jié)合Excel進行二次開發(fā),其優(yōu)點是:在土地整理項目規(guī)劃設(shè)計中所涉及到的規(guī)劃要素為多義線時,能方便快捷的統(tǒng)計出同一圖層中的長度值,為工程造價預算提供科學,準確的基礎(chǔ)數(shù)據(jù);其程序占用內(nèi)存少,運行速度快,簡單實用,符合在土地整理項目規(guī)劃設(shè)計中的相關(guān)要求。