基于Microstation二次开发在油田井位展绘的应用

2022-05-09 14:41
大庆师范学院学报 2022年3期
关键词:井位元素符号二次开发

佟 强

(大庆油田设计院有限公司,黑龙江 大庆 163712)

0 引言

在油田产能规划设计中,总图管理与设计专业承担站外系统区域总平面的编制工作,其中井位展绘是规划方案设计中的重要部分,通过Excel表中的井位信息将井位展绘在电子版地形图上,以便开展产能项目方案规划及工程设计的后续工作。(1)参见张雪琴:《敖南油田产能建设总图设计》,《油气田地面工程》2008年第1期。

目前,井位展绘的批量工作可基于CAD软件和Excel VBA编写脚本的方法实现,但,在油田产能规划中,总图管理与设计工作主要面向电子版地形图,线型数据量较多,在绘制区域总平面图及汇报图时,偏重对色彩的选用及具有汇报性质的图纸设计,导致CAD软件在打开此类图纸进行设计工作时容易出现卡顿甚至未响应等一系列问题。(2)参见唐桂彬、李俊锋、刘帅:《基于AutoCAD动态块和脚本文件的批量展点方法》,《地理空间信息》2016年第2期等。另一方面CAD软件的批量井位展绘的操作是通过对Excel表中数据进行复制,再粘贴到CAD命令中实现,展绘的过程没有实现CAD与Excel的实时关联,过度依赖手动操作,容易出现数据丢失、错漏、异常等情况。为了提高工作效率、保证数据安全,提出一种基于Microstation二次开发的设计方法,通过Microstation VBA语言编程环境可直接与Excel中井位数据进行连接、识别、提取和修改,并在展绘结束后显示井别及其数量。(3)参见郑娜:《大庆油田站场总图设计节约用地简析》,《油气田地面工程》2013年第6期。

1 程序原理及数据结构

MicroStation软件是一套专业电脑辅助绘图软件,有多种二次开发接口帮助用户扩展软件的功能。(4)参见侯祥意、卢姗、陶超:《基于MicroStation平台的CAD文件动态无损坐标转换方法研究》,《城市勘测》2019年第1期。其中,Microstation VBA是MicroStation为用户提供的二次开发接口之一,通过Microstation VBA程序与Microsoft Office应用程序建立连接和通讯,可实现对Excel数据读取及修改,实现数据庞大且操作重复性较高的井位展绘工作。(5)参见孙斌:《基于MicroStation二次开发的平原水闸参数化设计》,《三峡大学学报》(自然科学版)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 文本定义与展绘

需要展绘的文本信息包括平台号和井号,如果产能井位全部都是单井则无平台号。井号与井元素一一对应,程序对油、水、气井对应的井号进行颜色区分,分别为红色、蓝色和橙色,分别代表油井、水井和气井。文本元素展绘的代码如下:

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列数据进行遍历,并判断该单元格数据是否为空,如不为空,继续进行井位信息读取及展绘,依次类推;

(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 实例分析与对比

井位展绘是油田产能建设规划方案阶段的前期工作,通过井位分布,总体规划出本项目的产能中心区域,对是否新建站、间的决策、各种线路的路由选取有着极为重要的意义。通过2组井位数据的展绘效果及工作效率,对Microstation VBA程序进行井位展绘与传统AutoCAD的方法进行对比分析。

(1)以某区块平台规划井位坐标为例,如表2所示。

表2 井位数据

井位数据中包括2座平台井位信息,分别通过AutoCAD和MicrostationVBA展绘的井位效果见图4,通过展绘效果的对比分析,由于同一平台井位的井位坐标相同,前者的井号文本出现重叠现象,而后者通过程序对比,井号文本进行有序排列,同时,油、水井进行分层赋值、元素符号及文本颜色区分,最后平台号也能一并展绘,而AutoCAD需要大量手动操作才能实现。

实例2,以某区块完钻井位坐标为例,与规划井位不同,同一平台相邻井位的井口距离7-10m,假设相邻井口距离7m,如表3所示:

两种井位展绘效果见图4,由于同一平台相邻井位距离较近,通过AutoCAD展绘的井位文本仍然有重叠情况,而通过Microstation VBA展绘的井位依然可以将井号文本有序排列。

两种井位展绘的效果对比见表4,利用MicrostationVBA二次开发的方法进行井位展绘,可以有效减少人工对数据的操作,通过程序对井位信息的直接读取,在操作上难度大大降低,同时对不同井别进行区分以及分层管理,还能对井号进行排序,为规划设计的后续工作带来便利。

表3 井位数据

图5 优化后的规划井位展绘示意图

表4 井位展绘效果对比

4 结 语

基于Microstation二次开发的油田产能井位的展绘方法,实现了Microstation与Excel的连接,实现一键展绘,减少了手动工作量,缩短了设计周期,提升了井位展绘及油田规划工作的效率。从管理方面看,在展绘过程中对不同井位分层管理的实现,也为油田产能建设工程的后期设计及调整工作提供了便利。实例证明,此方法保证了数据安全性的同时提高了工作效率,在油田产能设计工作中具有重要意义。

猜你喜欢
井位元素符号二次开发
关于投稿中化学元素与核素符号的书写要求
优化初中化学元素符号教学“三策略”
河北省行唐县贫水山区物探找水研究
渤海油田侧钻井槽口优选设计方法
分析GPS 在油田井位测量上的应用
基于混合粒子群算法的煤层气井位优化方法
浅谈基于Revit平台的二次开发
浅谈Mastercam后处理器的二次开发
西门子Easy Screen对倒棱机床界面二次开发
闯关!敢不敢