張仕海,李新華,周澤軍
(云南省水利水電工程有限公司,云南 昆明 650000)
透水率頻率曲線圖及單位注入量頻率曲線圖是灌漿成果資料的重要組成內容,常規的灌漿頻率曲線圖的繪制,一般采用CAD人工繪制,或者使用Excel的插入圖表功能來輔助完成。這兩種方法簡單易行,但也有其明顯的不足之處。CAD人工繪制容易出錯,時效性差且修改麻煩。Excel插入散點圖可以按規范要求制作單對數坐標圖,但繪制頻率區間曲線時,圖表中卻無規范要求的線型可供選擇,因此使用Excel圖表繪制的頻率曲線圖仍無法達到規范標準。
如何方便、快捷、規范地完成灌漿頻率曲線圖的繪制,成了灌漿施工中資料整理的一種需求。
AutoCAD VBA是AutoCAD的一種開發工具,具有強大的功能。AutoCAD VBA里創建的工程是代碼模塊、類模塊和窗體的集合,可以執行設定的功能。工程可保存在AutoCAD圖形中,或作為獨立的文件保存[1]。
利用CAD VBA的上述功能,加上Excel儲存數據的簡便性,灌漿頻率曲線圖的快速繪制可按以下思路完成:
(1)制作規范、通用的灌漿頻率曲線的單對數坐標圖,作為繪圖模板使用[2]。
(2)CAD讀取繪圖數據、調用CAD線型并繪制各次序孔區間頻率曲線及累計頻率曲線的功能,則制作成VBA工程文件,并單獨保存。
(3)制作統一合規的符合灌漿頻率圖要求的CAD線型文件。
(4)用Excel文件儲存繪圖數據。
繪圖流程如圖1所示。

圖1 頻率曲線圖繪制流程
制作模板文件時,首先按灌漿規范要求進行編輯,并考慮按透水率及單位注入量兩個類型分開,透水率頻率圖CAD模板與透水率數據文件相對應,單位注入量頻率曲線CAD模板與單位注入量數據文件相對應。
按灌漿規范標準[2],頻率曲線圖為單對數坐標圖,透水率軸及單位注入量軸設置為對數軸線[3]。一般情況,透水率值取1~100Lu,單位注入量取20~1000kg/m。
Excel數據記錄模板文件中,數據按列存放,透水率區間劃分確定后,再按孔序分組。數據表中一列存放區間頻率值,另一列利用函數公式自動計算各區間的累計頻率值。數據結構如圖2所示。
灌漿頻率曲線圖中區間累計曲線使用連續直線,區間頻率線則使用內插“×”符號的間斷線,該線型必須自定義來設置,如圖3所示。
圖3為Ⅰ序、Ⅱ序、Ⅲ序孔區間頻率線型的自定義設置。在自定義的PLQX1.0.LIN線型文件中,線型名稱為“Ⅰ,PLQX”的樣例為“—×—×—”。其規格為兩端對齊(A),開始5個單位長的短劃線(5),接2個單位的空格(-2),再插入“×”符號([“×”,…]),之后接2.5個單位的空格(-2.5)。插入的“×”符號為STANDARD樣式,比例為1.0(S=1.0),傾角為0(R=0),劃線方向偏移2.0單位(X=2.0),劃線垂直方向向下偏移1.55單位(Y=-1.55)。其余“Ⅱ,PLQX”“Ⅲ,PLQX”線型意義相同。

圖3 CAD線型文件設置
繪制頻率曲線圖時,根據頻率區間劃分的不同,每個區間的頻率線及累計頻率線均有一個起始點坐標與一個結束點坐標需要確定。其數值可根據CAD模板文件中坐標軸的長度設置及坐標軸的零點位置坐標,在Excel數據記錄文件中使用相應函數計算求得(圖2)。
創建VBA工程時,使用ThisDrawing.ActiveLinetype語句來加載線型文件,使用ThisDrawing.ModelSpace.AddLine pt1,pt2語句來繪制pt1點至pt2點的直線[1]。自Ⅰ序第一區間開始,至Ⅲ序最后一個區間,連續畫線,即可完成頻率圖繪制。
繪制Ⅰ序孔透水率頻率曲線代碼見表1。

