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

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性久久久久蜜臀aⅴ四虎| 欧美一区二区三区在线看| 国产中文一区二区三区| 裸体一区二区| 欧美人成在线| 亚洲欧美日韩在线不卡| 久久精品国产精品亚洲精品| 伊人狠狠色j香婷婷综合| 亚洲国产福利在线| 欧美三级视频在线观看| 久久精品国产77777蜜臀| 久久精品视频va| 日韩视频专区| 亚洲欧美日韩一区二区| 亚洲国产成人tv| 一本色道久久99精品综合| 国产亚洲成精品久久| 欧美激情久久久| 国产精品久久久久一区二区三区 | 伊人成年综合电影网| 亚洲国产精品一区| 国产乱码精品一区二区三区不卡| 久久一本综合频道| 欧美日韩久久| 久久亚洲高清| 国产精品白丝黑袜喷水久久久| 久久久久久9999| 欧美久久一区| 老巨人导航500精品| 欧美日韩黄视频| 美女脱光内衣内裤视频久久网站| 欧美日韩色一区| 欧美电影免费观看| 国产女优一区| 日韩午夜电影av| 亚洲激情社区| 性欧美8khd高清极品| 一本大道久久a久久精二百| 欧美亚洲尤物久久| 亚洲一本视频| 欧美日本免费| 欧美激情乱人伦| 黄色成人在线网址| 午夜综合激情| 午夜精品一区二区三区四区| 欧美日韩成人综合在线一区二区| 久久中文字幕一区二区三区| 国产欧美日韩另类视频免费观看| 亚洲精品一品区二品区三品区| 一区二区三区在线不卡| 欧美一区二区三区视频免费播放 | 国产一区美女| 亚洲一区中文| 亚洲欧美日韩国产中文在线| 欧美日本免费| 亚洲狼人精品一区二区三区| 亚洲高清视频一区二区| 久久免费国产精品| 久久综合久久综合九色| 韩日成人在线| 久久精品色图| 欧美波霸影院| 亚洲激情午夜| 欧美精品播放| 日韩亚洲欧美中文三级| 亚洲一区二区久久| 国产精品高潮视频| 亚洲欧美日韩一区二区在线| 欧美一区二区免费视频| 国产一区二区毛片| 久久免费视频一区| 亚洲黄色免费| 亚洲一区综合| 国产欧美日韩不卡| 久久久亚洲高清| 亚洲国产精品高清久久久| 亚洲人成网站色ww在线| 欧美四级伦理在线| 亚洲欧美日韩精品久久奇米色影视| 久久成年人视频| 1204国产成人精品视频| 欧美精品一区在线发布| 在线亚洲自拍| 美女精品在线观看| 日韩一二三区视频| 国产精品永久免费观看| 久久久久一区二区三区| 91久久精品国产91久久性色| 亚洲免费在线| 在线观看日韩av电影| 欧美日韩情趣电影| 欧美与欧洲交xxxx免费观看| 亚洲大片av| 欧美伊人久久| 亚洲人成啪啪网站| 国产女主播一区二区| 欧美成人蜜桃| 亚洲欧美另类在线| 最新国产乱人伦偷精品免费网站| 亚洲综合不卡| 亚洲黄网站黄| 国产麻豆日韩| 欧美日韩情趣电影| 久久婷婷蜜乳一本欲蜜臀| 夜久久久久久| 免费中文日韩| 欧美一区激情视频在线观看| 91久久中文字幕| 国产手机视频一区二区| 欧美日韩成人一区| 久热这里只精品99re8久| 亚洲午夜在线视频| 亚洲精品乱码久久久久久按摩观| 欧美在线www| 亚洲视频香蕉人妖| 亚洲国产视频直播| 国内精品国产成人| 国产精品亚洲综合天堂夜夜| 欧美金8天国| 免费视频久久| 久久精品中文字幕免费mv| 亚洲午夜日本在线观看| 亚洲精品一区二区三区四区高清| 免费视频一区二区三区在线观看| 欧美在线观看视频在线| 亚洲一区二区三区四区在线观看 | 国产精品久久久久久久久果冻传媒| 久久综合伊人77777蜜臀| 久久精品99久久香蕉国产色戒| 一区二区成人精品| 亚洲精品小视频| 亚洲国产日韩欧美一区二区三区| 久热re这里精品视频在线6| 久久久xxx| 久久久久中文| 久久久久久69| 蜜乳av另类精品一区二区| 久热精品在线| 欧美成人一区二区| 欧美激情第三页| 亚洲国产成人在线| 亚洲国产欧美不卡在线观看| 最新日韩在线| 日韩手机在线导航| 一本一道久久综合狠狠老精东影业| 91久久精品一区二区三区| 亚洲精品国产无天堂网2021| 最新成人在线| 亚洲视频第一页| 亚洲性xxxx| 欧美一级二级三级蜜桃| 久久精品女人| 米奇777在线欧美播放| 欧美激情a∨在线视频播放| 欧美日产在线观看| 国产精品另类一区| 国产一区二区高清不卡| 亚洲高清免费视频| 99视频一区二区| 亚洲欧美成人在线| 久久综合色综合88| 亚洲国产成人av| 99人久久精品视频最新地址| 亚洲永久免费视频| 久久夜色精品国产欧美乱极品| 欧美不卡视频一区发布| 国产精品国产三级国产普通话三级| 国产精品手机视频| 在线成人www免费观看视频| 99re8这里有精品热视频免费| 亚洲一级片在线看| 噜噜噜噜噜久久久久久91| 亚洲精品久久久久| 欧美亚洲视频| 欧美日韩三区四区| 狠狠色丁香久久婷婷综合_中| 亚洲精品永久免费| 久久精品在线| 99热在线精品观看| 久久日韩粉嫩一区二区三区 | 亚洲欧美激情视频| 欧美激情精品久久久久| 国产视频一区在线| 99精品久久久| 另类春色校园亚洲| 中文日韩电影网站| 欧美国产一区二区三区激情无套| 国产精品久久久久影院亚瑟 | 国产伦精品一区二区三区| 亚洲人www| 久久中文久久字幕| 亚洲一区二区视频在线观看| 欧美成人在线网站| 在线看成人片| 久久精品最新地址| 亚洲一区二区不卡免费| 欧美精品尤物在线| 亚洲精品国产品国语在线app |