鄭光耀, 吳澤鑫, 危 唯
(佛山市華禪能燃氣設(shè)計有限公司,廣東佛山528000)
CAD二次開發(fā)技術(shù)是開發(fā)者根據(jù)用戶需求,運用相關(guān)的軟件技術(shù),針對特殊用途對CAD類軟件進行個性化定制的領(lǐng)域。岳海云對Auto Lisp語言、ADS開發(fā)系統(tǒng)、Visual Lisp及基于ActiveX Automation技術(shù)的VBA(Visual Basic for Application)開發(fā)工具及Object ARX開發(fā)系統(tǒng)作了簡單的介紹,并歸納各類技術(shù)的優(yōu)缺點[1]。郭秀娟等人系統(tǒng)而詳細地介紹了Auto Lisp語言的由來、相應(yīng)的語法及規(guī)則,并提供簡單的實例,在工程設(shè)計領(lǐng)域得到了應(yīng)用[2]。孫路等人通過一典型實例,闡述了基于Visual Lisp語言進行參數(shù)化繪圖的實現(xiàn)方法[3]。劉麗等人基于Visual Lisp開發(fā)環(huán)境,實現(xiàn)了市政電氣輔助設(shè)計軟件的研發(fā),界面清晰,功能全面,適用性好[4];楊瑞宇基于AutoCAD 2004平臺,進行了鐵路信號專業(yè)區(qū)間圖紙的設(shè)計與開發(fā),可快速準確、保質(zhì)保量地完成設(shè)計任務(wù),以滿足各種線路及車站的設(shè)計要求[5]。基于以上實例,筆者利用基于Visual Lisp的CAD二次開發(fā)技術(shù),進行了燃氣管道水平定向鉆輔助設(shè)計軟件的研發(fā)及應(yīng)用,并取得了良好的效果。本軟件可適用于AutoCAD 2007~AutoCAD 2018版本,適用面廣。
① Visual Lisp開發(fā)界面
本軟件為燃氣管道水平定向鉆輔助設(shè)計軟件,采用CAD二次開發(fā)技術(shù)實現(xiàn)。筆者采用的AutoCAD版本為AutoCAD 2014。在AutoCAD軟件界面,于命令行中輸入命令“vlide”,即可進入CAD開發(fā)環(huán)境,AutoCAD二次開發(fā)編輯器見圖1。點擊左上角“新建文件”按鈕,可新建Visual Lisp文件,Visual Lisp文件編輯界面見圖2。
圖1 AutoCAD二次開發(fā)編輯器
圖2 Visual Lisp文件編輯界面
② 程序代碼編輯及模塊調(diào)用
在圖2中的編輯界面即可輸入Visual Lisp代碼,其基本語法可參見文獻[2]。當程序編寫完成后保存程序為LSP文件。若程序用DEFUN函數(shù)進行定義,則可封裝為可供外部調(diào)用的模塊。模塊在被其他文件進行調(diào)用時,可通過LOAD函數(shù)進行加載,然后在AutoCAD命令行中輸入模塊名即可進行模塊的執(zhí)行,或者在其他文件中輸入模塊名進行調(diào)用。
① 軟件框架
本軟件分為數(shù)據(jù)輸入、數(shù)據(jù)處理及數(shù)據(jù)輸出3部分,軟件流程見圖3。
圖3 軟件流程
② 數(shù)據(jù)輸入功能及實現(xiàn)
數(shù)據(jù)輸入主要包括燃氣管道、定向鉆、地形、交叉管道的數(shù)據(jù)。對于管徑、壁厚等,軟件采用對話框的形式,由使用者直接通過鍵盤輸入相關(guān)數(shù)據(jù),并通過Visual Lisp將該類參數(shù)設(shè)置為全局變量。對于平面圖中的燃氣管道及交叉管線的選取,軟件中主要通過“command”命令調(diào)用AutoCAD自帶的圖元選取命令,實現(xiàn)直接按照屏幕上的提示選取的功能。輸入數(shù)據(jù)界面見圖4,通過鼠標點選圖元見圖5。
圖4 輸入數(shù)據(jù)界面
圖5 通過鼠標點選圖元
③ 數(shù)據(jù)處理功能及實現(xiàn)
本文主要基于CJJ/T 250—2016《城鎮(zhèn)燃氣管道穿跨越工程技術(shù)規(guī)程》中水平定向鉆鉆孔軌跡的計算方法。鉆進軌跡見圖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——燃氣管道的水平敷設(shè)長度,m
造斜是由鉆頭、井下動力鉆具、造斜工具、鉆鋌、鉆桿組成的鉆柱,入井前處于自由彎曲狀態(tài)。其余參數(shù)可通過推導(dǎo)得出。通過式(1)~(5),將實際設(shè)計工作中調(diào)節(jié)的參數(shù)入土點埋深、出土點埋深、入土段總埋深(即最大敷管深度)、入土段曲率半徑、出土段曲率半徑、入土角、出土角設(shè)置為變量,以燃氣管道的水平敷設(shè)長度L(可通過vlax-curve-getDistAtParam函數(shù)獲取燃氣管道的水平長度)為約束,編寫為計算L1~L5及相應(yīng)曲線參數(shù)(如坐標)的函數(shù)名為orbit_draw的lisp函數(shù)文件,其中利用pline命令即可繪制水平定向鉆的設(shè)計軌跡。在軟件中,各控制變量的動態(tài)調(diào)節(jié),主要是通過滑動條控件實現(xiàn)。該控件可通過代碼獲取滑塊的位置對應(yīng)的值,并實時顯示在相應(yīng)文本框中。
每次對控件進行調(diào)節(jié)后,即調(diào)用orbit_draw函數(shù)重新繪制軌跡,可使管道的水平定向鉆軌跡也隨之改變,達到了“所見即所得”的效果?;瑒訔l控件見圖7,水平定向鉆軌跡調(diào)整前后對比見圖8。使用滑動條控件后,軌跡的調(diào)節(jié)更為便捷,精確度更高。
圖7 滑動條控件
圖8 水平定向鉆軌跡調(diào)整前后對比
④ 數(shù)據(jù)輸出功能及實現(xiàn)
確定定向鉆軌跡后,需要將定向鉆軌跡上各點的參數(shù)提供給施工單位進行施工。工程上,常使用各鉆桿的深度、坐標、方位角等參數(shù)。以每根鉆桿長度3 m為例,程序中每隔3 m取一個點,通過vlax-curve函數(shù)獲取該點的深度、坐標、里程信息,將數(shù)據(jù)導(dǎo)出為Excel表格。
Visual LISP提供了一系列用于創(chuàng)建、操控和關(guān)閉ActiveX對象的函數(shù)。Visual Lisp中需通過vl-load-com函數(shù)加載ActiveX/COM,并編寫接口函數(shù)實現(xiàn)與Excel的數(shù)據(jù)鏈接。與Excel程序連接成功后,經(jīng)vlxls-app-init函數(shù)初始化,通過vlxls-app-new函數(shù)新建Excel文件,并將程序中記錄的各點深度等信息逐一寫入各單元格,并設(shè)置單元格的文字大小、填充顏色等。寫入完成后,需通過vlxls-app-quit退出該鏈接環(huán)境。導(dǎo)出的Excel表格,極大地方便了數(shù)據(jù)的統(tǒng)計及匯總。
以順德碧桂豪園與番禺接通天然氣市政管為例,該工程部分管段采用水平定向鉆敷設(shè)。設(shè)計管材為PE100 SDR11的PE燃氣管,管道外徑為160 mm,管道壁厚為14.6 mm。經(jīng)過實地查看,基于勘察單位提供的巖土工程勘察報告及地下管線物探成果,利用本軟件生成水平定向鉆軌跡。
① 數(shù)據(jù)輸入
a.根據(jù)工程現(xiàn)場確定入鉆點位置和出鉆點位置,在建設(shè)單位提供的最新地形圖及物探資料的基礎(chǔ)上繪制平面圖方案。通過前期提供的管線物探資料,獲得其他交叉管線的位置及埋深信息并輸入軟件。
b.根據(jù)項目實際情況,確定所設(shè)計的燃氣管道的參數(shù)(管徑、壁厚、材質(zhì))、定向鉆工藝中所使用的鉆桿間距、地面標高并輸入至軟件界面。將地形剖面線繪制于平面圖中適當位置,并通過軟件中的圖元選擇按鈕進行選取。在其基礎(chǔ)上通過繪制交叉管線按鈕繪制交叉管線。
c.完成上述步驟后,管道埋深的信息可通過調(diào)節(jié)相應(yīng)滑塊設(shè)置,其余參數(shù)已由軟件初始化。
② 數(shù)據(jù)處理
a.數(shù)據(jù)輸入完成后,點擊“定向鉆軌跡繪制”按鈕,可直接繪制燃氣管道軌跡的剖面圖。若需調(diào)節(jié)某參數(shù),則通過該參數(shù)對應(yīng)的滑塊進行調(diào)整,軟件可實時修改定向鉆軌跡數(shù)據(jù)并實時繪制更新后軌跡,實現(xiàn)“所見即所得”的效果。
b.確定管道最終軌跡后,軟件將自動計算每根鉆桿的數(shù)據(jù),包括鉆桿所在處軌跡的曲率半徑、方位角、旋轉(zhuǎn)角、鉆進里程等數(shù)據(jù)。本工程軟件生成的水平定向鉆軌跡見圖9。
③ 數(shù)據(jù)輸出
點擊“導(dǎo)出為Excel文件”按鈕,軟件將各鉆桿對應(yīng)的數(shù)據(jù)直接導(dǎo)出為Excel文件,并可直接打開。
圖9 生成的水平定向鉆軌跡