徐 堰 中石化寧波工程有限公司 寧波 315300
隨著煉油、化工、煤化工等裝置規(guī)模日益擴大,項目節(jié)奏也日益加快,各大設(shè)計院和工程公司均采用三維模型設(shè)計軟件進行常規(guī)設(shè)計和成品輸出。三維模型設(shè)計以其直觀、高效、便于管理和可批量操作和輸出等優(yōu)點,得到了廣泛的認可和應用;尤其是配管專業(yè),模型的使用極大地提高了設(shè)計的效率和質(zhì)量。化工行業(yè)工廠設(shè)計軟件套件主要有海克斯康(HEXAGON)公司的Intergraph_S3D系列以及AVEVA公司的PDMS系列。其中??怂箍倒镜腎ntergraph_S3D軟件作為一款工廠設(shè)計集成平臺,可供配管、電氣、儀表、消防、水道、結(jié)構(gòu)等主要專業(yè)協(xié)同工作,設(shè)計要素統(tǒng)一實時體現(xiàn),輔以統(tǒng)一參考坐標、實時碰撞檢查等常規(guī)手段,設(shè)計質(zhì)量和效率均得到有效提升。但是,各專業(yè)的設(shè)計工作和專業(yè)間配合并非只是空間定位和碰撞檢查那么簡單,各相關(guān)專業(yè)間存在大量的設(shè)計要素數(shù)據(jù)需要傳遞和交換,而且有的設(shè)計要素數(shù)據(jù)的形式結(jié)構(gòu)較為復雜,傳遞路由也較為曲折往復。為了挖掘軟件最大的效用,克服設(shè)計軟件間交流的壁壘,梳理軟件間數(shù)據(jù)流的傳遞樣本、構(gòu)建數(shù)據(jù)流傳遞的通道,是大型工程設(shè)計軟件應用到一定程度必須面對的問題。
長期以來,S3D與CAESAR II(以下簡稱C2)是存在數(shù)據(jù)壁壘的,許多設(shè)計單位在進行管道設(shè)計時,配管專業(yè)在S3D軟件中建庫建模,添加邏輯支架,抽取ISO圖供應力專業(yè)作為設(shè)計輸入。而由于數(shù)據(jù)壁壘的存在,只能通過人工處理圖紙,應力專業(yè)需要經(jīng)過人工讀圖,人工參數(shù)輸入,導致效率低下。目前裝置的大型化更是加劇了這個情況的發(fā)生。裝置內(nèi)框架上的情況尚可,在全廠多輒幾公里的大型管廊上,由于支架設(shè)置的雷同,管道支架不可避免的增減調(diào)整給上述2個專業(yè)設(shè)計人員帶來巨大的核對工作量。因此,為了減輕雙方設(shè)計人員的壓力,實現(xiàn)配管和應力雙方軟件層面的有效溝通,引入了S3D邏輯支架唯一標識符(ID code)的概念,并通過一系列數(shù)據(jù)轉(zhuǎn)換,打通S3D-C2-S3D的路由,提高了三維模型的設(shè)計深度,也為設(shè)計人員對于管道應力相關(guān)內(nèi)容的把握提供了模型、圖紙和報表上靈活、全方位的幫助。
2.1.1 邏輯支架唯一標識符的確定
在項目詳細設(shè)計階段,重要管線的配管研究一般是和管道支架的準確設(shè)置(甚至支架選型)同步進行的,為了實現(xiàn)管道支架在兩個甚至多個軟件之間流轉(zhuǎn),給予其一個唯一標識符是必須的。有的文章[1]提到為了實現(xiàn)管道支架Pcf導入支架約束類型而不采用支架流水號的做法,將支架選型的初步工作轉(zhuǎn)移給了配管專業(yè)人員,但是支架約束類型的最終確定是由應力專業(yè)人員通過軟件計算得出。因此,分析比較多種情況,從S3D和C2的配置需求、整個流程的貫通性等綜合因素考慮,選擇邏輯支架的名字(Name屬性)作為唯一標識符。其實現(xiàn)方法有兩種。
第一種方法是:全廠采用統(tǒng)一命名規(guī)則,設(shè)置支架,批量命名。見圖1。

圖1 邏輯支架命名規(guī)則界面
第二種方法采用支架名、管線號批量導出的方法,在Excel中定制專屬流水號,再批量導入S3D系統(tǒng),該方法較靈活,但作業(yè)人員應對模型數(shù)據(jù)結(jié)構(gòu)和SQL查詢較熟悉。管道支架SQL查詢結(jié)果見圖2。

