国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Microstation二次開發(fā)在油田井位展繪的應用

2022-05-09 14:41
大慶師范學院學報 2022年3期
關鍵詞:井位元素符號二次開發(fā)

佟 強

(大慶油田設計院有限公司,黑龍江 大慶 163712)

0 引言

在油田產能規(guī)劃設計中,總圖管理與設計專業(yè)承擔站外系統區(qū)域總平面的編制工作,其中井位展繪是規(guī)劃方案設計中的重要部分,通過Excel表中的井位信息將井位展繪在電子版地形圖上,以便開展產能項目方案規(guī)劃及工程設計的后續(xù)工作。(1)參見張雪琴:《敖南油田產能建設總圖設計》,《油氣田地面工程》2008年第1期。

目前,井位展繪的批量工作可基于CAD軟件和Excel VBA編寫腳本的方法實現,但,在油田產能規(guī)劃中,總圖管理與設計工作主要面向電子版地形圖,線型數據量較多,在繪制區(qū)域總平面圖及匯報圖時,偏重對色彩的選用及具有匯報性質的圖紙設計,導致CAD軟件在打開此類圖紙進行設計工作時容易出現卡頓甚至未響應等一系列問題。(2)參見唐桂彬、李俊鋒、劉帥:《基于AutoCAD動態(tài)塊和腳本文件的批量展點方法》,《地理空間信息》2016年第2期等。另一方面CAD軟件的批量井位展繪的操作是通過對Excel表中數據進行復制,再粘貼到CAD命令中實現,展繪的過程沒有實現CAD與Excel的實時關聯,過度依賴手動操作,容易出現數據丟失、錯漏、異常等情況。為了提高工作效率、保證數據安全,提出一種基于Microstation二次開發(fā)的設計方法,通過Microstation VBA語言編程環(huán)境可直接與Excel中井位數據進行連接、識別、提取和修改,并在展繪結束后顯示井別及其數量。(3)參見鄭娜:《大慶油田站場總圖設計節(jié)約用地簡析》,《油氣田地面工程》2013年第6期。

1 程序原理及數據結構

MicroStation軟件是一套專業(yè)電腦輔助繪圖軟件,有多種二次開發(fā)接口幫助用戶擴展軟件的功能。(4)參見侯祥意、盧姍、陶超:《基于MicroStation平臺的CAD文件動態(tài)無損坐標轉換方法研究》,《城市勘測》2019年第1期。其中,Microstation VBA是MicroStation為用戶提供的二次開發(fā)接口之一,通過Microstation VBA程序與Microsoft Office應用程序建立連接和通訊,可實現對Excel數據讀取及修改,實現數據龐大且操作重復性較高的井位展繪工作。(5)參見孫斌:《基于MicroStation二次開發(fā)的平原水閘參數化設計》,《三峽大學學報》(自然科學版)2016年第5期。

為了實現油、水、氣井的展繪,需將提前設置好的井別代表不同的元素符號,程序運行中讀取井別數據,以便從.cel文件中找到相應的元素符號。井位展繪程序(即.mvba文件)在運行時可利用DGN文件新建菜單欄啟動程序,程序啟動后:一方面與Excle進行連接,以便獲取井位數據;另一方面在程序運行中遍歷井位相關數據,反復調用.cel文件中的井元素符號,在圖中展繪油、水、氣井元素,程序結構及運行原理見圖1。

圖1 程序結構及運行原理示意圖

2 程序設計

2.1 遍歷數據與井別判定

通過While語句對表中每一行“井號”進行遍歷,當無數據可讀時程序跳出While語句。部分代碼如下:

CurRow = 2

While myWSA.Cells(CurRow, 3) <> ""

在程序對每一行數據進行讀取的同時對“井別”信息進行讀取,單元格中的字符應含如下關鍵字:

(1)油井的關鍵字為“油”“撈”“采出”;

(2)水井的關鍵字為“水”“注”;

(3)如果沒有在單元格中搜索到油井、水井的關鍵字,則程序判定為氣井。

讀取井別信息的代碼如下:

myWSA.Cells(CurRow, "U").Formula = "=IF(OR(ISNUMBER(FIND(""油"",D" & CurRow & ")),(ISNUMBER(FIND(""撈"",D" & CurRow & "))),(ISNUMBER(FIND(""采出"",D" & CurRow & ")))),""油井"",IF(OR(ISNUMBER(FIND(""水"",D" & CurRow & ")),(ISNUMBER(FIND(""注"",D" & CurRow & ")))),""水井"",""氣井""))"

2.2 文本定義與展繪

需要展繪的文本信息包括平臺號和井號,如果產能井位全部都是單井則無平臺號。井號與井元素一一對應,程序對油、水、氣井對應的井號進行顏色區(qū)分,分別為紅色、藍色和橙色,分別代表油井、水井和氣井。文本元素展繪的代碼如下:

