宋 春,郭雪琦,喬向國,李文勝,劉 通,高海峰
中國石油集團海洋工程有限公司,山東青島 266555
在導管架加工設計工作中,腳印圖是指撐桿馬鞍口外邊緣在弦桿表面所成輪廓的展開圖,用于桿件安裝施工中的精確定位,是結(jié)構管單件圖繪制的難點部分。結(jié)構管單件圖中腳印圖具體示例見圖1。在導管架安裝施工過程中,結(jié)構安裝圖和結(jié)構管單件圖配套使用[1]。前者僅含桿件中心線位置信息,難以直接指導施工,所以需要將后者的腳印輪廓放樣到弦桿表面,以實現(xiàn)撐桿在弦桿上的精確定位。
圖1 結(jié)構管單件圖中的腳印圖
TEKLA軟件雖有展開圖出圖功能[2-3],但由于撐桿不對弦桿進行實體切割,展開圖不含腳印輪廓,所以無法利用軟件直接出圖。
按照傳統(tǒng)的腳印圖繪制方法,每次作圖前都要在TEKLA模型中進行多次視圖方向切換和空間尺寸測量操作,以完成腳印圖中上、下、左、右4個定位點的坐標測算工作。但導管架中的桿件多為空間方向,視圖切換操作更為繁瑣復雜,測量關鍵點的捕捉更加困難易錯。
以陸豐12-3WHP項目為例,導管架整體尺寸達到85 m×85 m×253 m(寬×長×高),節(jié)點形式復雜多樣。如果不算井口基盤結(jié)構,項目總桿件數(shù)量超過500根,需要繪制的腳印輪廓多達1 000多個。傳統(tǒng)繪圖方法的效率和質(zhì)量已難以滿足項目工期和安裝精度要求。陸豐12-3WHP導管架的TEKLA模型見圖2。
圖2 陸豐12-3 WHP導管架模型
首先在模型中進行多次視圖創(chuàng)建和尺寸測量工作,然后根據(jù)測量值計算繪圖尺寸,最后在CAD中進行圖形繪制。具體步驟如下。
在TEKLA模型中進行如下操作:
(1)選擇與弦桿和撐桿同時平行的視圖,將工作平面設置為平行于視圖平面。
(2)選取弦桿軸線上兩端點,使用“兩點創(chuàng)建視圖”功能創(chuàng)建新視圖(記作視圖a),將工作平面設置為平行于視圖平面。
(3)在視圖a中,使用“增加輔助線”功能創(chuàng)建參考線。
(4)僅顯示當前測量對象,隱藏其他實體。
(5)測量4個定位點與參考線之間的水平距離。
(6)在原視圖中沿直徑方向選取弦桿上兩點,使用“兩點創(chuàng)建視圖”功能創(chuàng)建垂直于弦桿軸線的新視圖(記作視圖b),將工作平面設置為平行于視圖平面。
(7)在視圖b中,測量弦桿圓心和弦桿焊縫的連線與撐桿軸線之間的夾度。
(8)在視圖b中,以弦桿軸心為圓心,分別測量撐桿和弦桿外壁兩個交點與弦桿焊縫之間的夾角。
根據(jù)測量值,結(jié)合參考線和0°線在CAD中確定的基準點位置,分別計算左、右、上和下4個定位點在CAD中的坐標值。
首先繪制4個定位點,然后以相鄰兩點為長、短半軸端點,分別繪制4個橢圓弧,作為腳印圖的近似圖形。
(1)測量過程復雜。至少需在模型中進行2次視圖創(chuàng)建和7次尺寸測量,傾斜方向桿件的測量過程更加繁瑣。
(2)測量精度不足。部分切點在測量中難以精確捕捉,導致上下定位點的水平坐標精度不足,只能用于輪廓繪制,而不能用作精確定位點。
(3)整體擬合度低。除定位點之外的輪廓都用橢圓弧代替,導致某些情況下腳印圖走樣嚴重。現(xiàn)場只能根據(jù)左、右定位點進行組對施工,不利于精度控制和錯誤檢查。擬合腳印示例相對于實際腳印的輪廓偏差見圖3中的弦桿展開圖。
圖3 兩桿相交的三視圖、斜視圖和弦桿展開圖
(4)錯誤率高。視圖創(chuàng)建方向不準確,誤操作導致視圖方向輕微旋轉(zhuǎn),空間點捕捉錯誤,尺寸方向測量錯誤,這些都有可能導致腳印變形、反向或偏移,嚴重影響現(xiàn)場施工質(zhì)量。
首先分析輸入輸出條件,確定繪圖所需最簡參數(shù),減少測量次數(shù),簡化測量步驟;然后通過分析計算,確定輸入?yún)?shù)與繪圖數(shù)據(jù)之間的函數(shù)關系;最后利用AutoLISP語言編制繪圖程序,實現(xiàn)圖形繪制的自動化。
弦桿與撐桿相交的一般情況見圖3,其中包括各關鍵點和關鍵參數(shù)在三視圖、斜視圖和弦桿展開圖共5個視角下的對應位置。結(jié)合圖3進行具體的優(yōu)化分析計算。
輸入條件:
(1)腳印圖的形狀可由以下參數(shù)唯一確定:弦桿半徑R、撐桿半徑r、兩桿交角a和兩桿中心線距離E。
(2)腳印圖的定位可由以下參數(shù)唯一確定:基準點(參考線與0°線的交點) 在CAD圖紙中的坐標值(x0,y0),腳印圖點L(左定位點) 相對于基準點的坐標值(x10,y10)。
上述8個參數(shù)中,a、E、x10、y10這4個參數(shù)需在模型中測量。
輸出結(jié)果:腳印圖上任意點P在CAD圖紙中的坐標位置,記作(xp,yp)。
計算腳印圖軌跡的本質(zhì)是求解兩桿柱面交點在弦桿柱面展開圖中的坐標,其求解方法包括純幾何計算、柱面標準方程聯(lián)立計算和柱面向量參數(shù)方程聯(lián)立計算。經(jīng)比較,最后一種方法計算過程相對簡單。
圖3中,點L和P分別為腳印上的左定位點和任意點,θr是點P在撐桿橫截面上對應的方位角,各參數(shù)規(guī)定為正方向。以O為坐標原點,Z軸沿弦桿軸線向量方向,X軸沿撐桿軸線向量在弦桿截面上投影的反方向,建立空間坐標系。
結(jié)合圖3,以輸入?yún)?shù)R、r、a、E為已知量,θr為自變量,求解點P在弦桿展開圖中的坐標 (xp,yp)。
由于需要在CAD中創(chuàng)建圖形,所以選擇CAD的內(nèi)置語言AutoLISP進行編程。
根據(jù)繪圖功能需求,分析幾何實體樣條曲線的數(shù)據(jù)結(jié)構[5],編制五個子函數(shù),分別實現(xiàn)參數(shù)輸入、數(shù)值計算、定位點繪制、腳印圖繪制、定位點和腳印圖的分割移動功能,然后使用主程序依次調(diào)用。
程序編制過程中出現(xiàn)的主要問題、原因分析及解決辦法如下:
4.4.1 定位尺寸不準確
原因:使用繪圖命令對圖形進行移動時,會自動調(diào)整到捕捉點位置。
解決:程序中修改控制環(huán)境變量osmode的取值,繪圖前自動取消對象捕捉,繪圖后自動復原。
4.4.2 剪切命令有時失效
原因:操作對象處于視圖窗口之外時,剪切命令不被執(zhí)行。
解決:對圖元的處理有兩種方式,第一種是使用command函數(shù)調(diào)用各種繪圖命令,第二種是使用entmake和entmod函數(shù)直接對圖元數(shù)據(jù)進行創(chuàng)建和修改。前者簡便易用,后者強大高效。所以解決辦法是改用第二種圖元處理方式。
4.4.3 腳印圖形有時不顯示
原因:計算機符點運算誤差導致負數(shù)開方運算,進而引起程序執(zhí)行中斷。
解決:開方之前進行判斷,被開方數(shù)為負時修正為0。
進步:
(1) 出圖效率提升。對傳統(tǒng)出圖方法進行改進優(yōu)化之后,測量值由7個縮減至4個,測量步驟減少一半,繪圖過程實現(xiàn)自動化,出圖效率顯著提高。
(2) 腳印擬合度提升。采用計算值描點繪制樣條曲線,代替4段橢圓弧近似模擬的繪圖方法,實現(xiàn)了腳印整體輪廓的完全擬合,方便施工現(xiàn)場的精度控制。
不足:
(1)仍未免除模型測量步驟。模型手工測量過程的存在是提高出圖效率和準確率的最大制約因素。應用優(yōu)化方法出圖時發(fā)現(xiàn),測量錯誤和誤差雖有減少但仍然存在,其中測量值符號判斷錯誤成為主因。
(2)未實現(xiàn)批量化出圖。每次出圖僅完成一個腳印圖的自動繪制,未實現(xiàn)多個腳印圖的批量繪制,這是出圖效率的又一制約因素。
針對第一次優(yōu)化后的不足,研究TEKLA模型導出文件,編寫相應程序?qū)ζ溥M行數(shù)據(jù)提取、計算分析和符號判斷,以取代手工測量過程;每個導出文件應包含多個桿件信息,以實現(xiàn)數(shù)據(jù)的批量處理和圖形的批量繪制。
輸出結(jié)果:本次優(yōu)化是在初次優(yōu)化的基礎上向前延伸,所以除了(x0,y0) 只能從CAD圖紙中獲取外,其余輸入條件應作為本次優(yōu)化的輸出結(jié)果,包括R、r、a、E和(x10,y10)。
輸入條件:要提取模型數(shù)據(jù)作為輸入條件,就要選擇合適的模型導出文件。TEKLA軟件可導出的文件格式繁多,包括NC、DGN、CAD、SDNF、STEP等。對比發(fā)現(xiàn),其中NC文件是標準XML格式,文件結(jié)構規(guī)則,便于數(shù)據(jù)提取,有效信息全面,包含弦桿和撐桿編號、直徑及起止點三維坐標等數(shù)據(jù),所以適合選用。
源自NC文件的輸入條件定義如下:弦桿軸線起點坐標Pms,終點坐標Pme,直徑D;撐桿軸線起點坐標Pbs,終點坐標Pbe,直徑d。
源自模型查詢的輸入條件定義如下:基準點坐標Pds,從基準點出發(fā)在展開方向上選取一點,坐標Pde。
后面均以坐標符號代指各點本身。
5.3.1 符號定義
在輸入輸出條件符號定義的基礎上,補充定義以下符號:
5.3.2 輸入?yún)?shù)修正
5.3.2.1 弦桿軸線起點Pms和終點Pme坐標
5.3.2.2 撐桿軸線起點Pbs和終點Pbe坐標
5.3.2.3 展開方向點Pde坐標
5.3.3 輸出結(jié)果計算
5.3.3.1 弦桿半徑R和撐桿半徑r
5.3.3.2 弦桿與撐桿軸線距離E
5.3.3.3 兩桿軸線交角a
5.3.3.4 左定位點相對于基準點坐標(x10,y10)
首先對坐標系進行平移和旋轉(zhuǎn)以簡化運算,然后聯(lián)立方程求解弦桿柱面與撐桿軸線之間的交點參數(shù),最后計算其在展開圖中的相對坐標。
(1)坐標系變換。
將原模型坐標系記作O,此時各點名稱和位置見圖4;平移后的坐標系以Pms為原點,記作O′,此時各點名稱和位置見圖5。
圖4 坐標系O下的各點
圖5 坐標系O′下的各點
圖6 坐標系O″下的各點
5.4.1 語言選擇
第二次改進本可以對之前編制的AutoLISP程序進行修改,但此程序已在項目中實際應用并形成路徑依賴,修改代價較大。再考慮到需要對XML格式文件進行操作,所以選擇批處理作為編程語言。批處理的文件處理功能強大,語句格式簡捷,不需要編譯,所以開發(fā)周期短,修改調(diào)試方便,但它無法進行符點運算,所以計算部分需要其他語言完成。MATLAB雖是向量和矩陣運算語言的首選,但它需要安裝運行環(huán)境進行支持,所以最終選擇WINDOWS環(huán)境中可以直接調(diào)用的VBS程序完成計算部分的工作。
5.4.2 程序結(jié)構
編制批處理文件“生成參數(shù).bat”作為主程序,首先讀取NC文件內(nèi)容,然后通過調(diào)用JREPL正則工具對文件進行規(guī)范化處理,再然后編寫XPath語句調(diào)用XML工具進行信息檢索并提取關鍵數(shù)據(jù),再然后調(diào)用VBS程序“參數(shù)計算.vbs”進行相關計算,最后將計算結(jié)果生成到新的文件中。
其中,VBS程序的計算過程與5.3節(jié)中的方法和順序一致。但由于VBS沒有向量和矩陣運算功能,所以專門編制了嵌套數(shù)組與二維數(shù)組轉(zhuǎn)換,向量求模、點積、叉積、混合積,行列式求值,矩陣相乘、轉(zhuǎn)置、求逆,空間距離計算等多個子函數(shù)供調(diào)用。
進行二次優(yōu)化后,腳印圖的最終出圖步驟如下:
(1) 分別選中弦桿和與其相貫的多個撐桿后,導出各自的NC文件,并將其放入程序指定位置。導出操作具體方法見圖7。
圖7 導出NC文件
(2) 在弦桿上創(chuàng)建基準點和方向點,并獲取其坐標值。查看坐標值屬性的具體方法見圖8。
圖8 獲取基準點和方向點坐標值
(3) 在CAD中使用ID命令獲取基準點的平面坐標。
(4) 雙擊運行“生成參數(shù).bat”程序,自動生成文件“output.txt”。文件內(nèi)容見圖9。
圖9 output.txt文件內(nèi)容
(5) 將“output.txt”中內(nèi)容全部復制并粘貼到CAD的命令行中,即可生成一個弦桿的全部腳印輪廓。程序執(zhí)行后生成的腳印圖見圖10。
圖10 批量生成的腳印圖
通過對出圖方法的兩次優(yōu)化,簡化了出圖步驟,降低了操作難度,實現(xiàn)了模型數(shù)據(jù)提取、計算和腳印繪制的自動化和批量化。以陸豐12-3WHP項目為例,需要繪制的腳印圖多達1 000多個,相比于傳統(tǒng)方法,優(yōu)化后的出圖效率提升33倍左右,具體對比分析見表1。如果算上節(jié)省的檢查時間和降低的錯誤率,其對項目加工設計工作的提升作用更大。
表1 陸豐12-3WHP項目腳印圖出圖效率對比分析
隨著各種新的建模和出圖軟件的不斷出現(xiàn)和更新,出圖方法也在不斷發(fā)生變化。但軟件功能的通用性與現(xiàn)場施工圖紙個性化需求之間的矛盾一直存在,不可能用軟件包辦一切。只有熟悉軟件功能,明確出圖需求,掌握相應開發(fā)原理和手段,才能充分發(fā)揮軟件優(yōu)勢,走完“最后一公里”,針對當前的軟件資源配置和項目特點形成一整套優(yōu)質(zhì)高效的加工設計流程。