摘 要:運用VB的程序語言進行自動繪制立面圖程序的編制,可以對立面圖進行全方位的分析,在一定程度上加大繪制立面圖的可靠性和準確性。本文從ActiveX Automation對象模型為出發(fā)點,以建筑物的繪制立面圖的設(shè)計為依據(jù),敘述了界面的設(shè)計步驟和設(shè)計該軟件所需要的相關(guān)技術(shù)的支持,進一步說明運用VB控制其他軟件的好處。
關(guān)鍵詞:VB;立體圖程序;設(shè)計
中圖分類號:TP311
利用VB對AutoCAD進行控制設(shè)計完善自動繪制立面圖的程序和算法,減少了原有的工作失誤,加快了工作的準確度和效率。這也為內(nèi)業(yè)減輕了很多的工作量,趨向成果的標準性。
1 ActiveX Automation對象模型
ActiveX Automation對象模型是Autodesk公司由AutoCAD R14版本中提供而來的。AutoCAD擁有超強的圖形編輯系統(tǒng),是現(xiàn)今計算機輔助繪圖中運用最廣的軟件。二維繪圖的標準格式是DWG文件格式。現(xiàn)在很多商業(yè)化的測試軟件都是運用AutoCAD為開發(fā)平臺或者供給和它相交互的接口。ActiveX Automation是以Microsof的對象模式進行開發(fā)的,利用此軟件可以暢游在各種編程環(huán)境里訪問AutoCAD圖形。ActiveX Automation提供了很多的可編程對象,其中包括:圖像顯示對象、圖像對象、結(jié)構(gòu)對象等,當然也可以把AutoCAD程序當作對象。運用VB語言進行編程操作,可以把VB里的一個程序窗口當作AutoCAD,對其進行繪圖、打印、編輯、關(guān)閉步驟的操作,用起來比較方便快捷。VB擁有Windows應(yīng)有程序里的程序語言,它有很容易掌握、比較強大的優(yōu)點。利用VB實現(xiàn)對AutoCAD的控制操作,在自動繪畫立面圖的設(shè)計中非常的有益。
2 編程的整體思路
在對大量的立面測試試驗的研究分析后,得出以下結(jié)論:(1)現(xiàn)實中建筑物體的立面圖形狀各式各樣,多數(shù)的立面圖形可以進行拆分:比如房屋的窗戶、屋檐、外輪廓、豎向的投影線等。立面圖的主要依據(jù)就是窗戶,為了方便計算機的描述和實現(xiàn)過程,可以對窗戶進行多組或者一組的橫向間距和豎向間距的拆分方案。(2)立面測量的數(shù)據(jù)采集方法比較方便、靈活,通常情況下依據(jù)實際中的情況把多種采集手段配合交叉著使用。通常運用的采集方法有:鋼尺量距、無棱鏡的踩點法、懸高法等等,實際使用后的結(jié)果大多都是得到一系列的懸高和尺寸的數(shù)據(jù)情況。綜合參考上述的結(jié)論,這一次的程序設(shè)計運用使用人員錄入的物外立面數(shù)據(jù)為依據(jù),通過程序內(nèi)部的自行運算后,運用VB控制掌握著AutoCAD達到自動繪制立體圖的效果圖。
圖1
3 界面的設(shè)計步驟
每一個程序的可操作性能和易用性在應(yīng)用程序的界面上就可以完好的體現(xiàn)。第一步把使用人員當作設(shè)計程序的中心,在對系統(tǒng)進行設(shè)計編制的時候,專業(yè)設(shè)計人員必須準確掌握使用人員的特征,明晰使用人員的運用要求。運用順序的原則方法,依照處理事件的先后順序或者訪問查看的順序等設(shè)計出人和機器對話的界面。利用本身的功能原則設(shè)置人機交互的界面,確保對象所應(yīng)用的環(huán)境和具體場合的使用功能得到完好發(fā)揮。把握好一致性原則的依據(jù),確保用戶在運用時首先看到界面的細節(jié)和美工設(shè)計一致,在一定程度上減少用戶運行時出現(xiàn)的失誤情況。掌握好用戶交互式對話頻率的高低原則,設(shè)計出人機界面里的對話框位置和層次的順序等部分。為了使人機界面的主次順序和對話框的位置的突顯性,一定規(guī)范好管理對像在系統(tǒng)設(shè)計中的重要性和全局性。遵照用戶人員的特征,設(shè)計好與其相適應(yīng)并友好相處的人機界面。為了加大用戶的交互式的運行水平與效率,可以設(shè)置彈出式的顯示窗口進行提示和引導信息方便用戶的操作。
此程序的界面截圖如下:
圖2
圖3
3 主要技術(shù)的運用
3.1 窗戶的錄入工作:(1)全部的窗戶都使用多組或者一組的橫向間距或豎向間距來進行描述。橫向間距的外掛屬性有非“0”和“0”兩種,它們分別對“窗戶的寬度”和“窗戶的長度”進行表示?!皺M向間距”在對窗戶的寬度進行表示時,為了使“橫向間距”和“豎向間距”存在聯(lián)系,準確的達到描述窗戶的目的,此時的“橫向間距”所代表的屬性值與“豎向間距”的組號對應(yīng)。每一組的“豎向間距”中間距的總數(shù)可以不一樣,但都規(guī)定大于等于3個為奇數(shù),行號的排列由小到大,所對應(yīng)的實地有頂部到底部。得出的偶數(shù)行就表示“窗戶的高度”,奇數(shù)行則表示“墻體的高度”。比如:頂層部的窗戶上沿和屋檐緊挨著,一層窗戶的下沿和地面緊挨著,那么首部和尾部的間距輸入值為0。(2)由于豎向間距進行錄入時,外業(yè)的數(shù)據(jù)有可能是懸高的數(shù)據(jù),程序在進行設(shè)計的時候設(shè)計了懸高的錄入窗口,進入“豎向懸高的錄入時可以實時的進行自動計算豎向的間距。在自動繪圖進行讀取的時候,只讀取豎向的間距值,達到了豎向間距和豎向懸高的二者兼容性。為達到無限制的表格行數(shù)和列數(shù),減少表格的內(nèi)存占用空間,可以對全部的表格錄入口設(shè)置動態(tài)的增加或者刪除表格的行列。
3.2 如果窗戶的橫向間距或者豎向間距出現(xiàn)比一組多的情況,各個組之間的數(shù)據(jù)數(shù)值的和是完全一樣的。如果不相同,程序會自動的進行嚴密平差,平差的運算方法和水準平差的辦法相似。如果用戶輸入立面總長或者立面總高時,程序會自動把輸入的值當做標準值來進行平差,或者運用各個組的“豎向間距”和“橫向間距”數(shù)值和的平均值當做標準數(shù)值來進行平差。如果出現(xiàn)各組的“橫向間距”和“豎向間距”的數(shù)值和與標準值之間的差值絕對值比限差大的情況,程序會自行中斷同時提醒用戶錯誤。限差可以用戶自己進行設(shè)定。
3.3 對計算的圖紙尺寸和比例尺進行設(shè)定。程序設(shè)置中通常使用的比例有:50/100/150/200/250/300當然也可以進行自動的比例。程序設(shè)置和有52種圖幅,也可進行自動圖幅。這些設(shè)計確保了立圖面特點更好的展現(xiàn)和疊圖時候的方便運用。程序計算圖紙和比例尺間的算法分為:手動圖幅的自動比例閥和手動圖幅的手動比例法,自動圖幅的自動比例和自動圖幅的手動比例,當遇到?jīng)]有合適的比例尺的情況,先要把滿足要求的最小比例尺計算出來,取比例尺最小值是十的倍數(shù)的比例尺為選定比例尺。在沒有合適的預(yù)置圖幅的時候,先把適合要求的最小圖幅尺寸求出來,選取比最小圖紙尺寸大的并是10mm的倍數(shù)的作為圖志的選定圖紙尺寸。
3.4 立面圖中建筑物的突出部分運用一條長的豎線進行表示,我們把它叫做豎向投影線。上邊文段中說過橫向間距利用“0”和非“0”表示的是窗戶的寬度和墻體的寬度,當橫向間距表示的是窗戶的寬度時,它的屬性數(shù)值對應(yīng)表示的是豎向間距的組號。
3.5 在對定義的尺寸進行標注樣式制作時,先對橫向間距進行標注在對豎向間距進行標注,如果出現(xiàn)間距一樣的情況,只標注一組就可以啦。對于標注豎向間距時,一定要注意先把外輪廓線的兩側(cè)間距進行標注。在遇到間距大于一組并且兩側(cè)的間距沒有辦法表達所有的間距組時,程序會自動的把全部的兩窗戶間的間隙寬度做瀏覽,會先把間隙的較寬出進行標注。
3.6 細心地把工程的文件數(shù)據(jù)進行設(shè)置,確保工程的保存、打開、零存功能的運用。內(nèi)業(yè)可以下載一個TXT格式的工程文件,運用它達到內(nèi)外業(yè)一體和測繪不用紙的狀態(tài)。外業(yè)也不需要重新開發(fā)專用的工程軟件,可以運用PDA來記錄。工程的文件是明碼文件,使用者在修改和存檔的時候比較方便運用。設(shè)置錄入限制系統(tǒng),限制字母、符號、小數(shù)點等字符的輸入,確保全部的錄入數(shù)據(jù)的表格和文本框出現(xiàn)防錯錄的情況。如果出現(xiàn)錄錯的情況,程序可以及時的依據(jù)相關(guān)信息分析出錯誤。在進行立面圖繪制之前,程序也會把輸入的數(shù)據(jù)進行全部的檢測,并對出現(xiàn)的錯誤因素有所提示。
3.7 自動的把所用的參考線和圖幅尺度進行繪制,使使用人員在整理的時候方便。首先選用A4的紙張作為標準紙,先把立面圖里內(nèi)外廓間的短線進行繪制,用實線代表反折,虛線則代表正折。利用繪圖程序中的各個選項和各部分的繪圖立面圖進行合作應(yīng)用,把握正確支持繪圖的基點功能,可以對復(fù)雜的立面繪圖進行多次的疊加繪制,減少了繪圖中出現(xiàn)的錯層的情況。規(guī)范好繪圖的環(huán)境,對繪圖的圖層、文字樣式、尺寸、顏色線條寬度等進行設(shè)置,繪制環(huán)境都交由代碼控制完成,此測繪圖不再依賴于CAD模板,具有很強的可移植性。
4 結(jié)束語
隨著現(xiàn)今測繪技術(shù)的不斷發(fā)展,原有的運用CAD為平臺的手工繪圖已經(jīng)無法適應(yīng)繪圖快速發(fā)展的現(xiàn)狀。由于CAD手工繪圖軟件工作量太大、準確性不高、整理起來麻煩、容易出錯這一系列的問題,促使開發(fā)運用一種自動繪制立面圖軟件程序迫在眉睫。運用VB對軟件進行控制操作,可以有效地減少了軟件開發(fā)所浪費的時間,也有效地解決了測繪中出現(xiàn)的各種問題,加快了測繪技術(shù)的發(fā)展速度。
參考文獻:
[1]黃琛,黃紅兵.基于VB6.0的數(shù)據(jù)通信編程技術(shù)[J].電子世界.2014(01).
[2]雷祥,耿娜.MapX在VC++中實現(xiàn)軍用標圖的兩個關(guān)鍵方法研究[J].硅谷.2012(15).
作者簡介:張鵬,男,內(nèi)蒙古通遼人,教師,講師:碩士,研究方向:計算數(shù)學。
作者單位:內(nèi)蒙古民族大學,內(nèi)蒙古通遼 028000