• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            eryar

            PipeCAD - Plant Piping Design Software.
            RvmTranslator - Translate AVEVA RVM to OBJ, glTF, etc.
            posts - 603, comments - 590, trackbacks - 0, articles - 0

            The Creation of Bending Activities Tables in

            AVEVA Marine PipeSketches

            AM管子零件圖中彎管參數(shù)表的生成

            一、引言

            AVEVA Marine生成的管子零件圖中包含以下幾種表格:

            l MTO Tables; ——材料表;

            n MTO Tables主要為管子下料長(zhǎng)度及一些閥附件數(shù)據(jù);

            l Bending Tables;

            l Bending Activities Tables; ——彎管表;

            n 彎管信息表,主要為彎管機(jī)加工所需數(shù)據(jù);

            l Automatic Welding Tables; ——自動(dòng)焊接表;

            l Assembly Activities Tables; ——裝配表;

            l End Points Tables; ——端點(diǎn)表;

            n 管子端部的坐標(biāo)值,用于管子安裝時(shí)位置的確認(rèn);

            有了以上數(shù)據(jù),可以對(duì)管子進(jìn)行數(shù)控加工,節(jié)約材料,簡(jiǎn)單正確安裝,提高生產(chǎn)效率。

            本文主要講述彎管機(jī)所需的彎管參數(shù)的計(jì)算方法,以及在AVEVA Marine中利用PML編程時(shí)如何獲取這些彎管信息,理解這些內(nèi)容可對(duì)管子零件圖進(jìn)行靈活地控制,也可以自己編程實(shí)現(xiàn)對(duì)彎管參數(shù)的自動(dòng)計(jì)算,生成數(shù)控彎管機(jī)加工管子零件所需要數(shù)據(jù)。

            AVEVA Marine中彎管參數(shù)是在管子工藝檢查后自動(dòng)生成,管子工藝檢查程序未以PML的形式公開,而是以PipeCheckAddin.dll動(dòng)態(tài)庫(kù)的形式發(fā)布的,看不到源代碼,所以,本文是本人學(xué)習(xí)總結(jié),僅為個(gè)人觀點(diǎn),歡迎討論。若有錯(cuò)誤或建議請(qǐng)聯(lián)系:eryar@163.com

            二、彎管參數(shù)計(jì)算

            由彎管機(jī)進(jìn)行彎曲的管子,必須有相應(yīng)的彎管程序,即彎管參數(shù)的計(jì)算。彎管參數(shù)計(jì)算分成兩部分:一部分是關(guān)于管段實(shí)長(zhǎng)、彎角和轉(zhuǎn)角的計(jì)算;一部分是關(guān)于彎管的起彎點(diǎn)和管長(zhǎng)總長(zhǎng)度及無(wú)余量下料長(zhǎng)度的計(jì)算。其中,下料長(zhǎng)度的計(jì)算要根據(jù)管子加工工藝決定,如果采用先焊的加工工藝,則要考慮到兩端連接件的形式、彎曲部分的伸長(zhǎng)量、彎子彎曲后回彈所引起的彎曲半徑的變化等。

            現(xiàn)對(duì)彎管參數(shù)中的彎角、管段長(zhǎng)度、旋轉(zhuǎn)角的概念及其計(jì)算方法進(jìn)行介紹。

            2.1 彎角

            彎角是指一根直管子彎成一定形狀時(shí),管子一端所彎過(guò)的角度,即彎管機(jī)彎模旋轉(zhuǎn)的角度,一般用α表示。

            由兩管段所組成的角度稱為成形角,用β表示。它與彎角互補(bǔ)。

            管子的彎角數(shù)Nα與管段數(shù)N的關(guān)系為:Nα=N-1

            2.2 管段長(zhǎng)度

            管子中心線的長(zhǎng)度稱為管段實(shí)長(zhǎng),通常也是管子零件圖上尺寸線標(biāo)出的長(zhǎng)度。管子彎曲部分實(shí)際上是一段圓弧,并不是一條直線。圓弧的長(zhǎng)度與管子彎曲半徑及彎角有關(guān),設(shè)彎管半徑為R,彎角為α時(shí)彎管的弧長(zhǎng)計(jì)算公式為:

            因?yàn)楣芏螌?shí)長(zhǎng)中包含彎管處圓弧的切線長(zhǎng),在進(jìn)行彎管參數(shù)計(jì)算時(shí)它的直管段長(zhǎng)必須減去與彎角對(duì)應(yīng)的切線長(zhǎng),計(jì)算公式為:

            采用先彎后焊的管子加工工藝時(shí),下料長(zhǎng)度就是彎制成形的管子的總長(zhǎng)。理論上它時(shí)直管段長(zhǎng)度和彎管圓弧長(zhǎng)度的總和,即管段實(shí)長(zhǎng)減去彎角對(duì)應(yīng)的切線長(zhǎng)加上彎管部分的圓弧長(zhǎng)度。

            若采用“先彎后焊”工藝,管子彎曲成形后,還要進(jìn)行二次畫線和切割,可以不考慮以下因素。若采用“先焊后彎”工藝,在求管子長(zhǎng)度時(shí),還需要考慮以下幾個(gè)因素:在彎制管子時(shí),彎管部分的圓弧因材料的塑性變形等原因略有伸長(zhǎng),伸長(zhǎng)的量稱為伸長(zhǎng)量;其次,不同的管端連接件形式也會(huì)要求管子比計(jì)算長(zhǎng)要短。如對(duì)于搭焊法蘭必須減去端距,若是對(duì)焊法蘭需要減去整個(gè)法蘭的厚度。

            2.3 轉(zhuǎn)角

            一根彎管中,任何兩個(gè)相鄰彎管所在的平面間的夾角稱為轉(zhuǎn)角,也可稱為彎管間直管段的轉(zhuǎn)角。把管子相鄰的三段作為一個(gè)單元,并依次稱為三段管子的首段、中段、尾段。規(guī)定尾段向首段的旋轉(zhuǎn)方向?yàn)檗D(zhuǎn)角的旋轉(zhuǎn)方向。從首段向尾段看,順時(shí)針為正轉(zhuǎn),逆時(shí)針為負(fù)轉(zhuǎn)。因此,轉(zhuǎn)角也可表述為:以中段管子為旋轉(zhuǎn)軸,尾段管子和中段管子組成的平面轉(zhuǎn)到與首段管子與中段管子所組成的平面重合時(shí),所轉(zhuǎn)過(guò)的角度即為轉(zhuǎn)角。

            求取轉(zhuǎn)角比較復(fù)雜,若使用矢量代數(shù)法來(lái)計(jì)算,則可對(duì)轉(zhuǎn)角進(jìn)行統(tǒng)一計(jì)算,便于計(jì)算機(jī)程序?qū)崿F(xiàn)。

            2.4 應(yīng)用矢量代數(shù)計(jì)算管子曲形參數(shù)

            用幾何、三角函數(shù)法來(lái)計(jì)算管子曲形參數(shù)的過(guò)程較為復(fù)雜,特別遇到曲形復(fù)雜的管子零件時(shí),要經(jīng)過(guò)投影變換、解三角形、求中間參數(shù)等過(guò)程,往往耗費(fèi)較多時(shí)間。即便將各種彎曲形狀歸結(jié)為幾種基本形式,并導(dǎo)出相應(yīng)的計(jì)算公式,實(shí)際應(yīng)用也甚感不便。矢量代數(shù)法是把一根曲形管子上的每一段看作是一個(gè)矢量,并根據(jù)各管段的坐標(biāo)值,運(yùn)用矢量代數(shù)數(shù)量積、矢量積、模推導(dǎo)出一組完整、通用的曲形求解公式。應(yīng)用這些公式計(jì)算不需要進(jìn)行復(fù)雜的投影變換,也不需要解三角形和求解中間變量,可以大減輕計(jì)算工作量,更可用于計(jì)算機(jī)編程實(shí)現(xiàn)管子曲形參數(shù)的自動(dòng)計(jì)算,應(yīng)用于三維管子設(shè)計(jì)系統(tǒng)中的管子零件圖自動(dòng)生成彎管數(shù)據(jù)。

            Pipe Spool

            圖1 空間任意三段管

            上圖中彎管為任意空間三段管,坐標(biāo)系中X、Y、Z分別表示艏艉、舷、高度方向。A、B、C、D為彎管曲形中心點(diǎn)位置。根據(jù)上圖推導(dǎo)出彎管曲形參數(shù)的計(jì)算方法。推導(dǎo)過(guò)程如下:

            1. 管段實(shí)長(zhǎng)l

            求出管段實(shí)長(zhǎng)后,還需要計(jì)算出彎角對(duì)應(yīng)的切線長(zhǎng)和圓弧長(zhǎng),然后再用實(shí)長(zhǎng)減去切線長(zhǎng)加上圓弧長(zhǎng)度即得管子的下料長(zhǎng)度。

            2. 由數(shù)量積推出彎角α的求解公式:

            3. 由矢量積推出轉(zhuǎn)角的求解公式:

            4. 根據(jù)行列式計(jì)算管子旋轉(zhuǎn)方向:

            若行列式大于零,則為逆時(shí)針?lè)较蛐D(zhuǎn);若行列式小于零,則為順時(shí)針?lè)较蛐D(zhuǎn)。若為零,則為平面彎管。

            至此,我們得到了空間任意彎曲管子的彎管參數(shù)計(jì)算公式,這些是計(jì)算三段管子為一個(gè)單元的曲形參數(shù)的基本公式。因?yàn)槊咳喂芙M成兩個(gè)平面,具有兩個(gè)彎角和一個(gè)轉(zhuǎn)角,所以三段以上的彎管同樣可以利用上述公式,先計(jì)算第一、第二、第三段管,再計(jì)算第二、第三、第四段管,依次類推。

            具體編程實(shí)現(xiàn)時(shí),可用鏈表或棧來(lái)存儲(chǔ)一個(gè)管子零件的所有節(jié)點(diǎn)坐標(biāo)值,再把節(jié)點(diǎn)值轉(zhuǎn)化為向量值,然后以每三段為一個(gè)單元來(lái)計(jì)算相關(guān)參數(shù)。

            三、C++編程實(shí)現(xiàn)

               1:  //------------------------------------------------------------------------------
               2:  //    Copyright (c) 2011 eryar All Rights Reserved.
               3:  //
               4:  //        File    :    Vector.h
               5:  //        Author    :    eryar@163.com
               6:  //        Date    :    2011-12-2 21:34
               7:  //        Version    :    1.0v
               8:  //
               9:  //    Description    :    
              10:  //
              11:  //==============================================================================
              12:   
              13:  #ifndef _VECTOR_H_
              14:  #define _VECTOR_H_
              15:   
              16:  #include <cmath>
              17:  #include <string>
              18:  #include <iostream>
              19:  using namespace std;
              20:   
              21:  class CVector  
              22:  {
              23:  public:
              24:      CVector();
              25:      CVector(const CVector& v);
              26:      CVector(double x, double y, double z);
              27:      virtual ~CVector();
              28:   
              29:      // Overload operators
              30:      CVector& operator =  (const CVector& v);
              31:      bool     operator == (const CVector& v) const;
              32:      bool     operator != (const CVector& v) const;
              33:      CVector  operator +  (const CVector& v) const;
              34:      CVector  operator -  (const CVector& v) const;
              35:      CVector  operator *  (double k) const;
              36:      // 向量點(diǎn)乘
              37:      double   operator *  (const CVector& v) const;
              38:   
              39:      // 向量叉乘
              40:      CVector CrossProduct(const CVector& v);
              41:   
              42:      // 求向量的模
              43:      double Magnitude(void) const;
              44:   
              45:      // 顯示向量
              46:      void    Show(void) const;
              47:   
              48:  private:
              49:      double  m_x;
              50:      double  m_y;
              51:      double  m_z;
              52:  };
              53:   
              54:  #endif // _VECTOR_H_

            計(jì)算實(shí)例:

               1:  //------------------------------------------------------------------------------
               2:  //    Copyright (c) 2011 eryar All Rights Reserved.
               3:  //
               4:  //        File    : Main.cpp
               5:  //        Author  : eryar@163.com
               6:  //        Date    : 2011-12-4 10:05
               7:  //        Version : 1.0v
               8:  //
               9:  //    Description : 
              10:  //
              11:  //==============================================================================
              12:   
              13:  #include "Vector.h"
              14:   
              15:  int main(int argc, char* argv[])
              16:  {
              17:      // One Pipe piece
              18:  //     CVector aVector(287, 0, 0);
              19:  //     CVector bVector(313, 204, 165);
              20:  //     CVector cVector(0, 746, 0);
              21:   
              22:      // Another pipe piece
              23:  //     CVector aVector(150, 0, 0);
              24:  //     CVector bVector(50, 150, 150);
              25:  //     CVector cVector(50, 250, 0);
              26:   
              27:      // Test Vectors
              28:      CVector aVector(1, 0, 0);
              29:      CVector bVector(1, 2, 0);
              30:      CVector cVector(1, 1.732, 1);
              31:   
              32:      CVector alpha;
              33:      CVector beta;
              34:      double  phi = 0;
              35:   
              36:      aVector.Show();
              37:      bVector.Show();
              38:      cVector.Show();
              39:   
              40:      alpha   = aVector.CrossProduct(bVector);
              41:      beta    = bVector.CrossProduct(cVector);
              42:   
              43:      phi = (alpha * beta) / (alpha.Magnitude() * beta.Magnitude());
              44:      cout<<"Rotate : "<<acos(phi) * 180 / 3.1416<<endl;
              45:   
              46:      return 0;
              47:  }

            四、AVEVA Marine中獲取彎管參數(shù)

            AVEVA Marine中彎管參數(shù)由類PipeSpoolManager來(lái)管理,其方法如下:

            PipeSpoolManager

            使用方法:(對(duì)通過(guò)工藝檢查后的管子PIPE使用)

            How to Use PipeSpoolManager

            通過(guò)PipeSpoolManager對(duì)象可以得到管子零件圖所需要的各種數(shù)據(jù)。如彎管參數(shù):管段長(zhǎng)度Feed、彎角Bend、轉(zhuǎn)角Rotate則由其成員函數(shù)getPipePieces()來(lái)得到,結(jié)果保存為一個(gè)數(shù)組。

            AVEVA Marine中取得這些彎管數(shù)據(jù)很簡(jiǎn)單,其計(jì)算方法我估計(jì)是按上述矢量代數(shù)法來(lái)計(jì)算得出。若你有更好的計(jì)算方法,請(qǐng)聯(lián)系我:eryar@163.com

            彎管機(jī)工藝檢查由對(duì)象BendingMachineResult來(lái)管理,檢查項(xiàng)目由其成員函數(shù)來(lái)實(shí)現(xiàn):

            BendingMachineResult

            五、結(jié)論

            用矢量代數(shù)法計(jì)算彎管參數(shù)簡(jiǎn)單通用,可用于計(jì)算程序自動(dòng)計(jì)算。

            AVEVA Marine可用對(duì)象PipeSpoolManager來(lái)取得彎管參數(shù)及其它數(shù)據(jù),深入理解此對(duì)象可自定義管子零件圖上的一些信息,也可根據(jù)船廠實(shí)際需要編寫管子零件圖的出圖程序。

            六、參考資料

            1. 章煒梁、許正權(quán). 船舶管系工. 國(guó)防工業(yè)出版社. 2008

            2. 陸金銘. 船舶動(dòng)力裝置安裝工藝. 國(guó)防工業(yè)出版社. 2006

            3. 付錦云. 船舶管路系統(tǒng). 哈爾濱工程大學(xué)出版社. 2006

            4. 黃廣茂. 造船生產(chǎn)設(shè)計(jì). 哈爾濱工程大學(xué)出版社. 2008

            5. Pipework Design User Guide

            PDF 版本:

            Feedback

            # re: The Creation of Bending Activities Tables in AVEVA Marine PipeSketches  回復(fù)  更多評(píng)論   

            2016-03-21 10:20 by hebo
            支持,吧你的文章都看一遍!

            # re: The Creation of Bending Activities Tables in AVEVA Marine PipeSketches  回復(fù)  更多評(píng)論   

            2016-03-21 19:23 by eryar
            @hebo

            哈哈,有耐心啊!
            国产亚洲综合久久系列| 成人精品一区二区久久久| 久久亚洲国产精品一区二区| 国内精品综合久久久40p| 免费精品久久久久久中文字幕| 久久国产乱子伦精品免费强| 亚洲色欲久久久综合网| 欧洲精品久久久av无码电影| 亚洲欧洲日产国码无码久久99| 久久国产欧美日韩精品免费| 色偷偷88欧美精品久久久| 日本精品久久久久影院日本 | 韩国三级中文字幕hd久久精品| 国产成人久久精品区一区二区| 久久er热视频在这里精品| 99久久国产免费福利| 国产农村妇女毛片精品久久| 精品国产乱码久久久久久浪潮 | 国产午夜精品久久久久免费视 | 久久精品国产亚洲av瑜伽| 一本色道久久综合狠狠躁 | 久久精品国产2020| 蜜臀久久99精品久久久久久小说| 韩国免费A级毛片久久| 亚洲综合婷婷久久| 亚洲精品视频久久久| 无码人妻久久一区二区三区| 韩国三级大全久久网站| 久久av高潮av无码av喷吹| 久久国语露脸国产精品电影| 九九99精品久久久久久| 思思久久99热免费精品6| 九九久久自然熟的香蕉图片| 久久AAAA片一区二区| 久久久老熟女一区二区三区| 久久不射电影网| 国内精品久久久久久久久电影网| 久久国产精品久久久| 亚洲中文久久精品无码ww16| 狠狠色伊人久久精品综合网| 久久国产热精品波多野结衣AV|