表1 Ⅰ序孔透水率頻率曲線代碼表
繪制Ⅰ序孔透水率累計頻率曲線代碼見表2。

表2 Ⅰ序孔透水率累計頻率曲線代碼表
繪制Ⅱ序孔、Ⅲ序孔頻率曲線及累計頻率曲線代碼與繪制Ⅰ序孔類似。VBA代碼編輯完成,經調試達到預定效果后,導出工程并單獨保存文件。
繪圖時,打開CAD頻率圖模板文件后,加載應用程序,選擇已編輯好的透水率(或單位注入量)VBA工程文件(dvb文件),加載后運行宏,即可完成對Excel數據的讀取及繪制相應的曲線(圖4)。

圖4 CAD中加載dvb文件流程
打開Excel繪圖數據文件的sheet1表,該工程透水率區間劃分為六個區間:①q<1Lu;②q=1~5Lu;③q=5~10Lu;④q=10~50Lu;⑤q=50~100Lu;⑥q>100Lu。輸入Ⅰ序孔透水率區間頻率值,記錄在C3至C8單元格中,區間透水率累計頻率累加記錄在D3至D8單元格中;輸入Ⅱ序孔透水率區間頻率值,記錄在C9至C14單元格中,區間透水率累計頻率記錄在D9至D14單元格;輸入Ⅲ序孔透水率區間頻率值,記錄在C15至C20單元格中,區間透水率累計頻率記錄在D15至D20單元格中。每個區間對應的E、F單元格自動計算頻率線起點坐標X、Y值,G、H單元格記錄頻率線終點坐標X、Y值。I、J、K、L單元格則記錄各區間累計頻率線起點及終點的坐標值(圖2)。

圖2 Excel數據儲存及處理
按照圖4中的方法加載應用程序,選擇透水率頻率曲線工程,并運行宏,繪制透水率頻率圖,結果如圖5所示。

圖5 透水率頻率曲線圖
單位注入量繪圖數據保存在Excel模板文件的sheet2工作表中,與透水率數據處理相類似,單位注入量頻率區間確定后,輸入Ⅰ序孔單位注入量率區間頻率值,記錄在C3至C8單元格中,區間單位注入量率累計頻率累加記錄在D3至D8單元格中;Ⅱ、Ⅲ序孔單位注入量區間頻率值、區間累計頻率記錄與透水率相似。E、F單元格自動計算頻率線起點X、Y坐標,G、H單元格記錄頻率線終點X、Y坐標。I、J、K、L單元格則記錄各區間累計頻率線起點及終點的坐標值。
加載應用程序,選擇單位注入量頻率曲線工程,并運行宏,單位注入量頻率圖結果如圖6所示。

圖6 單位注入量頻率曲線圖
在CAD2010及以上版本中,VBA不再隨CAD一起安裝,要使用VBA,必須單獨下載安裝。
Excel數據模板文件、VBA代碼模塊文件以及CAD線型文件應保存在一個文件夾內。
CAD線型管理器列表內無自定義線型時,需進行一次手動加載自定義線型文件。
頻率圖CAD模板不宜進行移動或縮放操作,成果頻率圖生成后,以另存方式保存成果文件。
Excel數據模板中,sheet1工作表保存透水率數據文件,sheet2工作表保存單位注入量數據文件,各區間頻率線及累計頻率線的起止點坐標值均根據CAD模板圖中數據在Excel表中經過簡單的計算求得。在CAD模板不修改的情況下,只需輸入透水率區間頻率數據,其余有公式單元格自動計算,數據輸入完畢保存即可。
Excel對數據處理有方便、快捷的特性;CAD可制作符合規范要求的自定義線型文件;使用CAD VBA中簡單的直線繪制語句及加載線型文件的語句,即可實現繪制設定的繪圖功能,該功能VBA代碼模塊可保存為獨立文件。充分將上述幾個簡單的功能結合,即可解決灌漿頻率曲線圖繪制效率低下、容易出錯及圖紙不規范的問題。模板文件、代碼模塊文件能獨立保存,使用方便。繪圖時只需在CAD文件中加載應用程序即可,使用不受CAD版本及操作系統限制,操作簡單。該方法在本公司的部分灌漿工程中已被使用,及時調整灌漿施工參數,保證了灌漿質量,收到了很好的應用效果,值得在全部灌漿工程施工中推廣應用。