圖2 管道支架SQL查詢結(jié)果界面
這里必須確定的是:作為唯一標識符,支架流水號應在全廠范圍內(nèi)唯一,且符合一定的規(guī)范(一般為設(shè)計統(tǒng)一規(guī)定)。為了程序的便利和后期報表的美觀,建議前期多添加一些支架(如長跨距管子中間支撐可以多設(shè)置一些),減少后期由于增減支架帶來的流水號不通順或流水號程序越界等問題。
2.1.2 S3D-CAESAR II數(shù)據(jù)
在S3D導出Pcf之前,要對Pcf的內(nèi)容和C2系統(tǒng)設(shè)置文件進行一些討論。
C2是可以進行靜力學(Static)分析和動力學(Dynamic)分析的,然而一般設(shè)計院和工程公司常規(guī)做靜力學分析,只在某些特殊工況(如安全閥泄放,壓縮機脈動分析等)時做動力學計算。靜力學計算需要的管道和介質(zhì)參數(shù)不多,詳見表1。

表1 管道應力分析S3D-C2參數(shù)傳遞
觀察上表,需要映射的屬性組有管道材料(PCF_MAT_MAP),以及一些屬性單位(PCF_UNITS_MAP)、應力放大系數(shù)(PCF_SIF_MAP)、約束類型(PCF_RES_MAP),相關(guān)文章[1]有過介紹,在此不再贅述。
2.1.3 Pcf文件輸出及內(nèi)容分析
為了確保S3D-C2數(shù)據(jù)傳遞的有效性,需要定制Pcf文件。Pcf文件的組成見圖3。

圖3 Pcf文件內(nèi)容界面
目前研究對象是集中載荷即支架,圖3中給出了支架的類型、位置、載荷方向、支架ID碼、oid和名字,確保支架Name的唯一有效。
在映射定制完成后,C2可以按JOBNAME進行Pcf的導入,并在C2中進行應力分析和支架選類(Restraint),Restraint類型見圖4。

圖4 約束類型界面
在應力專業(yè)完成計算后,可以按常規(guī)輸出計算書,也可以按JOBNAME進行C2_MDB文件的輸出,常規(guī)計算書的數(shù)據(jù)格式為Excel文件,可以編寫各類程序如VBA進行數(shù)據(jù)處理,按列整理出支架流水號(NAME)、應力節(jié)點號(NODE)、各類載荷大小、彈簧數(shù)據(jù)等,此處S3D屬性導入也需增添相關(guān)的Interface,定制相關(guān)的xml映射文件,通過支架流水號串聯(lián)oid(S3D)以實現(xiàn)基于logic support oid的支架屬性導入。支架屬性導入映射代碼見圖5。

圖5 支架屬性導入映射代碼(部分)界面
注:Pcf導入C2時,邏輯支架Name不能帶有”,”等特殊字符,否則C2無法獲取RES_NAME(即S3D中Name)。
此處也可以批量替換支架名(Name),將支架確定約束類型(Restraint)添加到Name上,實現(xiàn)S3D中ISO圖的表達,以減輕應力專業(yè)人員手工添加ISO圖節(jié)點號,約束類型的工作。添加支架類型后ISO見圖6。

圖6 添加支架類型后ISO圖
在工廠設(shè)計中,框架初步設(shè)計、均布及集中載荷點的提出是管道專業(yè)需要完成的工作,尤其是集中載荷點的繪制,是傳統(tǒng)AutoCAD(以下簡稱ACAD)模式下比較耗時耗力、錯誤率較高的工作。在按支架流水號把應力節(jié)點各類載荷信息導入S3D模型之后,進一步考慮是否可以從模型中輸出結(jié)構(gòu)載荷條件。但經(jīng)過多番嘗試,由于專業(yè)分工、模型深度、風格包定制或切圖效果等原因,從模型中直接輸出載荷條件圖效果較不理想。
于是,采用ACAD_VBA編程進行框架集中載荷點定位和標號,MTEXT進行載荷表導入方案逐步形成。其邏輯圖見圖7。

圖7 集中載荷條件程序繪圖邏輯圖
為了實現(xiàn)圖7功能,需要對S3D邏輯支架位置進行SQL查詢,此處用到的Partclass有JHgrPipeSupport,Interface有JLocalCoordinateSystem,關(guān)系數(shù)據(jù)庫表間關(guān)系有XHgrSup port_RSLT、XSupportedPorts,查詢結(jié)果見圖8。

