999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VB的自動繪制立面圖程序的設計

2012-09-22 10:01:30馮宏偉羅宏
城市勘測 2012年1期
關鍵詞:測繪程序

馮宏偉,羅宏

(大同市勘察測繪院,山西大同 037000)

1 引言

測繪技術發展到今天,測繪軟件琳瑯滿目,功能也日趨完善。但由于測繪技術發展迅速,服務領域不斷擴大,相關規范的出臺和修訂略顯滯后,導致各部門對成果要求也不盡相同。許多針對特定功能的軟件還存在空白,許多現有軟件也需要持續改進。為了適應這種需要,作為測繪技術人員,有必要掌握一種程序設計語言,并能熟練用于解決測繪生產中的實際問題,這已逐漸成為測繪界共識。

在建筑物采光分析測繪中,需提供大量建筑物的立面圖,用于建模和后續采光分析。在以往的生產中,主要依靠在CAD平臺下手工成圖,包括計算圖紙尺寸及比例尺、設置繪圖環境、外業數據檢核及平差、繪制及編輯圖形、尺寸標注及文字注記、打印及疊圖裝訂等多個環節。生產效率低下,且容易出錯。因此,開發一種自動繪制立面圖的程序顯得尤為迫切。

本文以VB 6.0為開發環境,運用ActiveX Automation提供的接口進行AutoCAD的二次開發,重點闡述了利用VB控制AutoCAD實現自動繪制立面圖的思路和算法。

2 ActiveX Automation對象模型

AutoCAD是最為流行的計算機輔助繪圖軟件包,具有強大的圖形編輯功能和開放性,DWG文件格式成為二維繪圖的事實標準格式,幾乎所有商業化測圖軟件都選擇AutoCAD作為開發平臺或提供與之交互的接口。

Autodesk公司從AutoCAD R14版本開始提供了ActiveX Automation對象模型。ActiveX Automation是Microsoft基于部件對象模型(COM)體系結構開發的一項技術,通過它可以在多種編程環境中編程訪問Auto-CAD圖形。

ActiveX Automaion提供給控制程序的可編程對象有:圖形對象、類型風格對象、結構對象和圖形顯示對象,甚至AutoCAD程序本身也被看做對象。用VB語言編程,將AutoCAD當成VB程序中的一個圖形窗口,對其進行打開、繪圖、編輯、打印、關閉等操作十分方便。

VB是目前開發Windows應用程序最為迅速、簡潔的程序設計語言,具有功能強大、易于掌握的特點。用VB控制AutoCAD開發自動繪制立面圖的程序,是十分有效的手段和方法。

3 編程思路

在分析總結了大量立面測量實踐的基礎上,得出如下結論:

(1)立面測量外業數據采集手段比較靈活,常用的有懸高法、無棱鏡對邊法、無棱鏡采點法、鋼尺量距等,一般根據實際情況配合使用,但最終得到的都是一系列尺寸(間距)或懸高(高程)數據。

(2)實際中建筑物立面造型各異,絕大多數立面圖都可以拆分成:外輪廓線、窗戶(包括陽臺上的窗戶)、底商、屋檐、豎向投影線,起算標高、方位注記、尺寸標注、說明文字、圖框等。

(3)窗戶是立面圖的主要數據,可以將其拆分成一組(多組)“橫向間距”和一組(多組)“豎向間距”,便于計算機描述與實現。

參考以上結論,本程序通過讀取用戶錄入的建筑物外立面數據,經程序內部一系列運算之后,最終利用VB控制AutoCAD實現自動繪制立面圖。

圖1 流程圖

4 界面設計

一個應用程序的界面往往決定了該程序的易用性與可操作性,本程序界面設計遵循以下原則:

(1)以用戶為中心:在系統的設計過程中,設計人員要抓住用戶的特征,發現用戶的需求。

(2)順序原則:即按照處理事件順序、訪問查看順序等設計人機對話界面。

(3)功能原則:即按對象應用環境及場合具體使用功能要求,設計人機交互界面,滿足特定功能。

(4)一致性原則:界面細節美工設計的一致性使運行人員看界面時感到舒適,一致性還能減少他們的操作失誤。

(5)頻率原則:即按照管理對象的對話交互頻率高低,設計人機界面的層次順序和對話窗口的顯示位置等。

(6)重要性原則:即按照管理對象在系統中的重要性和全局性水平,設計人機界面的主次和對話窗口的位置和突顯性。

(7)面向對象原則:即按照操作人員的特征,設計與之相適應和友好的人機界面。宜以彈出式窗口顯示提示、引導和幫助信息,提高用戶的交互水平和效率。

圖2 窗戶錄入界面

圖3 部件錄入界面

圖4 注記成圖界面

5 關鍵技術實現

5.1 窗戶的錄入

所有窗戶用一組(多組)“橫向間距”和一組(多組)“豎向間距”描述。

“橫向間距”外掛屬性,用“0”和“非0”分別表示“墻體寬度”和“窗戶寬度”。“橫向間距”表示“窗戶寬度”時,其屬性數值代表所對應的“豎向間距”組號,實現了“橫向間距”與“豎向間距”的關聯,從而達到描述窗戶的目的。