Set myText1 = CreateTextElement1(Nothing, myWSA.Cells(CurRow, 3), textpt1, RotMatrix)

ActiveModelReference.AddElement myText1

2.3 元素定義與展繪

需要展繪的元素信息包括油、水、氣井的元素符號,通過井別判定和調用.cel元素庫文件,可在庫中讀取元素符號,再根據坐標數據展繪到圖中。元素符號展繪的代碼如下:

Set myText2 = CreateTextElement1(Nothing, myWSA.Cells(CurRow, 2) & "#", textpt2, RotMatrix)

ActiveModelReference.AddElement myText2

2.4 程序流程

操作、讀取、展繪井位信息的流程如下:

(1)程序啟動,從第2行開始,對C列數據進行遍歷,并判斷該單元格數據是否為空;

(2)通過讀取井別(油井、水井、氣井)數據得到相對應的元素符號并展繪;

(3)將該井號顏色賦值并展繪;

(4)將該井元素符號、井號賦值一個圖層名稱;

(5)井位展繪完成后,行數加1,從第3行開始,對C列數據進行遍歷,并判斷該單元格數據是否為空,如不為空,繼續(xù)進行井位信息讀取及展繪,依次類推;

(6)直到單元格數據為空,程序結束。

程序流程如圖2所示:

圖2 程序流程圖

2.5 數據格式及功能實現

程序設定讀取Excel文件的產能井位數據格式為:A列為序號,B列為平臺號,C列為井號,D列為井別,E列為縱坐標,F列為橫坐標。井位數據格式如表1所示,9口獨立井,無平臺井。

表1 井位數據

井位展繪程序的遍歷從C2“油井1”開始,當讀到C10“氣井3”之后,由于C11為空值,則程序結束,井位元素完全按照表中E、F列所示的橫、縱坐標數據進行展繪,井號的文本元素展繪則依據坐標原點向右偏移與元素符號錯開,井位展繪結果見圖3。

圖3 井位展繪示意圖

3 實例分析與對比

井位展繪是油田產能建設規(guī)劃方案階段的前期工作,通過井位分布,總體規(guī)劃出本項目的產能中心區(qū)域,對是否新建站、間的決策、各種線路的路由選取有著極為重要的意義。通過2組井位數據的展繪效果及工作效率,對Microstation VBA程序進行井位展繪與傳統AutoCAD的方法進行對比分析。

(1)以某區(qū)塊平臺規(guī)劃井位坐標為例,如表2所示。

表2 井位數據

井位數據中包括2座平臺井位信息,分別通過AutoCAD和MicrostationVBA展繪的井位效果見圖4,通過展繪效果的對比分析,由于同一平臺井位的井位坐標相同,前者的井號文本出現重疊現象,而后者通過程序對比,井號文本進行有序排列,同時,油、水井進行分層賦值、元素符號及文本顏色區(qū)分,最后平臺號也能一并展繪,而AutoCAD需要大量手動操作才能實現。

實例2,以某區(qū)塊完鉆井位坐標為例,與規(guī)劃井位不同,同一平臺相鄰井位的井口距離7-10m,假設相鄰井口距離7m,如表3所示:

兩種井位展繪效果見圖4,由于同一平臺相鄰井位距離較近,通過AutoCAD展繪的井位文本仍然有重疊情況,而通過Microstation VBA展繪的井位依然可以將井號文本有序排列。

兩種井位展繪的效果對比見表4,利用MicrostationVBA二次開發(fā)的方法進行井位展繪,可以有效減少人工對數據的操作,通過程序對井位信息的直接讀取,在操作上難度大大降低,同時對不同井別進行區(qū)分以及分層管理,還能對井號進行排序,為規(guī)劃設計的后續(xù)工作帶來便利。

表3 井位數據

圖5 優(yōu)化后的規(guī)劃井位展繪示意圖

表4 井位展繪效果對比

4 結 語

基于Microstation二次開發(fā)的油田產能井位的展繪方法,實現了Microstation與Excel的連接,實現一鍵展繪,減少了手動工作量,縮短了設計周期,提升了井位展繪及油田規(guī)劃工作的效率。從管理方面看,在展繪過程中對不同井位分層管理的實現,也為油田產能建設工程的后期設計及調整工作提供了便利。實例證明,此方法保證了數據安全性的同時提高了工作效率,在油田產能設計工作中具有重要意義。

猜你喜歡
井位元素符號二次開發(fā)
關于投稿中化學元素與核素符號的書寫要求
優(yōu)化初中化學元素符號教學“三策略”
河北省行唐縣貧水山區(qū)物探找水研究
渤海油田側鉆井槽口優(yōu)選設計方法
分析GPS 在油田井位測量上的應用
基于混合粒子群算法的煤層氣井位優(yōu)化方法
淺談基于Revit平臺的二次開發(fā)
淺談Mastercam后處理器的二次開發(fā)
西門子Easy Screen對倒棱機床界面二次開發(fā)
闖關!敢不敢