青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

eryar

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

PDMS PML二次開發-Pipe Flow Indicator

Posted on 2012-05-20 20:18 eryar 閱讀(3204) 評論(0)  編輯 收藏 引用 所屬分類: 4.AVEVA Solution

PDMS PML二次開發-Pipe Flow Indicator


AVEVA PDMS中管路流向顯示程序:

pipe flow

 

PML程序源代碼如下:

---------------------------------------------------------------------------------
--
-- (c) Copyright 2010 to Current Year 
-- Shanghai Hoto Petrochemical Engineering Co., Ltd
-- eryar All rights reserved.
--
--  File:          pipeflow.pmlfrm
--  Type:          Form Definition
--  Group:         General Application
--  Keyword:       GEN
--  Module:        DESIGN
--
-- Author:          eryar@163.com
-- Created:         2010-09-17 15:15
--
-- Description:     Indicate pipe media flow direction.
--
---------------------------------------------------------------------------------
setup form 
!!pipeflow
        
!This.FormTitle         =       'Pipe Flow Indicator'
        
!This.Cancelcall        =       '!This.close()'
        
!This.FormRevision      =       '1.0v'
 
        frame .pipeFlowFrame
                button  .bCE    
'CE'   
                para    .ceName                 at      xmax            ymin    width 
16 line 1
 
                toggle  .turn   
'On/Off'        at      xmax            ymin                    
        exit
                
exit
 