圖8 支架位置查詢界面
由于SQL查詢無法進行參考坐標系運算,需要對導出的笛卡爾坐標系坐標值進行換算,這個換算坐標系的原點應與ACAD集中載荷條件圖紙上的(0,0,0)點重合,以利于后續(xù)ACAD支架塊定位程序的編寫。
在S3D中,坡度管可能導致支架定位不準,在報表導出時產(chǎn)生零碎值,需要Excel進行數(shù)據(jù)圓整處理;支架定位有了之后,再基于流水號把載荷信息通過Vlookup函數(shù)從應力計算報告上取過來,此時,對于應力計算各工況數(shù)據(jù)的分析是必須的。支架位置Excel數(shù)據(jù)整理見圖9。

圖9 支架位置Excel數(shù)據(jù)整理界面
以下是ACAD_VBA該部分程序片段:
●建立支架圖塊
For i=0 To ThisDrawing.Blocks.Count-1
Set supportblock=ThisDrawing.
Blocks.Item(i) '查找舊塊
If supportblock.Name="支架" Then GoTo insblock
Next i
Set supportblock=ThisDrawing.
Blocks.Add(basep, "支架") '新建一個"支架"塊
pline(0)=-200: pline(1)=-200: pline(2)=0
pline(3)=200: pline(4)=200: pline(5)=0
Set plineObj1=ThisDrawing.
ModelSpace.AddPolyline(pline)
linep2(1)=1
plineObj1.ConstantWidth=30
'設(shè)置線寬
Set plineObj2=plineObj1.Mirror(linep1, linep2) '鏡像
●獲取Excel數(shù)據(jù),并導入至支架圖塊屬性集
Dim Excelapp As Excel.Application '定義excle應用程序變量
Dim Excelsheet As Worksheet '定義工作表變量
Set Excelapp=CreateObject
("Excel.application") '激活Excel程序
Excelapp.Workbooks.Open ("D:atta_loc.xlsx") '打開工作薄
Set Excelsheet=Excelapp.
ActiveWorkbook.Sheets("atta_loc") '當前工作表為sheet1
corow=Excelsheet.
UsedRange.Rows.Count '計算工作表的總行數(shù)
For i=2 To corow
Set supportlay=ThisDrawing.
Layers.Add(Excelsheet.Cells(i, 6).Value)
'新建圖層
supportlay.color=
Excelsheet.Cells(i, 7).Value '圖層顏色
ThisDrawing.ActiveLayer=supportlay '將當前圖層設(shè)置為支架圖層
attrtxt0=Excelsheet.Cells(i, 1).Value
attrtxt1=Excelsheet.Cells(i, 2).Value
p(0)=Excelsheet.Cells(i,3).Value
p(1)=Excelsheet.Cells(i, 4).Value
Set blockRef=ThisDrawing.
ModelSpace.InsertBlock(p, "支架", 1, 1, 1, 0) '插入塊
Attr3=blockRef.GetAttributes '獲取塊屬性
Attr3(0).TextString=attrtxt0 Attr3(1).TextString=attrtxt1
Next i
在支架導入前按位置和層高進行分類,通過程序定制,同類支架將歸入相同圖層,并通過不同顏色體現(xiàn),后期在進行ACAD分圖時,可根據(jù)圖層進行批量移動,其最終效果見圖10。

圖10 支架圖塊批量繪制
下一步,將根據(jù)支架所在Piperun保溫情況、彈簧是否配置等進行支架安裝高度計算,實現(xiàn)支架底標高與梁頂標高差值計算,結(jié)合管徑、隔熱厚、支架導向方向等確定結(jié)構(gòu)T型架的位置、方向、規(guī)格、載荷與標高。集中載荷表批量導入效果見圖11。

圖11 ACAD集中載荷導入(局部)
本文進行了在S3D-C2-S3D-ACAD框架下集中載荷數(shù)據(jù)流轉(zhuǎn)的分析,通過目標管道支架編寫流水號,提高配管與應力設(shè)計人員溝通效率,減少應力設(shè)計人員手畫單線圖上支架類型的時間和錯誤,使S3D模型的深度也有了一定程度的加強;結(jié)合Excel的數(shù)據(jù)處理功能,編寫ACAD_VBA代碼,實現(xiàn)了集中載荷條件的自動繪制,在此基礎(chǔ)上,甚至可以批量繪制T型架、平臺開孔、管墩等設(shè)計要素,實現(xiàn)模型與提出條件的一致性。