楊鎧 鄧金濤 劉逸飛 杜國昌
(中海油石化工程有限公司 山東省濟南市 250101)
隨著數(shù)字化的不斷發(fā)展以及石油化工項目規(guī)模的不斷擴大,越來越多的項目轉向了三維數(shù)字化設計。目前,三維設計軟件Smart3D(以下簡稱S3D)、Plant Design Management System(PDMS)等被普遍地應用于各類石油化工項目的設計中。管道支吊架設計是石油化工項目設計的重要內容,合理的支吊架設計保證了管道的安全性[1]。在使用三維建模軟件進行設計的項目中,通常是先完成物理支吊架建模,再添加邏輯支吊架并根據(jù)物理支吊架的類型及組合進行編號,消耗大量的時間和精力,還容易出錯。
在利用S3D 軟件進行支吊架設計時,存在邏輯支吊架和物理支吊架兩層結構,邏輯支吊架包含一個或多個物理支吊架。在成品文件管道軸測圖中,應標注邏輯支吊架位置和編號,并且在管道材料中寫明其下對應的物理支吊架。邏輯支吊架應有其編號規(guī)則,且在一個項目中一個編號僅可對應唯一的一個邏輯支吊架。在現(xiàn)今規(guī)模化的石油化工項目中,往往會架設成千上萬個邏輯支吊架,而邏輯支吊架的編號一般由設計人根據(jù)其包含的物理支吊架的種類、安裝位置等信息確定。重復性的勞動不僅拖慢設計進度,當出現(xiàn)編號重復或命名規(guī)則錯誤等問題時也難以發(fā)現(xiàn)。本文分析了《HG/T21629-2021管架標準圖》(以下簡稱管架標準圖)中不同類型的支吊架及其組合,以S3D 為平臺,搭建物理支吊架分類數(shù)據(jù)庫,完成了邏輯支吊架編號自動編制的解決方案,解決人工編制邏輯支吊架編號時易錯、效率低下等問題,將設計人的精力從重復性工作中解放出來。
管架標準圖作為化工行業(yè)標準對管道物理支吊架的類型和選用做出了指導。在實際項目中,多個支吊架因功能不同常常會組合使用,而這種組合使用的支吊架在數(shù)字化設計和交付的過程中應視為同一個支吊架,且其編號應體現(xiàn)支吊架信息。
不同設計院或項目對于邏輯支吊架編號組成會有不同的規(guī)定,但都應該包含該邏輯支吊架的各類信息,如類型,即其實現(xiàn)的功能;邏輯支吊架所在區(qū)域的主項號;邏輯支吊架的序號;框架或構筑物內邏輯支吊架所在層;而按《HG/T 20519-2009 化工工藝設計施工圖內容和深度統(tǒng)一規(guī)定》,管道布置圖中的邏輯支吊架都應該有一個獨立的編號,其規(guī)定的編號由邏輯支吊架類型、生根處結構、主項號、管道布置圖尾號、邏輯支吊架序號組成。如圖1。
圖1:邏輯支吊架編號
若要實現(xiàn)自動填寫邏輯支吊架編號的功能,則應完成S3D 數(shù)據(jù)讀取、數(shù)據(jù)分析處理、邏輯支吊架編號生成及輸出等功能。在探索如何實現(xiàn)時,形成了兩種技術路線。第一種為效仿S3D 中對于物理支吊架名稱的處理方法,直接將邏輯支吊架的命名規(guī)則寫入S3D 中,并建立龐大的邏輯支吊架庫。當用戶在管道上設置一個邏輯支吊架時自動獲取其下所有物理支吊架的信息并在分析處理后自動生成邏輯支吊架編號。在這種解決思路下,設計人需要手動添加物理支吊架以及邏輯支吊架,并且在實際項目中經常面臨著設計輸入更改、調整或管道應力不滿足要求等需要增添或刪改邏輯支吊架的情況。而在設計人再次添加或刪改邏輯支吊架時極易使管道布置圖上的編號出現(xiàn)不連續(xù)或無序等情況?;谶@樣問題的出現(xiàn),本軟件采取第二條技術路線,即放棄手動添加邏輯支吊架的操作,設計人僅需在模型中添加所需的物理支吊架。在建模工作完成后,設計人通過操作,在輸入所需邏輯支吊架編號形式后利用軟件一鍵式自動添加邏輯支吊架,并由程序整理信息,寫入、輸出邏輯支吊架編號。
為了實現(xiàn)上述技術路線,軟件依托于S3D 平臺,建立了物理支吊架分類庫,利用S3D 數(shù)據(jù)庫讀取模型中物理支吊架數(shù)據(jù),在添加邏輯支吊架后將每個邏輯支吊架分類處理,所獲得的編號重新寫入S3D 中。程序的執(zhí)行框圖如圖2 所示。本文將分步介紹功能實現(xiàn)過程。
圖2:編號自動生成程序框圖
在以S3D 作為三維設計軟件的項目中,工廠的各類信息存儲在不同的數(shù)據(jù)庫中。S3D 擁有七個不同的數(shù)據(jù)庫,如圖3。Site 數(shù)據(jù)庫集有兩個數(shù)據(jù)庫,其中包含S3D 項目的配置信息以及連接信息,并將所有數(shù)據(jù)庫關聯(lián)起來。Catalog 數(shù)據(jù)庫集包含兩個數(shù)據(jù)庫,包含了項目中用到的所有參考數(shù)據(jù),以及設計模塊(程序集),如管道等級、閥門信息等。Model 數(shù)據(jù)庫記錄了工廠的設計信息,如模型信息、過濾器、樣式、交付用文件如管道布置圖等。Report 數(shù)據(jù)庫可以采集工廠、Site 和Catalog 數(shù)據(jù)庫的映像,生成各類報告。已添加的物理支吊架的各類信息可由Report 數(shù)據(jù)庫查得。
圖3:S3D 數(shù)據(jù)庫結構
為方便用戶管理、訪問數(shù)據(jù)庫,S3D 內置了大量的接口。各類接口信息可由S3D 內置工具MetaData Browser Tool 查得。通過不同的數(shù)據(jù)接口,我們可以由Report 數(shù)據(jù)庫中查得某一主項內的所有物理支吊架,將坐標唯一或多個擁有一致坐標的物理支吊架判斷為同一支吊架后,在此坐標添加邏輯支吊架并將這些物理支吊架轉移到其層級之下。在實現(xiàn)邏輯支吊架的添加后,可通過Report 數(shù)據(jù)庫首先查詢定位到同一主項下所有邏輯支吊架的對象標識符(OID),以邏輯支吊架的OID 查詢到其下物理支吊架的OID 后重新查詢每一個物理支吊架的類型、所屬管道以及空間位置等信息,并以表格的形式輸出。部分查詢代碼如下。
from
JHgrPipeSupport x1
Join JNamedItem X2 on X1.oid = X2.oid
join XConnHasPorts x3 on x3.OidOrigin = x1.Oid
join XPathSpecification x5 on x5.OidDestination =x3.OidDestination
Join JNamedItem X6 on X6.oid = X5.OidOrigin
join XSupportHasComponents y1 on x1.oid =y1.OidDestination
join JHgrDesignSupport y2 on y2.oid = y1.OidOrigin
Join JNamedItem y3 on y3.oid = y2.oid
在生成圖1 所示邏輯支吊架編號時,應對數(shù)據(jù)庫查詢所得的數(shù)據(jù)進行處理。為方便項目施工時支吊架的倉儲、領取、安裝,防止出現(xiàn)管道軸測圖上邏輯支吊架序號的無序排列,應將邏輯支吊架按照其編號規(guī)則順序添加序號。即按照邏輯支吊架所在主項、管道布置圖尾號以及邏輯支吊架的空間位置順序生成邏輯支吊架序號。邏輯支吊架生根結構可由物理支吊架的屬性獲得并填入邏輯支吊架編號。邏輯支吊架類型則應分析其所轄物理支吊架功能后生成。
2.2.1 物理支吊架種類
物理支吊架根據(jù)用途可分為限制、減震、承重三種類型[2],每種類型又可根據(jù)適用范圍細分,而當一種物理支吊架單獨使用無法滿足相應功能要求時常常會與其他物理支吊架組合使用。限制類支吊架根據(jù)限制管道不同方向的線位移和角位移的情況主要可以分為固定架、導向架、軸向限位架三種形式。有振動產生的或承受沖擊荷載且不需要減震的管道宜在其支撐點處設置固定架以限制管道的線位移和角位移。在不同情況下,可以使用不同方法實現(xiàn)固定架功能。如管架標準圖中焊接型固定架K4 采取焊接在構筑物上的形式固定管道;保冷管固定架L9 通過膨脹螺栓生根在地面上完成固定;U1-A、MA1、MA2 等通過螺栓螺母將管道固定在鋼結構上的方式實現(xiàn)功能;E5-1 通過限制可調支吊架軸向和徑向位移實現(xiàn)對管道的固定。導向架通過如U 型螺栓、擋塊等方式實現(xiàn)對管道的導向作用。當支吊架需要實現(xiàn)減震功能時,可選用減震或阻尼裝置,如X 類的彈簧減震器和V 類的粘滯阻尼器。在構筑物無法滿足對管道的支撐要求時,還可以選擇相應的承重支吊架承受管道的荷載。
2.2.2 邏輯支吊架類型確定
如果一個物理支吊架單獨使用,即邏輯支吊架層級下僅有一個物理支吊架,則其類型應由物理支吊架功能決定。物理支吊架編號即管架標準圖中的管架編號由名稱、類型、子項、功能代碼等信息編制而成。管架標準圖中的不同的物理支吊架的管架編號并不完全相同。由S3D 查詢所得的物理支吊架編號與管架標準圖中的編號一致,憑借管架編號的首位可以分辨出大部分物理支吊架的種類及功能,但其中也有一定數(shù)量的物理支吊架需要通過其管架編號的子項或者功能代碼辨別功能。如管架編號E4-1-A-500 代表500 毫米長槽鋼制成的導向架,如管架編號E4-3-A-500 代表500 毫米長槽鋼制成的軸向限位架,物理支吊架的類型由管架編號第三位的子項確定。當子項為A 時,U1 為固定用U 型螺栓,子項為G 時U1 為導向用U 型螺栓。
在編寫程序實現(xiàn)單獨使用的物理支吊架分類時,應將管架編號分為三類。一類通過管架編號名稱區(qū)分其功能,如D8-1-A-100-200、G5-C-500-600 等;一類可通過名稱后一位編號確定功能,如U1-A-200-S 等;第三類作為例外,由管架編號的前兩位無法判斷物理支吊架功能時單獨分析,如E5-1-A-400-G。部分代碼如下所示。
有些支吊架如可變彈簧支吊架因為采購、倉儲、施工等因素的影響,往往不會嚴格按照其作用進行分類和編號,或是直接當做特殊架處理。分析管架標準圖可得到物理支吊架類型和管架編號對應關系如表1 所示。
表1:物理支吊架類型
當邏輯支吊架下轄兩個或多個物理支吊架,即物理支吊架組合使用時有可能發(fā)生功能的改變,邏輯支吊架的類型不應由某一物理支吊架類型決定。如承重架D7和螺栓U1 的組合,其功能取決于U1 子項種類;焊接式管托J16 和井型架D16-2 完成對垂直管道的導向;導向架E1 和限位架K1 的組合應視為固定架,若缺乏鋼結構等構筑物還應搭配如D2 等承重架使用。在確定邏輯支吊架類型時,如果為每一種物理支吊架的組合形式單獨編寫程序,會造成程序的復雜度飆升,也極易產生組合類型的遺漏。在解決這個問題時,本軟件將管架標準圖中的每一種物理支吊架賦值。在程序判斷時,不去考慮物理支吊架的組合形式,僅考慮邏輯支吊架所轄物理支吊架單一或組合后的值將落在數(shù)軸上的哪一個區(qū)間中,以此來判斷邏輯支吊架的類型,避免了程序上的冗雜與缺漏。解決方法在上文的程序中有體現(xiàn)。
在得到由Report 數(shù)據(jù)庫導出的邏輯支吊架信息報表后,軟件允許設計人自己定義邏輯支吊架的起始順序號,并可規(guī)定每一個順序號之間的間隔。在設計人規(guī)定起始順序號后,將由整理過的報表的第一行開始處理數(shù)據(jù),在完成所有邏輯支吊架的編號生成后,軟件會憑借邏輯支吊架的OID,將所有生成的編號重新錄入S3D 數(shù)據(jù)庫中,完成整個編號生成任務并彈出提示框提醒設計人邏輯支吊架編號生成的結束。
本軟件完成了邏輯支吊架編號的自動生成和輸出,解放了大量的人力,并且極大地避免了低老壞等問題的產生。在S3D 項目的實際應用過程中,原本多個小時的工作時間被縮減到5 分鐘以內,體現(xiàn)了數(shù)字化的不斷發(fā)展在現(xiàn)在和將來的設計工作中所能帶來的越來越不可或缺的助力。軟件正在嘗試向其他如以PDMS 作為三維設計軟件的項目中移植,爭取擁有更好地普適性,解放更多生產力。