---------------------------------------------------------------------------------
--
-- Method:      pipeflow()
--
-- Description:  
--
-- Method Type: Function/Procedure
-- Arguments:
--   [#] [R/RW] [Data Type] [Description]
-- Return:
--   [Data Type] [Description]
--
---------------------------------------------------------------------------------
define method .pipeflow()
        
!this.bCE.callback      =       '!this.getCE()'
        
!this.turn.callback     =       '!this.apply()'
endmethod
---------------------------------------------------------------------------------
--
-- Method:      getCE()
--
-- Description:  get current element for indicate pipe media flow
--
-- Method Type: Function/Procedure
-- Arguments:
--   [#] [R/RW] [Data Type] [Description]
-- Return:
--   [Data Type] [Description]
--
---------------------------------------------------------------------------------
define method .getCE()
        
--
        
!currentElement =       ce
        
!elementName    =       !currentElement.Name
        
!this.ceName.val=       !elementName
 
endmethod
---------------------------------------------------------------------------------
--
-- Method:      apply()
--
-- Description:  
--
-- Method Type: Function/Procedure
-- Arguments:
--   [#] [R/RW] [Data Type] [Description]
-- Return:
--   [Data Type] [Description]
--
---------------------------------------------------------------------------------
define method .apply()
        
-- remember where we came in
        
!memory =       ce
        
        
-- turn on pipe media flow
        
if(!this.turn.val) then
                
-- collect all branches 
                var 
!branches collect all bran for $!this.ceName.val
                
                
do !i index !branches
                        
-- handle every branch
                        
!branch =       !branches[$!i].dbref()
                        
!hPos   =       !branch.hPosition
                        
!tPos   =       !branch.tPosition
                        
!hDir   =       !branch.hDirection
                        
!tDir   =       !branch.tDirection
                        
!hBore  =       !branch.hBore
                        
!tDir   =       !tDir.Opposite()
                        
!arrow  =       !hBore.real() * 2
 
                        
-- add two aid arrow at head and tail
                        AID ARROW AT $
!hPos DIR $!hDir HEIGHT $!arrow PROPORTION 0.35
                        AID ARROW AT $
!tPos DIR $!tDir HEIGHT $!arrow PROPORTION 0.35
 
                        
-- add aid arrow on elbow
                        var 
!elbows collect all elbow for $!branch
                        
do !j index !elbows
                                
!elbow          =       !elbows[$!j].dbref()
                                
!arrive         =       !elbow.Arrive
                                
!leave          =       !elbow.Leave
                                $
!elbow
                                var 
!arrivePos  P$!<arrive>     position wrt world
                                handle (
2,201)
                                        
-- element does not have attribute PPOS
                                        skip
                                endhandle
                                var 
!leavePos   P$!<leave>      position wrt world
                                handle (
2,201)
                                        
-- element does not have attribute PPOS
                                        skip
                                endhandle
                                var 
!arriveDir  P$!<arrive>     direction wrt world
                                var 
!leaveDir   P$!<leave>      direction wrt world
                                
!arriveDir      =       !arriveDir.Direction().Opposite().string()
                                
--
                                AID ARROW AT $
!arrivePos DIR $!arriveDir  HEIGHT $!arrow PROPORTION 0.35
                                AID ARROW AT $
!leavePos  DIR $!leaveDir   HEIGHT $!arrow PROPORTION 0.35
                        enddo
 
                        
-- add aid arrow on valve
                        var 
!valves collect all valve for $!branch
                        
do !h index !valves
                                
!valve  =       !valves[$!h].dbref()
                                
!vPos   =       !valve.Position
                                
--
                                AID ARROW AT $
!vPos DIR $!arriveDir  HEIGHT $!hBore PROPORTION 0.8
                        enddo
 
                        
-- add aid arrow on tubi
                        var 
!tubes collect all tubi for $!branch
                        
do !k index !tubes
                                
!tube   =       !tubes[$!k].dbref()
                                
!itsLen =       !tube.itLength
                                
!itsPos =       !tube.itPosition
                        enddo
                enddo
        
else
                
-- turn off pipe media flow, clear all aid arrow
                AID CLEAR ALL
        endif
 
        
-- go back 
        
!!ce    =       !memory
endmethod
---------------------------------------------------------------------------------
--
-- Method:      close()
--
-- Description:  
--
-- Method Type: Function/Procedure
-- Arguments:
--   [#] [R/RW] [Data Type] [Description]
-- Return:
--   [Data Type] [Description]
--
---------------------------------------------------------------------------------
define method .close()
        
-- after close the form, clear all aid arrow
        AID CLEAR ALL
endmethod
---------------------------------------------------------------------------------
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            美女精品视频一区| 老司机精品导航| 国产精品久久久久久久7电影| 日韩午夜高潮| 亚洲美女免费视频| 国产精品乱码人人做人人爱| 亚洲一区三区视频在线观看| 亚洲综合首页| 黄色成人片子| 最新精品在线| 欧美视频专区一二在线观看| 亚洲男人天堂2024| 香蕉久久一区二区不卡无毒影院| 国产一区二区三区视频在线观看 | 国产欧美日韩免费看aⅴ视频| 欧美一级欧美一级在线播放| 久久成人精品视频| 9i看片成人免费高清| 亚洲专区一区| 亚洲国产天堂久久综合网| 亚洲日本成人女熟在线观看| 国产精品狼人久久影院观看方式| 久久久久九九九| 欧美激情第8页| 午夜一区二区三视频在线观看 | 午夜精品亚洲| 一本色道88久久加勒比精品| 亚洲欧美日韩爽爽影院| 亚洲国产另类久久精品| 亚洲影视中文字幕| 最新国产の精品合集bt伙计| 亚洲女同性videos| 99综合精品| 久久午夜视频| 久久精品一区蜜桃臀影院| 欧美激情片在线观看| 久久久久国产精品www| 欧美日韩国产综合视频在线观看中文| 久久精品女人的天堂av| 欧美日韩日本视频| 欧美二区在线| 极品少妇一区二区三区精品视频| 日韩一区二区精品葵司在线| 亚洲国产一区二区a毛片| 亚洲综合导航| 亚洲一区二区免费视频| 免费亚洲电影在线观看| 久久综合色综合88| 国产有码一区二区| 亚洲无线一线二线三线区别av| 亚洲欧洲综合| 久久亚洲视频| 久久人人精品| 国产一区二区三区精品久久久| 一本色道久久综合亚洲精品婷婷| 亚洲国产成人不卡| 久久躁日日躁aaaaxxxx| 久久久999| 国产欧美激情| 先锋影音久久久| 欧美亚洲一区在线| 国产精品一区二区久久精品| 亚洲图片欧洲图片av| 亚洲一区综合| 国产精品成人一区二区三区夜夜夜| 亚洲人成在线播放网站岛国| 亚洲精品中文字幕在线| 欧美精品日韩| 日韩视频专区| 性色av香蕉一区二区| 国产精品一区二区久久精品| 亚洲欧美999| 欧美在线免费视屏| 国产主播喷水一区二区| 久久精品国产第一区二区三区最新章节| 欧美在线综合视频| 一区在线影院| 在线视频欧美日韩| 国产精品久久久久婷婷| 欧美一区二区三区喷汁尤物| 久久一二三四| 亚洲精品乱码久久久久久蜜桃91 | 国产精品白丝jk黑袜喷水| 亚洲视频电影图片偷拍一区| 先锋a资源在线看亚洲| 国产综合色产| 欧美精品www| 亚洲香蕉网站| 久久久精品性| 亚洲美女视频在线观看| 国产精品xxxxx| 久久久另类综合| 日韩视频第一页| 久久久精品日韩欧美| 亚洲国产成人porn| 欧美精品一区二区三| 亚洲欧美日韩国产| 欧美黄色一级视频| 性做久久久久久免费观看欧美| 国产在线国偷精品产拍免费yy| 欧美大片在线观看一区二区| 国产精品99久久久久久久久| 久久综合久久综合久久| 久久中文在线| 日韩一级在线| 国产欧美日韩在线| 免费欧美日韩国产三级电影| 亚洲美女黄色片| 久久久久久久久一区二区| aa级大片欧美| 国产精品一区视频网站| 欧美大片免费观看在线观看网站推荐| 一区二区不卡在线视频 午夜欧美不卡'| 欧美在线黄色| a91a精品视频在线观看| 国内自拍亚洲| 国产精品video| 欧美成人精品在线视频| 午夜精品视频| 亚洲一区二区欧美| 亚洲国产精品久久精品怡红院| 欧美在线视频观看| 亚洲一级在线观看| 亚洲精品一区二| 亚洲第一精品夜夜躁人人躁| 国产欧美一区二区精品婷婷| 欧美午夜免费影院| 欧美日韩理论| 欧美成人中文字幕在线| 久久亚洲图片| 久久久www成人免费毛片麻豆| 午夜欧美大片免费观看| 亚洲一区二区少妇| 亚洲视频在线一区观看| 亚洲九九精品| 亚洲精品欧美激情| 亚洲国产欧美一区二区三区同亚洲| 久久精品国产免费看久久精品| 午夜久久电影网| 午夜精品国产精品大乳美女| 亚洲一区二区视频在线观看| 一区二区三区毛片| 中国亚洲黄色| 亚洲一线二线三线久久久| 中文在线不卡| 亚洲欧美日韩国产成人| 亚洲影视九九影院在线观看| 亚洲一区欧美激情| 亚洲欧美激情一区二区| 亚洲午夜在线视频| 开元免费观看欧美电视剧网站| 久久精品国产第一区二区三区最新章节| 午夜精品在线观看| 久久精品一区二区三区四区| 久久久精品免费视频| 久久综合五月天婷婷伊人| 欧美成人久久| 欧美日韩综合一区| 国产精品午夜av在线| 国产性做久久久久久| 红杏aⅴ成人免费视频| 亚洲国产欧美在线人成| 妖精视频成人观看www| 午夜一区二区三区在线观看| 久久成人免费| 免费观看成人www动漫视频| 欧美成人中文| 99国产一区二区三精品乱码| 亚洲午夜在线| 噜噜噜躁狠狠躁狠狠精品视频 | 国产视频欧美| 亚洲春色另类小说| 99在线精品观看| 久久精品国产综合| 亚洲高清免费| 亚洲欧美国产日韩天堂区| 久久久久九九视频| 欧美精品在线观看播放| 国产一区二区三区日韩欧美| 亚洲国产精品激情在线观看| 亚洲午夜av电影| 久久综合伊人77777蜜臀| 日韩午夜精品视频| 久久久综合激的五月天| 国产精品v欧美精品v日韩| 伊人婷婷久久| 亚洲欧美激情诱惑| 亚洲国产黄色片| 性亚洲最疯狂xxxx高清| 欧美精品18+| 国产日韩欧美综合| 日韩一区二区高清| 米奇777超碰欧美日韩亚洲| 中文久久精品| 欧美精品一区二区久久婷婷| 伊人久久男人天堂| 久久国产福利| 亚洲一区欧美一区| 久久亚洲午夜电影| 亚洲视频欧洲视频|