每組“豎向間距”的間距總數可以不同,但均要求大于等于3個且為奇數,行號從小到大對應實地從頂至底。奇數行代表“墻體高度”,偶數行代表“窗戶高度”。即首尾間距均代表“墻體高度”,如一層窗戶下沿緊接地面,或頂層窗戶上沿緊接屋檐,則首尾間距輸入0值。

考慮到豎向間距錄入時,外業數據可能為懸高(高程)數據,程序設計了懸高(高程)數據錄入窗口,錄入“豎向懸高”實時自動計算“豎向間距”。自動繪圖時只讀取“豎向間距”,實現了“豎向懸高”與“豎向間距”的兼容。

所有表格錄入窗口均可動態增刪表格的行列數,既減少了內存占用,又實現了表格行、列數的無限制。

5.2 間距嚴密平差

當窗戶的“橫向間距”或“豎向間距”多于一組時,各組數據數值之和應相同。不相同時,程序將自動嚴密平差,平差算法類似于水準平差。

當用戶鍵入了“立面總長”或“立面總高”時,程序以鍵入值為標準值進行平差,否則以各組“橫向間距”或“豎向間距”數值之和的平均值作為標準值進行平差。

各種信息系統和平臺主要通過云計算等技術實現對海量數據的處理分析,從而快速形成估價報告等各類產品,故估價機構及人員的工作重心也會轉移到數據的采集、分析和管理等,估價師也得以從機械重復的作業方式中解放,轉向新型綜合咨詢業務的專研,提升自身技能的同時也為估價機構的細化、深化發展奠定技術基礎。

當各組“橫向間距”或“豎向間距”數值之和與標準值之差的絕對值大于限差時,程序中斷執行并提示用戶糾錯。限差支持用戶設定。

5.3 計算圖紙尺寸和比例尺

程序預置 6種比例,分別為:50、100、150、200、250、300,并支持自動比例。

程序預置52種圖幅,并支持自動圖幅。主要考慮立面圖的特點、打印機配備和疊圖裝訂方便,限于篇幅在此不一一羅列。

程序計算圖紙尺寸和比例尺的算法分四種情況:自動圖幅自動比例、自動圖幅手動比例、手動圖幅自動比例、手動圖幅手動比例。

無合適預置比例時,首先計算滿足要求的“最小比例尺”,之后取比“最小比例尺”小的且為10的倍數的比例尺作為選定比例尺。

無合適預置圖幅時,首先計算滿足要求的“最小圖紙尺寸”,之后取比“最小圖紙尺寸”大的且為10 mm的倍數圖紙尺寸作為選定圖紙尺寸。

5.4 輔助判定豎向投影線

建筑物平面圖中的突出或凹入部分,在立面圖中表現為一條較長的豎線,作者暫把它稱為豎向投影線。

前面提到:“橫向間距”外掛屬性,用“0”和“非0”分別表示“墻體寬度”和“窗戶寬度”。“橫向間距”表示“窗戶寬度”時,其屬性數值代表所對應的“豎向間距”組號。

我們一般在第2組“豎向間距”中輸入陽臺上窗戶的尺寸,其余組輸入主體上窗戶尺寸,這樣有利于下面豎向投影線的輔助判定工作。

經分析豎向投影線的規律發現:豎向投影線多出現在“墻-墻”、“窗戶-墻-陽臺”或“陽臺-墻-窗戶”、“墻-陽臺”或“陽臺-墻”等處。對應的“橫向間距”外掛屬性為:“0-0”、“1-0-2”或“2-0-1”、“0-2”或“2-0”。

由此,程序開發了3種輔助判定方式:00判定、102或201判定、02或20判定,實現了豎向投影線位置的輔助判定。

輔助判定適用于現實中大多數情況,但不排除例外。為此,豎向投影線位置還支持用戶鍵入和修改。

5.5 智能尺寸標注

在定義尺寸標注樣式之后,首先標注橫向間距,之后標注豎向間距,相同的間距只標注一組。

在標注豎向間距時,先標注外輪廓線兩側間距。當間距多于一組,且僅標注兩側間距無法代表所有間距組時,程序將遍歷所有窗戶與窗戶之間的間隙寬度,優先標注在間隙較寬處。程序自動記錄已占用間隙,防止多組間距標注位置沖突。

通過獲取尺寸標注數值,及其相鄰標注數值,計算字符位數及寬度,并判斷標注文字是否壓蓋,實現尺寸標注文字智能移位。

5.6 工程文件

精心設計了工程文件的數據格式,支持保存工程和打開工程及另存為功能。

外業可使用PDA記錄,無需開發專用軟件,使用記事本即可,內業可下載txt格式工程文件。通過本程序讀入txt格式工程文件,實現測繪無紙化和內外業一體化。

工程文件為明碼文件,方便用戶編輯修改和存檔。

5.7 完善的防錯錄及查錯功能

通過對數字、字母、小數點、負號等字符的錄入限制,使所有可錄入數據的表格或文本框均實現了防錯錄功能。

