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

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>
            久久婷婷综合激情| 久久国产日韩| 日韩午夜在线观看视频| 欧美日韩精品在线播放| 在线视频亚洲| 亚洲欧美日韩中文在线制服| 国产欧美日韩一区二区三区在线观看 | 欧美高清在线| 欧美日韩成人在线播放| 亚洲一区二区免费视频| 性色av一区二区怡红| 在线观看视频一区| 亚洲精品乱码久久久久久久久| 欧美国产精品久久| 性xx色xx综合久久久xx| 久久久精品午夜少妇| 日韩一区二区免费高清| 亚洲一区二区毛片| 亚洲国产日本| 亚洲视频日本| 亚洲国产你懂的| 亚洲精品欧美在线| 好看的日韩av电影| 亚洲区一区二区三区| 国产欧美 在线欧美| 欧美激情中文字幕乱码免费| 国产精品成人av性教育| 女女同性精品视频| 国产精品久久久久久久久免费桃花| 欧美喷水视频| 久久久综合免费视频| 欧美日韩精品在线播放| 久久综合给合久久狠狠色 | 中文国产一区| 亚洲国产视频a| 亚洲欧美日韩一区| 99国产精品久久久久老师| 久久丁香综合五月国产三级网站| 99精品国产福利在线观看免费| 欧美伊人久久久久久久久影院| 一本色道久久88综合亚洲精品ⅰ| 久久精品99无色码中文字幕| 亚洲性感美女99在线| 欧美va天堂| 美国十次成人| 国内自拍一区| 亚洲一区二区精品视频| 亚洲视频日本| 欧美日韩免费区域视频在线观看| 欧美成年人在线观看| 国产一区二区按摩在线观看| 一区二区三区日韩精品视频| 亚洲肉体裸体xxxx137| 久久久国际精品| 久久久久久久高潮| 国产欧美一区二区三区视频| 亚洲午夜视频在线| 亚洲资源在线观看| 国产精品igao视频网网址不卡日韩| 欧美激情在线| 亚洲美女少妇无套啪啪呻吟| 欧美不卡福利| 亚洲日本成人女熟在线观看| 亚洲精品久久嫩草网站秘色| 久久福利一区| 国产偷国产偷精品高清尤物| 欧美亚洲午夜视频在线观看| 久久久国产亚洲精品| 国产在线观看精品一区二区三区| 欧美亚洲专区| 久久婷婷丁香| 亚洲国产一区二区三区青草影视| 久久亚洲欧洲| 亚洲日本成人网| 亚洲一区在线看| 国产精品视频成人| 欧美一区二区视频在线观看2020| 久久午夜电影| 亚洲国产欧美精品| 欧美三区在线视频| 亚洲综合色自拍一区| 老司机精品导航| aa成人免费视频| 国产精品一香蕉国产线看观看| 欧美一级大片在线免费观看| 久久深夜福利| 99re6热只有精品免费观看 | 欧美一区二区高清| 欧美电影免费观看网站| 一区二区不卡在线视频 午夜欧美不卡'| 欧美激情综合五月色丁香小说| 在线中文字幕不卡| 卡通动漫国产精品| 一区二区三区精品国产| 国产亚洲a∨片在线观看| 老司机午夜精品视频| 国内成人精品一区| 欧美激情无毛| 欧美一区二区三区四区夜夜大片 | 9i看片成人免费高清| 久久精品免视看| 一区二区激情小说| 国产伊人精品| 欧美四级在线观看| 久久看片网站| 亚洲午夜一区二区| 亚洲高清资源综合久久精品| 欧美一二三视频| 亚洲精品国产精品国自产观看浪潮| 国产精品久久久久一区二区三区| 久久视频这里只有精品| 亚洲一区二区三区四区在线观看| 欧美福利视频| 久久av一区二区三区漫画| 日韩视频欧美视频| 亚洲高清资源| 国产亚洲精品福利| 国产精品女人毛片| 欧美日本亚洲| 小黄鸭视频精品导航| 99视频热这里只有精品免费| 国产在线一区二区三区四区| 国产精品久久久久9999吃药| 久久久www成人免费无遮挡大片| 一区二区福利| 午夜精品短视频| 在线欧美日韩| 欧美r片在线| 久久久夜色精品亚洲| 亚洲欧美成人综合| 亚洲视频在线观看免费| 欧美激情一区二区三级高清视频| 久久福利影视| 欧美一区91| 欧美一区二区三区四区在线 | 国产偷国产偷亚洲高清97cao| 欧美性猛片xxxx免费看久爱| 欧美久久久久久| 欧美激情精品久久久六区热门| 美女视频一区免费观看| 久久久精品999| 久久久久久尹人网香蕉| 久久av二区| 久久国产综合精品| 久久米奇亚洲| 美女网站久久| 欧美激情2020午夜免费观看| 欧美黄色网络| 欧美日韩你懂的| 欧美日韩国产麻豆| 国产精品久久久久99| 国产精品国产三级国产aⅴ入口 | 久久se精品一区精品二区| 欧美伊人久久久久久午夜久久久久 | 99riav久久精品riav| 亚洲人成在线观看一区二区| 日韩西西人体444www| 亚洲五月六月| 久久久久国色av免费观看性色| 久久久久成人精品免费播放动漫| 久久久亚洲午夜电影| 欧美韩日视频| 中日韩高清电影网| 欧美一区二区三区播放老司机 | 午夜在线一区| 久久亚洲欧美| 欧美色另类天堂2015| 国产性猛交xxxx免费看久久| 在线欧美亚洲| 一区二区高清| 久久久国产成人精品| 最新国产の精品合集bt伙计| 一区二区三区蜜桃网| 久久久精品2019中文字幕神马| 欧美久久久久久蜜桃| 国产日韩精品在线| 亚洲精品一区二区在线观看| 亚洲欧美三级在线| 亚洲电影免费观看高清完整版在线| 夜色激情一区二区| 久久久久久久久久久久久女国产乱| 欧美激情综合色综合啪啪| 国产综合视频在线观看| 夜夜精品视频| 久久一区欧美| 亚洲一区二区三区影院| 免费中文字幕日韩欧美| 国产精品日韩欧美一区| 亚洲精品乱码久久久久久日本蜜臀| 午夜精品久久久久久久久久久| 欧美成人精品在线播放| 亚洲欧美成人精品| 欧美日韩免费一区| 亚洲国产精品一区二区www在线| 亚洲欧洲av一区二区| 亚洲人成在线影院| 久久综合五月天婷婷伊人| 国产日韩欧美自拍| 亚洲欧美日韩网| 亚洲美洲欧洲综合国产一区|