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”分別表示“墻體寬度”和“窗戶寬度”?!皺M向間距”表示“窗戶寬度”時,其屬性數值代表所對應的“豎向間距”組號。

我們一般在第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
主站蜘蛛池模板: 精品无码一区二区三区在线视频| 欧美精品成人一区二区在线观看| 秘书高跟黑色丝袜国产91在线| 中美日韩在线网免费毛片视频| 欧美日韩中文国产| 高清欧美性猛交XXXX黑人猛交| 国产精品第一区在线观看| 欧美日韩成人| 亚洲天堂视频在线观看| 六月婷婷激情综合| 国内精自线i品一区202| 亚洲欧美日韩动漫| 成人蜜桃网| 国产一区亚洲一区| 高潮爽到爆的喷水女主播视频| 亚洲国产日韩在线观看| 久久香蕉国产线| 久久精品人人做人人爽| 91无码人妻精品一区| 青青青视频91在线 | 日韩美女福利视频| 中文字幕在线视频免费| 亚洲天堂精品在线| 99人体免费视频| 成年网址网站在线观看| 综合色亚洲| 国产精品嫩草影院视频| a毛片在线免费观看| swag国产精品| 国产三级视频网站| 人妻无码中文字幕一区二区三区| 亚洲日本中文字幕乱码中文 | 久久久久88色偷偷| 激情综合五月网| 欧美亚洲国产日韩电影在线| 日本精品一在线观看视频| 中文字幕在线一区二区在线| 成人在线观看一区| 91人妻在线视频| 免费jizz在线播放| 无码综合天天久久综合网| 区国产精品搜索视频| 亚洲中文字幕在线精品一区| 国产在线视频欧美亚综合| 欧美日韩第三页| 亚洲AV无码精品无码久久蜜桃| 日韩午夜福利在线观看| 在线观看91香蕉国产免费| 91精品国产91久无码网站| 亚洲成a人片77777在线播放| 91高清在线视频| 亚洲欧洲AV一区二区三区| 亚洲av无码专区久久蜜芽| 欧美综合一区二区三区| 日韩在线第三页| 黄色福利在线| 被公侵犯人妻少妇一区二区三区| 亚洲综合极品香蕉久久网| 白浆视频在线观看| 一级香蕉视频在线观看| 国产午夜福利亚洲第一| 色哟哟国产精品一区二区| 午夜精品久久久久久久99热下载| 国产色爱av资源综合区| 亚洲三级影院| 国产区网址| 毛片久久网站小视频| 亚洲黄色片免费看| 亚洲一区二区在线无码| 国产成人AV大片大片在线播放 | 欧美精品二区| 国产99在线观看| 国产黄色片在线看| 99热这里只有成人精品国产| 老司国产精品视频91| 国产一区免费在线观看| 欲色天天综合网| 伊人久久久久久久| 2020久久国产综合精品swag| 国产成人亚洲综合A∨在线播放 | 在线欧美日韩| 亚洲,国产,日韩,综合一区|