即使錄錯,程序實時顯示豎向各列總高及各列平均總高、橫向總長,通過查看分析可快速發現錯誤。并且在繪制立面圖之前,程序會對錄入的數據進行全面檢查,并提示可能的錯誤原因。

5.8 其他輔助功能

(1)自動繪制疊圖參考線和注明圖幅尺寸,方便用戶打印裁圖及裝訂。

繪制疊圖參考線的算法:經分析日常采光分析測繪報告中立面圖的一般疊法,以標準A4紙裝訂為準,在立面圖內外圖廓之間繪制短線,虛線代表正折,實線代表反折。

(2)通過控制繪圖選項,靈活搭配繪制立面各部件,結合支持繪圖基點功能,實現對復雜立面的多次疊加繪制,例如錯層等情況。

(3)設置繪圖環境,包括圖層、顏色、線寬、文字樣式、尺寸標注樣式等,均由代碼控制執行,不依賴于CAD模板,可移植性強。

圖5 立面圖成果略圖

6 結語

掌握利用VB控制提供ActiveX Automation接口的軟件(如 Excel、Word、Access、AutoCAD 等)的技術,可大大縮短軟件開發周期,對于解決測繪生產中的實際問題十分有效。

本文結合作者測量實踐及實際開發經驗,介紹了利用VB控制AutoCAD實現自動繪制立面圖的思路和算法,旨在拋磚引玉。因源代碼較長(約8 000行),限于篇幅故沒有羅列。

[1]張晉西.Visual Basic與AutoCAD二次開發[M].北京:清華大學出版社,2002

[2]許謖.Visual Basic應用與開發案例教程[M].清華大學出版社,2005

[3]王峰,陳杰.軟件測試的藝術[M].北京:機械工業出版社,2006

[4]Microsoft公司.Microsoft Visual Basic 6.0控件參考手冊[M].北京:希望電子出版社,1999

[5]Microsoft公司.Microsoft Visual Basic 6.0語言參考手冊[M].北京:希望電子出版社,1998

[6]Microsoft公司.Microsoft Visual Basic 6.0程序員指南[M].北京:希望電子出版社,1998

猜你喜歡
測繪程序
浙江省第一測繪院
工程測繪中GNSS測繪技術的應用
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
測繪新技術在測繪工程中的應用
江西建材(2018年4期)2018-04-10 12:37:38
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
04 無人機測繪應用創新受青睞
無人機在地形測繪中的應用
電子制作(2017年9期)2017-04-17 03:01:00
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 一级毛片在线播放免费| 四虎国产永久在线观看| 秋霞国产在线| 无码高潮喷水在线观看| 国产成人毛片| 午夜啪啪福利| 国产乱人乱偷精品视频a人人澡| 91午夜福利在线观看| 亚洲国产精品日韩av专区| 99视频在线观看免费| 日本国产一区在线观看| 日韩高清中文字幕| 国产精品浪潮Av| 国产成人综合日韩精品无码不卡| 亚洲视频黄| 亚洲欧美日韩精品专区| 亚洲综合经典在线一区二区| 亚洲国产高清精品线久久| 久久综合国产乱子免费| P尤物久久99国产综合精品| 精品1区2区3区| 久久九九热视频| 日韩av无码DVD| 午夜老司机永久免费看片| 国产综合日韩另类一区二区| 亚洲中文字幕在线一区播放| 狠狠色狠狠色综合久久第一次| 国产精品成| 国产区在线看| 91小视频在线| 国产高清国内精品福利| 国产精品视频白浆免费视频| 久久99国产综合精品1| 国产高清免费午夜在线视频| 亚洲性视频网站| 99视频精品全国免费品| 日本尹人综合香蕉在线观看| 狠狠亚洲五月天| 免费在线国产一区二区三区精品| 国产精品无码AV片在线观看播放| 美女免费黄网站| 男女男免费视频网站国产| 亚洲av无码专区久久蜜芽| 午夜无码一区二区三区在线app| 男女精品视频| 免费观看无遮挡www的小视频| 国产午夜不卡| 亚洲美女AV免费一区| 香蕉久久国产精品免| 国产毛片不卡| 中文字幕永久视频| 亚洲水蜜桃久久综合网站| 青青青视频免费一区二区| 99久久精品免费视频| 丁香六月激情婷婷| 98超碰在线观看| 伊人久久大香线蕉aⅴ色| 欧美在线天堂| 久久99国产精品成人欧美| 亚洲福利一区二区三区| 国产真实乱子伦精品视手机观看| 亚洲中文字幕日产无码2021| 91色国产在线| 97无码免费人妻超级碰碰碰| 亚洲人成网7777777国产| 国产精品夜夜嗨视频免费视频| 欧美精品v欧洲精品| 亚洲性影院| 日韩亚洲高清一区二区| 97超碰精品成人国产| 亚洲精品日产精品乱码不卡| 亚洲国产精品日韩欧美一区| 国产精品无码久久久久久| 成人福利在线观看| 国产精品综合久久久| 亚洲AV无码不卡无码| 欧美精品另类| 激情网址在线观看| 国产无吗一区二区三区在线欢| 国产精品乱偷免费视频| yjizz视频最新网站在线| 99久久婷婷国产综合精|