基于Visual Lisp燃气管道水平定向钻辅助设计软件
2019-02-14郑光耀吴泽鑫
郑光耀, 吴泽鑫, 危 唯
(佛山市华禅能燃气设计有限公司,广东佛山528000)
1 CAD二次开发技术的运用
CAD二次开发技术是开发者根据用户需求,运用相关的软件技术,针对特殊用途对CAD类软件进行个性化定制的领域。岳海云对Auto Lisp语言、ADS开发系统、Visual Lisp及基于ActiveX Automation技术的VBA(Visual Basic for Application)开发工具及Object ARX开发系统作了简单的介绍,并归纳各类技术的优缺点[1]。郭秀娟等人系统而详细地介绍了Auto Lisp语言的由来、相应的语法及规则,并提供简单的实例,在工程设计领域得到了应用[2]。孙路等人通过一典型实例,阐述了基于Visual Lisp语言进行参数化绘图的实现方法[3]。刘丽等人基于Visual Lisp开发环境,实现了市政电气辅助设计软件的研发,界面清晰,功能全面,适用性好[4];杨瑞宇基于AutoCAD 2004平台,进行了铁路信号专业区间图纸的设计与开发,可快速准确、保质保量地完成设计任务,以满足各种线路及车站的设计要求[5]。基于以上实例,笔者利用基于Visual Lisp的CAD二次开发技术,进行了燃气管道水平定向钻辅助设计软件的研发及应用,并取得了良好的效果。本软件可适用于AutoCAD 2007~AutoCAD 2018版本,适用面广。
① Visual Lisp开发界面
本软件为燃气管道水平定向钻辅助设计软件,采用CAD二次开发技术实现。笔者采用的AutoCAD版本为AutoCAD 2014。在AutoCAD软件界面,于命令行中输入命令“vlide”,即可进入CAD开发环境,AutoCAD二次开发编辑器见图1。点击左上角“新建文件”按钮,可新建Visual Lisp文件,Visual Lisp文件编辑界面见图2。
图1 AutoCAD二次开发编辑器
图2 Visual Lisp文件编辑界面
② 程序代码编辑及模块调用
在图2中的编辑界面即可输入Visual Lisp代码,其基本语法可参见文献[2]。当程序编写完成后保存程序为LSP文件。若程序用DEFUN函数进行定义,则可封装为可供外部调用的模块。模块在被其他文件进行调用时,可通过LOAD函数进行加载,然后在AutoCAD命令行中输入模块名即可进行模块的执行,或者在其他文件中输入模块名进行调用。
2 软件功能及实现
① 软件框架
本软件分为数据输入、数据处理及数据输出3部分,软件流程见图3。
图3 软件流程
② 数据输入功能及实现
数据输入主要包括燃气管道、定向钻、地形、交叉管道的数据。对于管径、壁厚等,软件采用对话框的形式,由使用者直接通过键盘输入相关数据,并通过Visual Lisp将该类参数设置为全局变量。对于平面图中的燃气管道及交叉管线的选取,软件中主要通过“command”命令调用AutoCAD自带的图元选取命令,实现直接按照屏幕上的提示选取的功能。输入数据界面见图4,通过鼠标点选图元见图5。
图4 输入数据界面
图5 通过鼠标点选图元
③ 数据处理功能及实现
本文主要基于CJJ/T 250—2016《城镇燃气管道穿跨越工程技术规程》中水平定向钻钻孔轨迹的计算方法。钻进轨迹见图6。
图6 钻进轨迹
图中R1——入土段曲率半径,m
R2——出土段曲率半径,m
L′——轨迹水平投影总长度,m
α——入土角,(°)
β——出土角,(°)
L1、L5——造斜直线段长度,m
L2、L4——曲线段长度,m
L3——水平直线段长度,m
L1′、L5′——造斜直线段水平投影长度,m
L2′、L4′——曲线段水平投影长度,m
L3′——水平直线段水平投影长度,m
H——最大敷管深度,m
具体轨迹计算方法为:
L=L1+L2+L3+L4+L5
(1)
(2)
(3)
(4)
(5)
式中L——燃气管道的水平敷设长度,m
造斜是由钻头、井下动力钻具、造斜工具、钻铤、钻杆组成的钻柱,入井前处于自由弯曲状态。其余参数可通过推导得出。通过式(1)~(5),将实际设计工作中调节的参数入土点埋深、出土点埋深、入土段总埋深(即最大敷管深度)、入土段曲率半径、出土段曲率半径、入土角、出土角设置为变量,以燃气管道的水平敷设长度L(可通过vlax-curve-getDistAtParam函数获取燃气管道的水平长度)为约束,编写为计算L1~L5及相应曲线参数(如坐标)的函数名为orbit_draw的lisp函数文件,其中利用pline命令即可绘制水平定向钻的设计轨迹。在软件中,各控制变量的动态调节,主要是通过滑动条控件实现。该控件可通过代码获取滑块的位置对应的值,并实时显示在相应文本框中。
每次对控件进行调节后,即调用orbit_draw函数重新绘制轨迹,可使管道的水平定向钻轨迹也随之改变,达到了“所见即所得”的效果。滑动条控件见图7,水平定向钻轨迹调整前后对比见图8。使用滑动条控件后,轨迹的调节更为便捷,精确度更高。
图7 滑动条控件
图8 水平定向钻轨迹调整前后对比
④ 数据输出功能及实现
确定定向钻轨迹后,需要将定向钻轨迹上各点的参数提供给施工单位进行施工。工程上,常使用各钻杆的深度、坐标、方位角等参数。以每根钻杆长度3 m为例,程序中每隔3 m取一个点,通过vlax-curve函数获取该点的深度、坐标、里程信息,将数据导出为Excel表格。
Visual LISP提供了一系列用于创建、操控和关闭ActiveX对象的函数。Visual Lisp中需通过vl-load-com函数加载ActiveX/COM,并编写接口函数实现与Excel的数据链接。与Excel程序连接成功后,经vlxls-app-init函数初始化,通过vlxls-app-new函数新建Excel文件,并将程序中记录的各点深度等信息逐一写入各单元格,并设置单元格的文字大小、填充颜色等。写入完成后,需通过vlxls-app-quit退出该链接环境。导出的Excel表格,极大地方便了数据的统计及汇总。
3 应用实例
以顺德碧桂豪园与番禺接通天然气市政管为例,该工程部分管段采用水平定向钻敷设。设计管材为PE100 SDR11的PE燃气管,管道外径为160 mm,管道壁厚为14.6 mm。经过实地查看,基于勘察单位提供的岩土工程勘察报告及地下管线物探成果,利用本软件生成水平定向钻轨迹。
① 数据输入
a.根据工程现场确定入钻点位置和出钻点位置,在建设单位提供的最新地形图及物探资料的基础上绘制平面图方案。通过前期提供的管线物探资料,获得其他交叉管线的位置及埋深信息并输入软件。
b.根据项目实际情况,确定所设计的燃气管道的参数(管径、壁厚、材质)、定向钻工艺中所使用的钻杆间距、地面标高并输入至软件界面。将地形剖面线绘制于平面图中适当位置,并通过软件中的图元选择按钮进行选取。在其基础上通过绘制交叉管线按钮绘制交叉管线。
c.完成上述步骤后,管道埋深的信息可通过调节相应滑块设置,其余参数已由软件初始化。
② 数据处理
a.数据输入完成后,点击“定向钻轨迹绘制”按钮,可直接绘制燃气管道轨迹的剖面图。若需调节某参数,则通过该参数对应的滑块进行调整,软件可实时修改定向钻轨迹数据并实时绘制更新后轨迹,实现“所见即所得”的效果。
b.确定管道最终轨迹后,软件将自动计算每根钻杆的数据,包括钻杆所在处轨迹的曲率半径、方位角、旋转角、钻进里程等数据。本工程软件生成的水平定向钻轨迹见图9。
③ 数据输出
点击“导出为Excel文件”按钮,软件将各钻杆对应的数据直接导出为Excel文件,并可直接打开。
图9 生成的水平定向钻轨迹