亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        海洋石油工程項(xiàng)目配管材料信息提取

        2020-11-25 11:29:38豐興盛蔣小華黃太安王可民史其麒
        山東化工 2020年20期
        關(guān)鍵詞:延米單管焊點(diǎn)

        豐興盛,蔣小華,黃太安,王可民,史其麒

        (海洋石油工程股份有限公司建造事業(yè)部加工設(shè)計(jì)中心,山東 青島 266520)

        1 引言

        建造事業(yè)部的海洋石油工程項(xiàng)目中,加工設(shè)計(jì)中心配管專業(yè)SPOOLGEN軟件生成的REPORT文件數(shù)量多、信息多。圖紙材料表包含五十多列內(nèi)容,一個(gè)項(xiàng)目圖紙的數(shù)據(jù)量動(dòng)輒幾千張甚至上萬(wàn)張,使用人工統(tǒng)計(jì)材料已經(jīng)占用越來(lái)越多的時(shí)間,急需通過(guò)其他手段批量處理這些數(shù)據(jù)。

        SPOOLGEN軟件生成的REPORT文件為文本文件,主要有以下幾類文件:

        (1)*ASSEMBLY.TXT文件,包含安裝信息,建造事業(yè)部圖紙材料表不包含此類信息,本案例只對(duì)數(shù)據(jù)提取屬性,不做后期處理;

        (2)*Cut.CSV文件,包含管段信息,本案例只對(duì)數(shù)據(jù)提取屬性;

        (3)*Material.MTC文件,包含材料的尺寸、規(guī)格等信息,需要將數(shù)據(jù)整理后導(dǎo)入圖紙材料表;

        (4)*Spool.log文件,包含單管的延米、表面積等信息,需要將延米和表面積導(dǎo)入圖紙材料表;

        (5)*Support.TXT文件,包含管支架信息,本案例只對(duì)數(shù)據(jù)提取屬性;

        (6)*Welds.LIS文件,包含焊點(diǎn)信息,需要將焊點(diǎn)信息導(dǎo)入圖紙材料表。

        SPOOGEN生成的REPORT文件以及文件中的數(shù)據(jù)結(jié)構(gòu)是由風(fēng)格包決定的,建造事業(yè)部已經(jīng)對(duì)國(guó)內(nèi)海洋石油工程項(xiàng)目進(jìn)行了標(biāo)準(zhǔn)化,編寫程序可以用于所有使用標(biāo)準(zhǔn)化風(fēng)格包的國(guó)內(nèi)項(xiàng)目。

        綜上所述,本案例中的程序需要將*Material.MTC、*Spool.log、*Welds.LIS文件的數(shù)據(jù)處理后導(dǎo)入圖紙材料表中。本案例采用CSharp編程需要實(shí)現(xiàn)以下幾點(diǎn):

        (1)將REPORT文件數(shù)據(jù)提取屬性后導(dǎo)入EXCEL中;

        (2)將*Material.MTC、*Spool.log、*Welds.LIS文件的數(shù)據(jù)處理后導(dǎo)入圖紙材料表中。

        (3)將錯(cuò)誤信息展現(xiàn)并導(dǎo)入EXCEL中。

        2 程序流程

        手動(dòng)處理圖紙材料表,主要需要以下步驟:

        (1)將REPORT文件逐個(gè)打開(kāi),按照不同類型的文件,分別復(fù)制到不同的EXCEL表格中.

        (2)按照SPOOLGEN風(fēng)格包的格式,提取材料屬性(使用EXCEL提供的數(shù)據(jù)——分列功能).

        (3)按照屬性的對(duì)照關(guān)系,將*Material.MTC文件的內(nèi)容,逐列復(fù)制到圖紙材料表中。

        (4)將*Spool.log文件中的單管延米、面積按照管線號(hào)、單管號(hào)、尺寸填入圖紙材料表。

        (5)計(jì)算*Welds.LIS文件中的不同管線、單管、尺寸、類型的焊點(diǎn)數(shù)量,填入圖紙材料表。

        本案例用C Sharp編程遵循這種業(yè)務(wù)流程,設(shè)計(jì)的程序的基本流程參照?qǐng)D1。

        圖1 程序流程

        3 程序核心功能的實(shí)現(xiàn)

        本案例中程序先讀取不同類型的文件,再對(duì)數(shù)據(jù)提取屬性,對(duì)數(shù)據(jù)進(jìn)行處理后,分別寫入EXCEL中。

        3.1 數(shù)據(jù)讀取和屬性提取

        SPOOLGEN軟件REPORT文件都屬于文本文件,其數(shù)據(jù)的讀取,使用FileReadAllLines方法,如下所示,listFile為包含同一類型文件的集合:

        List strList = new List();

        for(int i = 0; i < listFile.Count; i++)

        {string[]arr = File.ReadAllLines(listFile[i],Encoding.UTF8);

        for(int j = 0; j < arr.Length; j++)

        {strList.Add(arr[i]);

        }

        }

        REPORT文件數(shù)據(jù)讀取完成后,需要對(duì)每一行數(shù)據(jù)進(jìn)行分割,提取出數(shù)據(jù)的各種屬性,數(shù)據(jù)提取依據(jù)SPOOLGEN風(fēng)格包,見(jiàn)圖2。

        圖2 SPOOLGEN風(fēng)格包

        REPORT文件數(shù)據(jù)的每個(gè)屬性都是固定長(zhǎng)度的字段,不足部分為空格。SPOOLGEN軟件風(fēng)格包中確定了每個(gè)屬性的起始位置和字段長(zhǎng)度。每個(gè)屬性只需要提取固定位置和長(zhǎng)度的字段就可以,在程序中使用Substring方法,簡(jiǎn)略代碼如下所示,其中intList為存儲(chǔ)SPOOLGEN風(fēng)格包中每個(gè)屬性起始起始位置的集合。

        string[]arr = new string[strList.Count, intList.Count-1];

        for(int i = 0; i < strList.Count; i++)

        {

        int intLen = strList[i].Length;

        for(int j = 0; j < intList.Count-1; j++)

        {

        int start = intList[i];

        int end = intList[j+1];

        if(start > intLen)

        {

        arr[i,j]= "";

        }

        else

        {

        end = Math.Min(end, intLen);

        arr[i,j]=strList[i].Substring(start, end-start).Trim();

        }

        }

        }

        3.2 圖紙材料表的生成

        圖紙材料表中的數(shù)據(jù)主要來(lái)源于*Material.MTC文件,材料屬性位置不同,需要通過(guò)對(duì)照關(guān)系從*Material.MTC映射到圖紙材料表中,創(chuàng)建一個(gè)兩者關(guān)系的字典來(lái)實(shí)現(xiàn)。代碼如下所示,其中arrMat為存儲(chǔ)*Material.MTC文件的一個(gè)二維數(shù)組,dicMap為圖紙材料表和*Material.MTC文件中材料屬性位置的字典。

        string[]arrMaterial = new string[arrMat.GetLength(0), 60];

        for(int i = 0; i < arrMat.GetLength(0); i++)

        {

        arrMaterial[i,0]=(i + 1).ToString();

        foreach(KeyValuePair kvp in dicMap)

        {

        arrMaterial[i,kvp.key]=arrMat[i,kvp.value].Trim();

        }

        }

        3.3 焊點(diǎn)信息

        為圖紙材料表添加焊點(diǎn)信息,需要先將*Welds.LIS文件中的管線號(hào)、單管號(hào)、尺寸相同的各種類型焊點(diǎn)匯總,再將焊點(diǎn)輸入圖紙材料表的合適位置。焊點(diǎn)類型主要包括預(yù)制對(duì)焊、現(xiàn)場(chǎng)對(duì)焊、插焊、管鞋預(yù)制焊、管鞋現(xiàn)場(chǎng)焊。判斷焊接類型根據(jù)Weld No和Weld Type屬性來(lái)判斷。在本案例中,Weld No帶“FW”前綴的為現(xiàn)場(chǎng)焊;不帶“FW”,且Weld Type為“BW”的為預(yù)制焊;Weld Type為“BW+T”的為現(xiàn)場(chǎng)預(yù)制焊,歸屬到現(xiàn)場(chǎng)焊中。

        圖3 焊點(diǎn)類型判斷條件

        3.4 單管延米、面積

        單管的延米和面積信息在*Spool.log文件中,需要將對(duì)應(yīng)管線號(hào)、單管號(hào)、尺寸的延米和面積添加到圖紙材料表中。其中,“Length”列為單管長(zhǎng)度“Acreage_Sqm”列為單管的表面積。

        圖4 延米和面積

        需要注意,由于SPOOLGEN的IDF文件可能會(huì)存在錯(cuò)誤,*Welds.LIS文件和*Spool.log文件中,會(huì)存在尺寸丟失、尺寸錯(cuò)誤的現(xiàn)象,在DO系統(tǒng)中地漏和管線之間的焊點(diǎn)經(jīng)常出現(xiàn)這一問(wèn)題。這時(shí)候,焊點(diǎn)和延米的信息無(wú)法按照固有規(guī)則導(dǎo)入圖紙材料表中,需要程序能捕捉的這些錯(cuò)誤,并提醒作圖人員根據(jù)圖紙上的信息核對(duì)并修改圖紙材料表。

        3.5 信息的輸出

        本案例中,圖紙材料表需要輸出到EXCEL文件中。在程序中添加引用,選擇Microsoft Office Excel應(yīng)用程序中的Microsoft.Office.Interop.Excel.dll文件,在程序引用命名空間部分,添加:“using Microsoft.Office.Interop.Excel;”。這樣C sharp編寫的程序就能讀寫EXCEL文件。

        圖5 引用COM組件

        使用Microsoft.Office.Interop.Excel.dll這個(gè)COM組件,可以將數(shù)組直接寫入表格中,在數(shù)據(jù)量大的時(shí)候,相比逐個(gè)單元格賦值,能獲得更快的寫入速度。其代碼如下所示,其中arr為存儲(chǔ)圖紙材料表的一個(gè)二維數(shù)組。

        string path = System.Windows.Forms.Application.StartupPath;

        string fullName = path + @"DataModule.xlsx";

        Application exlApp = new Application();

        exlApp.ScreenUpdating = false;

        exlApp.Visible = false;

        Workbook wb = exlApp.Workbooks.Open(fullName);

        Worksheet ws =(Worksheet)wb.Sheets["圖料表"];

        ws.Activate();

        ws.Cells[3,1].Resize[arr.GetLength(0),arr.GetLength(1)]=arr;

        exlApp.S

        creenUpdating = true;

        exlApp.Visible = true;

        4 結(jié)語(yǔ)

        本案例程序的開(kāi)發(fā),實(shí)現(xiàn)了對(duì)SPOOLGEN軟件REPORT文件數(shù)據(jù)的讀取和圖紙材料表的生成。手工處理一張圖的材料需要10~20min,使用軟件處理一批圖紙(通常幾十張圖紙的REPORT文件一起處理)1~2min就能完成。從軟件完成至今,大約為建造事業(yè)部加工設(shè)計(jì)中心處理了50000多張圖紙,累計(jì)節(jié)省8000人工時(shí)以上。而海洋石油工程項(xiàng)目中,配管專業(yè)圖紙數(shù)量多的特性也讓軟件有較為廣闊的前景;建造事業(yè)部加工設(shè)計(jì)中心對(duì)SPOOLGEN風(fēng)格包的標(biāo)準(zhǔn)化也為軟件的推廣創(chuàng)造了有利的條件。

        猜你喜歡
        延米單管焊點(diǎn)
        大型PCCP壓力管道單管水壓試驗(yàn)
        淺談提升某露天銅礦山西南硬巖區(qū)域延米爆破量
        復(fù)雜破碎圍巖條件下大斷面公路隧道初期支護(hù)的合理時(shí)機(jī)分析
        單管試壓簡(jiǎn)易模具的設(shè)計(jì)及應(yīng)用
        基于Multisim的單管共射放大電路設(shè)計(jì)與仿真分析
        電子制作(2019年22期)2020-01-14 03:16:44
        同軸套管深埋管換熱器延米換熱量變化規(guī)律的研究
        焊盤尺寸對(duì)SMT焊點(diǎn)可靠性的影響
        遵義:順利實(shí)現(xiàn)村村通油路目標(biāo)
        DH36鋼摩擦疊焊焊點(diǎn)分布規(guī)律研究
        焊接(2016年2期)2016-02-27 13:01:14
        基于特征聚集度的FCM-RSVM算法及其在人工焊點(diǎn)缺陷識(shí)別中的應(yīng)用
        亚洲av无码专区国产乱码4se| 国产亚洲欧美在线播放网站| 97精品国产手机| 两个人看的www中文在线观看| 久久精品国产9久久综合| 亚洲VR永久无码一区| 亚洲综合av一区在线| 久久一道精品一区三区| 亚洲综合av永久无码精品一区二区 | 丝袜美腿亚洲综合玉足| 人妖国产视频一区二区| 手机看黄av免费网址| 天天躁狠狠躁狠狠躁夜夜躁| 国内自拍偷拍亚洲天堂| 久久综合老鸭窝色综合久久| av免费在线免费观看| 亚洲色成人网站www永久| 亚洲精品成人网站在线观看 | 连续高潮喷水无码| 青青草视频在线你懂的 | 中文字幕丰满伦子无码| 日本丶国产丶欧美色综合| 国产精品三级av一区二区| 深夜黄色刺激影片在线免费观看| 人妻体内射精一区二区三区| 国产精品9999久久久久| 韩国一级成a人片在线观看| 国产自产在线视频一区| 亚洲蜜臀av一区二区三区| 久久亚洲av无码西西人体| 精品一品国产午夜福利视频| 老肥熟女老女人野外免费区| 蜜桃传媒免费在线观看| 亚洲av成人片无码网站| 中文字幕乱码人妻一区二区三区 | 扒下语文老师的丝袜美腿| 国产精品日韩av一区二区三区| 亚洲sm另类一区二区三区| 久久av无码精品人妻出轨| 亚洲熟妇夜夜一区二区三区 | 国产av一区二区三区性入口|