0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

Embed Size (px)

Citation preview

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    1/140

    PDS Eden InterfaceReference Guide - Volume 1:Piping

    Document Number Version Date Pages

    DPDS3-PB-200013A PDS 7.1 April 2002 1-140

    DPDS3-PB-200013B PDS 7.3 October 2004 Cover/Notice

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    2/140

    CopyrightCopyright 1984-2004 Intergraph Corporation. All Rights Reserved.

    Including software, file formats, and audiovisual displays; may be used pursuant to

    applicable software license agreement; contains confidential and proprietary information

    of Intergraph and/or third parties which is protected by copyright law, trade secret law,

    and international treaty, and may not be provided or otherwise made available withoutproper authorization.

    Restricted Rights LegendUse, duplication, or disclosure by the Government is subject to restrictions as set forth insubparagraph (c) of the Contractor Rights in Technical Data clause at DFARS 252.227-

    7013, subparagraph (b) of the Rights in Computer Software or Computer Software

    Documentation clause at DFARS 252.227-7014, subparagraphs (b)(1) and (2) of theLicense clause at DFARS 252.227-7015, or subparagraphs (c) (1) and (2) of Commercial

    Computer Software---Restricted Rights at 48 CFR 52.227-19, as applicable.

    Unpublished---rights reserved under the copyright laws of the United States.

    Intergraph Corporation

    Huntsville, Alabama 35894-0001

    Warranties and LiabilitiesAll warranties given by Intergraph Corporation about equipment or software are set forthin your purchase contract, and nothing stated in, or implied by, this document or its

    contents shall be considered or deemed a modification or amendment of such warranties.

    Intergraph believes the information in this publication is accurate as of its publicationdate.

    The information and the software discussed in this document are subject to change

    without notice and are subject to applicable technical product descriptions. IntergraphCorporation is not responsible for any error that may appear in this document.

    The software discussed in this document is furnished under a license and may be used or

    copied only in accordance with the terms of this license.

    No responsibility is assumed by Intergraph for the use or reliability of software on

    equipment that is not supplied by Intergraph or its affiliated companies. THE USER OFTHE SOFTWARE IS EXPECTED TO MAKE THE FINAL EVALUATION AS TO

    THE USEFULNESS OF THE SOFTWARE IN HIS OWN ENVIRONMENT.

    TrademarksIntergraph, the Intergraph logo, SmartSketch, FrameWorks, SmartPlant, INtools,MARIAN, and PDS are registered trademarks of Intergraph Corporation. Microsoft and

    Windows are registered trademarks of Microsoft Corporation. MicroStation is a

    registered trademark of Bentley Systems, Inc. ISOGEN is a registered trademark of Alias

    Limited. Other brands and product names are trademarks of their respective owners.

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    3/140

    If You Need Assistance________________

    If You Need Assistance

    Intergraph Online

    Our web site brings you fast, convenient, up-to-the-minute information about Intergraphsproducts, services, and direction. Our web address is: http://www.intergraph.com.

    Support

    For the lasest Support Services information, use a World Wide Web browser to connect to

    http://www.intergraph.com/ppo/services/support.asp.

    If you are outside of the United States, please call your local Intergraph office. The most up-

    to-date list of international offices and distributors is available on the web at

    http://www.intergraph.com.

    Intergraph Directory

    The following numbers are only valid in the United States unless otherwise indicated. If you

    are outside the United States, please call your local Intergraph office.

    Intergraph General Information

    All countries 1-256-730-2000

    Training Registration

    1-800-766-7701 (U.S. Only)

    1-256-730-5400 (Outside the U.S.)

    Mailing Address

    Intergraph Process, Power & Offshore

    300 Intergraph Way

    Madison, Alabama 35758U.S.A.

    You can also reach us by electronic mail at [email protected].

    3

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    4/140

    ________________

    Documentation Contacts

    We are constantly working on updates and improvements to the documents and other

    educational media. If you have any suggestions on where we can improve the documentation

    or where you think more information is needed, let us know. You can reach us by:

    Mail Intergraph Process, Power & OffshoreDocumentation Manager

    300 Intergraph Way

    Madison, AL 35758

    4

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    5/140

    Table of Contents________________

    Table of Contents

    If You Need Assistance ........................................................................................................ 3

    Intergraph Directory ............................................................................................................. 3

    General Conventions .................................................................................................................... 9

    Keyboard Conventions ......................................................................................................... 10

    Terminology ......................................................................................................................... 11

    1. The Eden Basics ........................................................................................................................... 13

    Graphic Commodity Data ............................................................................................................ 15

    Graphic Commodity Library ........................................................................................................ 16

    Physical Data Tables .................................................................................................................... 18

    Data Retrieval from the Physical Data Library .................................................................... 19

    Example of Physical Data Look-Up ..................................................................................... 19

    2. Component Placement Example .................................................................................................. 21

    Eden Modules .............................................................................................................................. 21

    Symbol Processors ................................................................................................................ 23

    Sub-Symbol Processor .......................................................................................................... 25

    Physical Data Definitions ..................................................................................................... 26

    Parametric Shape Definitions ............................................................................................... 30

    Forms Interface ............................................................................................................................ 33

    Notes for Graphic Commodity Data ............................................................................................ 34

    Connect Point Data ............................................................................................................... 34

    Bends and Branches .............................................................................................................. 35

    Bolts, Gaskets, and Flanges .................................................................................................. 36

    Pipe, Tubing, and Hose ......................................................................................................... 37

    3. Eden Language Structure ............................................................................................................. 39

    Beginning Statements .................................................................................................................. 40

    Ending Statements ....................................................................................................................... 40

    Variables ...................................................................................................................................... 41

    Common Keywords ..................................................................................................................... 47

    Comments .................................................................................................................................... 50Operators ...................................................................................................................................... 51

    Expressions .................................................................................................................................. 53

    Functions ...................................................................................................................................... 56

    Primitives ..................................................................................................................................... 57

    5

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    6/140

    PDS Eden for Piping - April 2002________________

    Convert NPD to Subunits ..................................................................................................... 57

    Define Active Orientation ..................................................................................................... 58

    Draw Cone ............................................................................................................................ 60

    Draw Cylinder ...................................................................................................................... 61

    Draw Eccentric Cone ............................................................................................................ 62

    Draw Projected Rectangle .................................................................................................... 63

    Draw Projected Triangle ....................................................................................................... 64

    Draw Semi-Ellipsoid ............................................................................................................ 65Draw Sphere ......................................................................................................................... 66

    Draw Torus ........................................................................................................................... 67

    Assign Connect Point ........................................................................................................... 68

    Assign Generic Tap .............................................................................................................. 69

    Assign Tap ............................................................................................................................ 70

    Compute Perpendicular Vector ............................................................................................. 71

    Define Connect Point Geometry ........................................................................................... 72

    Display Tutorial .................................................................................................................... 73

    Draw Cone With Capped Ends ............................................................................................. 74

    Draw Cylinder With Capped Ends ....................................................................................... 75

    Draw Eccentric Cone With Capped Ends ............................................................................. 76

    Draw Hexagon ...................................................................................................................... 77

    Draw Mitered Torus .............................................................................................................. 78

    Draw Octagon ....................................................................................................................... 79

    Draw Parametric Shape ........................................................................................................ 80

    Draw Torus with Capped Ends ............................................................................................. 81

    Get Physical Data ................................................................................................................. 82

    Move Along Axis ................................................................................................................. 83

    Move By Distance ................................................................................................................ 84

    Move To Connect Point ........................................................................................................ 85

    Place COG Location ............................................................................................................. 86

    Place Connect Point .............................................................................................................. 87

    Prompt to Orient Operator .................................................................................................... 88

    Read Table ............................................................................................................................ 89

    Rotate Orientation ................................................................................................................. 90

    Connect Point Geometry .............................................................................................................. 91

    4. Creating a New Piping Component .............................................................................................. 97

    Eden Setup ................................................................................................................................... 97

    Reference Database Management Data ................................................................................ 100

    Default Project Control Data ................................................................................................ 103

    Extracting Sample Modules ......................................................................................................... 105

    Editing Modules ........................................................................................................................... 108

    Compiling New Modules ............................................................................................................. 109Revising Modules ........................................................................................................................ 110

    Basic Use of Forms ...................................................................................................................... 111

    Piping Specialty Components ...................................................................................................... 113

    6

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    7/140

    Table of Contents________________

    Appendix A: EDEN Error Messages ............................................................................................... 125

    Glossary ............................................................................................................................................... 129

    Index .................................................................................................................................................... 137

    7

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    8/140

    PDS Eden for Piping - April 2002________________

    8

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    9/140

    Table of Contents________________

    General Conventions

    This document contains many visual cues to help you understand the meaning of certain

    words or phrases. The use of different fonts for different types of information allows you to

    scan the document for key concepts or commands. Symbols help abbreviate and identify

    commonly used words, phrases, or groups of related information.

    Typefaces

    Italic Indicates a system response, which is an explanation of what the software is

    doing. For example,

    The text is placed in the viewing plane.

    Bold Indicates a command name, parameter name, or dialog box title. Command

    paths are shown using an arrow between command names. For example,

    Choose File > Open to load a new file.

    Sans serif Indicates a system prompt or message, which requires an action be taken by

    the user. For example,

    Select first segment of alignment

    Bold Typewriter

    Indicates what you should literally type in. For example,

    Key in original.dat to load the ASCII file.

    Normal TypewriterIndicates an actual file or directory name. For example,

    The ASCII report is stored in the layout.rptfile.

    9

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    10/140

    PDS Eden for Piping - April 2002________________

    Symbols

    This document uses the following symbols to represent mouse buttons and to identify special

    information:

    Command button

    Data button (usually the left mouse button) Reset/reject button (usually the right mouse button)

    Tentative button (usually the center mouse button)

    Note Important supplemental information.

    Warning Critical information that could cause the loss of data if not followed.

    Technical tip or information provides information on what the software isdoing or how it processes information.

    Map or path shows you how to get to a specific command or form.

    More information indicates there is additional or related information.

    Need a hint used with activities and labs, provides a tip or hint for doing the

    exercises.

    Keyboard Conventions

    The following list outlines the abbreviations this document uses for keyboard keys and

    describes how to use them in combination. You can make some menu selections through the

    use of keyboard accelerators, which map menu selections to key combinations.

    ALT Alternate key

    CTRL Control key

    DEL Delete key

    ENTER Enter keyESC Escape key

    CTRL+z To hold down the Control key and press Z.

    ESC,k To press the Escape key, then K.

    10

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    11/140

    Table of Contents________________

    Terminology

    Click To use a mouse or key combination to pick an item that begins an

    action. For example,

    ClickApply to save the changes.

    Select To mark an item by highlighting it with key combinations or by picking

    it with your cursor. Selecting does notinitiate an action. After

    selecting an item, you clickthe action you want to affect the item. For

    example,

    Select the file original.dat from the list box, then clickDelete to

    remove it from the directory.

    In addition, you would selectitems to define parameters, such as

    selecting toggle buttons. This also applies to selecting graphic

    elements from the design file. For example,

    Select the line string to define the graphic template.

    Tentative-select To place a tentative point on an existing graphic element in a design

    file. If you are using the CLIX operating system, you tentative-select

    by double-clicking with a mouse or pressing on a hand-held

    cursor. If you are using the Windows NT operating system, you

    tentative-select by pressing a left-button, right-button chord.

    Double-click To select and execute a command by clicking the mouse or hand-held

    cursor button twice in rapid succession. This term implies that you are

    clicking the data button () as part of a menu or dialog box action.

    For example,

    Double-click on the file original.dat to load it into the new surface.

    Drag To press and hold the data button () while moving the mouse or

    hand-held cursor.

    Type To key a character string into a text box.

    Key in To type in data and press ENTER to enter the data and execute the

    default action.

    In a dialog box, pressing TAB after keying in data will

    enter the data and move the cursor to the next field.

    11

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    12/140

    PDS Eden for Piping - April 2002________________

    12

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    13/140

    1.Intro

    The Eden Basics________________

    1. The Eden Basics

    Eden is a high-level symbol definition language modeled on the FORTRAN programming language. The Eden

    language syntax is not case sensitive, except for module names, which are upper case. You can write code with

    whatever case conventions make it easiest for you to read.

    Eden allows you to design your own symbols for piping, instrumentation, specialty items, and equipment.

    While you do not need a programming background to write Eden programs, any programming experience is

    highly recommended. You also need to be familiar with an ASCII text editor, such as vi, emacs, or Notepad.

    Most of the symbol definition functions are built into Edens command structure. This high-level command

    structure makes it easier to share code among several symbol definitions. For example, when designing a gate

    valve, the symbol definitions:

    GATSP short pattern gate valve

    GAT long pattern, bolted or male ends gate valve

    GATF regular pattern, female ends, full port gate valve

    GATR regular pattern, female ends, reduced port gate valve

    identify four specifically unique gate valves; however, each of these valves refer to the same

    Primary physical data module (V1_AMS), which defines the specific dimensions and physical properties

    of a gate valves.

    Generic physical data module (VALVE_2_AMS), which defines flange thickness, gasket separation, and

    outside separation.

    Model graphic (V1).

    By sharing these modules, you will not fill up valuable disk space with redundant data, which can also increase

    valuable processing time.

    Eden is flexible enough to allow you to design codes specific to your companys needs, yet offers predefined

    subroutines, called primitives, which carry out functions often repeated within symbol definitions.

    13

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    14/140

    PDS Eden for Piping - April 2002________________

    For example, the following primitive draws a cone with a length of X units, a diameter at the active point (first

    end) of Y units, and a diameter at the opposite end of Z units.

    Call Draw_Cone (X, Y, Z)

    The output produced will look similar to the following graphic:

    You can call up to five nested subroutines within a program.

    14

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    15/140

    1.Intro

    Graphic Commodity Data________________

    Graphic Commodity Data

    The graphic commodity data is contained in the following object libraries:

    Graphic Commodity Library The delivered file \pdshell\lib\pip_gcom.l contains parametric

    definitions for the components.

    Physical Data (Dimensions) Library The delivered file \rdusrdb\us_pcdim.l contains American

    dimension data for components.

    Piping Job Specification Table Library The delivered file \rdusrdb\us_pjstb.l contains specification

    tables referenced in the Piping Job Specification. See the Piping Job Specification section in the

    Reference Data Manager Reference Guide for more information.

    Refer to Reference Data Overview section in the Reference Data Manager Reference Guide for more

    information.

    When you select a component for placement in the model, the system

    Uses the active parameters (such as piping materials class and nominal diameter) to search the Piping Job

    Specification (PJS) for the selected item name. If the selected item is found in the PJS database, the

    system reads the PJS for the parameters required to place the component. Included in this information is

    the model code (or specialty item number) for the selected component and the names of the spec tables

    defined for the Piping Materials Class.

    Uses the model code (or specialty item number), derived from the PJS, to access the graphic commodity

    library. The definitions in the graphic commodity library determine the physical tables required to place

    the component and call the tables in the physical commodity library.

    Places the symbol graphics in the model design file and writes the nongraphic information for the

    component in the database.

    This section describes the graphic commodity data used in placing components in the piping model. Refer to

    the Piping Design Graphics Reference Guide for a detailed description of the actual placement process.

    15

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    16/140

    PDS Eden for Piping - April 2002________________

    Graphic Commodity Library

    The Graphic Commodity Library (GCL) provides data for commodity items, engineered items, and instruments.

    It is basically a catalog of component data which is accessed to

    Determine physical data based on user specifications (such as NPD and end preparation)

    Assign connect point data from the Piping Job Specification

    Define the parametric shape for the model graphics. The Graphic Commodity Library includes data

    required for model creation, resymbolization for model presentation, interference detection, and any

    special functions of the Piping Job Specification, piping industry standards, or company design practices.

    PDS Piping uses the Eden Parametric Language to define and place components, specialty items, operators, and

    envelopes. Eden is a high level language (similar to FORTRAN) which uses information from the Piping Job

    Specification and model to access parametric and dimensional data.

    Eden is composed of three major modules.

    1. Symbol Processors and Sub-Symbol Processors

    2. Physical Data Subroutines

    3. Parametric Shape Definitions

    These modules are designed to carry out two functions: data definition and graphic presentation.

    The data associated with these modules is delivered in the following files:

    \pdshell\lib\pip_gcom.l object library

    \pdshell\lib\pip_gcom.l.t text library

    The modular approach provides for more efficient storage of information in these libraries by enabling common

    information to be shared by different symbols.

    The first line of each Eden module defines the type of module (such as symbol processor) and the module name.

    This statement determines a two-character category code to be prefixed to the module name in the object

    library. This prefix is only used by the system; it should not be keyed in as part of the module name.

    16

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    17/140

    1.Intro

    Graphic Commodity Library________________

    Eden Module Relationships

    The entries in the library use the following prefixes to identify the type of data:

    SP Symbol Processor

    PD Physical Data Definition Module

    MG Model Parametric Shape Definition Module

    IG Interference Envelope Parametric Shape Definition Module

    SS Sub-Symbol Processor Module

    Each module must be given a unique name within the graphic commodity library.

    17

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    18/140

    PDS Eden for Piping - April 2002________________

    Physical Data Tables

    The physical data tables contain the physical data (dimensions, weights, and surface area) required for symbol

    creation, interference detection, stress analysis, and MTO reporting. These tables are segregated for commodity

    item data, engineered item data, and instrument data. Refer to the Reference Data Manager Reference Guide

    for a detailed description of the physical data tables and the table naming conventions used in PDS.

    The physical data tables for US Practice are delivered in the following files:

    \rdusrdb\us_pcdim.l object library

    \rdusrdb\us_pcdim.l.t text library

    \rdusrdb\us_pcdim.l.r revision library

    These libraries contain physical data for American standards. The physical data can be stored in one of ten

    physical data libraries. The system uses the geometric industry standard for a particular commodity item (or

    specialty item) to determine which library to reference for the physical data tables.

    Geometric industry standard is expressed as a code list value from Standard Note Type 575. Code list numbers

    2-6999 are reserved for standards that apply to American piping practices. Code list numbers 7000-27999 arereserved for standards that apply to European piping practices. Numbers 28000-31999 are reserved for specific

    company practices.

    By segregating data into separate physical data libraries, you can access a subset of the total physical data

    available for a project. You can also build a specific set of physical data for a particular project. The following

    table types are required for piping and instrument components:

    Generic dimensional data

    Generic tables contain data that is not specific to a particular symbol (such as flange outside diameter or

    flange thickness). These tables are identified by the prefix BLT, FEM, or MAL (for the termination type)

    and end with the extension .TBL (the table name is independent of the name of the physical data module).

    Specific commodity data

    Specific tables contain commodity data that is specific to a particular component (such as dimensions,

    water weight, and surface area). These specific tables use the model code or commodity code as part of

    the table name to classify data by symbol type.

    The system uses the water weight data to compute the wet weight using the specific gravity of the

    operating fluid.

    fluid weight = water weight * specific gravity for fluid

    operating weight = dry weight + fluid weight

    The surface area data enables the system to perform paint requirement calculations and insulation

    weight calculations.

    18

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    19/140

    1.Intro

    Physical Data Tables________________

    Specific commodity dry weight data

    Piping Specialty physical data

    The dimensions, dry weight, water weight, and surface area for specialty items can be stored in a set of

    tables or defined at placement.

    Instrument physical data

    The dimensional data, dry weight, water weight, and surface area for instruments can be stored in a set of

    tables or defined at placement.

    You can form the name of a physical data table from attributes for the component (such as geometry standard

    and end preparation). However, the table name cannot exceed 46 characters.

    Data Retrieval from the Physical Data Library

    The data retrieval from tables in the Physical Data Library is restricted to two independent variables and eight

    dependent variables. If only one independent variable is required, then nine dependent variables are allowed. Ifmore independent variables are required, the additional independent variable(s) must be a part of the table name.

    If nominal diameter is one of the independent variables, it must be listed first in the table.

    Example of Physical Data Look-Up

    In order to place the valve described earlier in this section, the system references the following tables:

    Generic Tables

    The spec access for a six-inch gate valve defines the end preparation at both connect points as Raised Face

    Flanged End (code list value 21), which is a bolted connection. As shown in the listing for VALVE_2_AMS,

    the table name for a bolted connection on a two-connect point valve is

    table_name= BLT // Term_Type_1 // Pr_Rating_1 // Gen_Flag_Green

    Using the values from the Piping Job Specification (PMC=1C0031, Item Name=6Q1C01), the actual table name

    will be

    BLT_20_150_5

    This table returns the outside diameter, flange thickness, and the seating depth for each end of the valve. Note

    that the termination type (20) is used rather than the actual end preparation value (21).

    19

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    20/140

    PDS Eden for Piping - April 2002________________

    Specific Tables

    The specific tables are used to define the main body of the valve. Refer to the Table Requirementsection in the

    Reference Data Manager Reference Guide for an outline of the types of tables that are required to place a valve.

    Since the termination type is the same at both ends of the valve (bolted), no red connect point data is required.

    The required tables are found by referring to the Bolted(G) termination type.

    MC_GS_Term(G)_Rat(G)_A (P15A).

    MC_GS_Term(G)_Rat(G)_B (P15B) This table is only required if more than eight outputs are

    necessary to define a commodity item.

    Commodity Code (P59).

    Using this information, the dimension tables for a 6" gate valve are:

    GAT_40_20_150_A

    This table returns the face-to-center dimension for the valve. Table P15B is not required for a gate valve.

    VAABAHCCAA

    This table returns the empty weight of the valve, including the weight of the operator.

    If the end preparations were different at each end of the valve (such as female threaded by socket welded), then

    a different set of tables would be required.

    An additional table look-up is required to access the dimensional data for the valve operator. The following

    table is required to define the valve operator:

    MC_Type(G)_Rat(G)_Op_A (P31A)

    Using this table name format, the dimension table for a handwheel operator on a 6" gate valve is:

    GAT_BLT_150_3_A

    This table returns the stem length and the wheel diameter for the handwheel operator.

    20

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    21/140

    2.Placement

    Component Placement Example________________

    2. Component Placement Example

    This section provides a step-by-step example of how PDS uses Eden and the information in the physical

    dimension tables to place components in a model.

    Eden Modules

    Eden is composed of three major modules:

    1. Symbol Processors Sub-Symbol Processors

    2. Physical Data Subroutines

    3. Parametric Shape Definitions

    These modules are designed to carry out two functions: data definition and graphic presentation.

    The data associated with these modules is delivered in the following files:

    \pdshell\lib\pip_gcom.l object library

    \pdshell\lib\pip_gcom.l.t text library

    The modular approach provides for more efficient storage of information in these libraries by enabling common

    information to be shared by different symbols.

    21

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    22/140

    PDS Eden for Piping - April 2002________________

    The following graphic illustrates the relationship among these modules:

    Eden Module Relationships

    The first line of each Eden module defines the type of module (such as symbol processor) and the module name.

    This statement determines a two-character category code to be prefixed to the module name in the object

    library. This prefix is only used by the system; it should not be keyed in as part of the module name.

    The entries in the library use the following prefixes to identify the type of data:

    SP Symbol Processor

    PD Physical Data Definition Module

    UF User Function Module

    MG Model Parametric Shape Definition Module

    IG Interference Envelope Parametric Shape Definition Module

    SS Sub-Symbol Processor Module

    Each module must be given a unique name within the graphic commodity library.

    22

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    23/140

    2.Placement

    Symbol Processors________________

    Symbol Processors

    A symbol processor is the controlling function or logic used to produce the graphics for a commodity item,

    piping specialty, instrument, pipe support, or interference envelope. During component placement, the symbol

    processor

    Accesses the active component design parameters

    Assigns connect points

    Calls the required physical data modules

    Determines and calls the required parametric shape modules.

    The system retrieves the active component parameters which are dependent upon a connect point from the PJS

    in terms of green, red, or tap connect point properties. The symbol definition assigns the data corresponding to

    these connect point types (green, red, or tap) to the physical connect point numbers (CP1, CP2, CP3, CP4, or

    CP5).

    The first line of the Eden module defines the type of module and the module name. The following statement is

    used in the Eden modules to indicate a symbol processor module.

    Symbol_Processor MODULE NAME

    This statement tells the system to use the category code SP for the prefix. You should use the following

    conventions in assigning the module name (the module name must be in UPPER CASE). The module name is

    determined by the type of component being placed (commodity item or specialty item).

    For a commodity item, the system searches for the New Item Name (model code) of the commodity item

    as the module name. If the New Item Name is blank in the Commodity Item entity, the system searches

    for the Item Name as the module name.

    For a specialty item, the system searches for the specialty item name (derived from the PJS) as the

    module name.

    For an instrument, the system searches for the instrument name (derived from the PJS) as the module

    name.

    The delivered symbol processors are identified in the library with the prefix SP.

    The following lists the symbol processor SPGAT, which is used to control the placement of a gate valve.

    23

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    24/140

    PDS Eden for Piping - April 2002________________! REGULAR PATTERN, BOLTED OR MALE ENDS GATE VALVESymbol_Processor GAT

    Call Assign_Connect_Point ( GREEN, CP1 )Call Assign_Connect_Point ( RED, CP2 )

    physical_data_source = V1 // Standard_TypeCall Get_Physical_Data ( physical_data_source )

    parametric_shape = V1Call Draw_Parametric_Shape ( parametric_shape )

    Valve_Operator = DABS ( Valve_Operator )If ( Valve_Operator .NE. 0 ) ThenIf ( Valve_Operator .LT. 1000 ) Then

    Subcomponent = OP // Valve_OperatorElse

    Subcomponent = A // Valve_OperatorEndIfOperator_Orient = FALSE

    EndIfStopEnd

    Listing for Symbol Processor SPGAT

    24

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    25/140

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    26/140

    PDS Eden for Piping - April 2002________________

    Physical Data Definitions

    The system uses the physical data definitions to determine the dimension data, weight data, and surface area

    data using the active design parameters. Physical data modules are identified by the statement

    Physical_Data_Definition MODULE NAME

    as the first line in the Eden module. This statement tells the system to use the category code PD for the prefix.

    This prefix is only used by the system; it should not be keyed in as part of the module name.

    The module name for a physical data module consists of a symbol type (such as V1, V2,... for valves) and a

    generic type of geometric industry standard (such as AMS or DIN). You can define multiple physical data

    modules for the same symbol depending on the type of standard being referenced (for example, V1_AMS for

    American standards and V1_DIN for European standards).

    You can manage ten different sets of logic for table naming conventions for the following industry practices.

    The corresponding table suffix ranges and the suffix for the Piping Eden physical data modules are indicated

    below.

    Practice Range Suffix

    U.S. Practice 1-99 AMS

    European - DIN 100-199 DIN

    European - British Standard 200-299 BRITISH_STD

    European - Practice A 300-399 EURO_A

    International - JIS 400-499 JIS

    International - Australian 500-599 AUS

    European - Practice B 600-699 EURO_B

    International - Practice A 700-799 INT_A

    International - Practice B 800-899 INT_B

    Company Practice 900-999 COMPANY

    The table suffix standard for a component is defined in the Piping Commodity Data table of the MaterialReference Database. Each component must be assigned a geometric industry standard if it is to use physical

    data tables.

    For most of the delivered symbols, the physical data modules are classified into two categories: specific and

    generic. The specific physical data module is called by the symbol processor. This module then calls a generic

    physical data module.

    Specific Physical Data Modules

    The physical data module PDV1_AMS determines the specific dimensions (face-to-center and face-to-face) and

    other physical properties for a gate valve. This is the module called by the symbol processor SP_GAT.

    Physical_Data_Definition V1_AMSphysical_data_source = VALVE_2_AMS

    Call Get_Physical_Data ( physical_data_source )Call Read_Table ( Table_Name_A, input, output )

    Surface_Area = Output_1Wet_Weight = Output_2

    26

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    27/140

    2.Placement

    Physical Data Definitions________________

    F_to_C_Dim_1 = Output_3If ( Term_Type_1 .EQ. Term_Type_2 ) Then

    F_to_C_Dim_2 = F_to_C_Dim_1Else

    F_to_C_Dim_2 = Output_4EndIf

    F_to_F_Dim = F_to_C_Dim_1 + F_to_C_Dim_2If ( Valve_Operator .LE. 24.0 ) Then

    Call Read_Table ( Table_Name_W, input, output )Dry_Weight = Output_1EndIf

    ReturnEnd

    Listing for Physical Data Module PDV1_AMS

    Generic Physical Data Modules

    The generic modules contain information that is common to more than one symbol, such as flange thickness,

    gasket separation, and outside diameter. The physical data module V1_AMS calls another physical data moduleVALVE_2_AMS which contains the generic dimension data for all valves with two connect points.

    Physical_Data_Definition VALVE_2_AMS

    Input_1 = Nom_Pipe_D_1

    If ( Gen_Type_1 .EQ. BOLTED ) Then

    table_name = BLT // Term_Type_1 // Pr_Rating_1 // Gen_Flag_Green

    Call Read_Table ( table_name, input, output )

    Facing_OD_1 = Output_1

    Thickness_1 = Output_2

    Seat_Depth_1 = Output_3

    Thickness_1 = Thickness_1 - Seat_Depth_1

    CP_Offset_1 = Gasket_Sep_1

    If ( Symbology .EQ. MODEL ) Then

    Thickness_1 = 0.0

    Depth_1 = 0.0

    Pipe_OD_1 = 0.0

    Body_OD_1 = Facing_OD_1

    Elsetable_name = MAL_300_5

    Depth_1 = Thickness_1

    Input_1 = Nom_Pipe_D_1

    Call Read_Table ( table_name, input, output )

    Pipe_OD_1 = Output_2

    Body_OD_1 = Pipe_OD_1

    EndIf

    Else

    If ( Gen_Type_1 .EQ. MALE ) Then

    table_name = MAL // Term_Type_1 // Gen_Flag_Green

    Call Read_Table ( table_name, input, output )

    Facing_OD_1 = Output_2

    Thickness_1 = 0.0

    Depth_1 = 0.0

    Seat_Depth_1 = 0.0

    CP_Offset_1 = 0.0

    Pipe_OD_1 = Facing_OD_1

    Body_OD_1 = Facing_OD_1

    Elsetable_name = FEM // Term_Type_1 // Pr_Rating_1 // Gen_Flag_Green

    Call Read_Table ( table_name, input, output )

    Facing_OD_1 = Output_1

    Depth_1 = Output_2

    Seat_Depth_1 = 0.0

    Thickness_1 = 0.0

    27

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    28/140

    PDS Eden for Piping - April 2002________________

    If ( symbology .EQ. MODEL ) Then

    Depth_1 = 0.0

    CP_Offset_1 = 0.0

    Pipe_OD_1 = 0.0

    Body_OD_1 = Facing_OD_1

    Else

    CP_Offset_1 = -Depth_1

    table_name = MAL_300_5

    Call Read_Table ( table_name, input, output )

    Pipe_OD_1 = Output_2

    Body_OD_1 = Pipe_OD_1

    EndIf

    EndIf

    EndIf

    If ( Term_Type_2 .EQ. Term_Type_1 .AND. Nom_Pipe_D_1 .EQ. Nom_Pipe_D_2 )

    Then

    Facing_OD_2 = Facing_OD_1

    Pipe_OD_2 = Pipe_OD_1

    Body_OD_2 = Body_OD_1

    Thickness_2 = Thickness_1

    Depth_2 = Depth_1

    Seat_depth_2 = Seat_Depth_1

    CP_Offset_2 = CP_Offset_1

    Else

    Input_1 = Nom_Pipe_D_2

    If ( Gen_Type_2 .EQ. BOLTED ) Then

    table_name = BLT // Term_Type_2 // Pr_Rating_2 // Gen_Flag_Red

    Call Read_Table ( table_name, input, output )

    Facing_OD_2 = Output_1

    Thickness_2 = Output_2

    Seat_Depth_2 = Output_3

    Thickness_2 = Thickness_2 - Seat_Depth_2

    CP_Offset_2 = Gasket_Sep_2

    If ( Symbology .EQ. MODEL ) Then

    Thickness_2 = 0.0

    Depth_2 = 0.0

    Pipe_OD_2 = 0.0

    Body_OD_2 = Facing_OD_2

    Else

    Depth_2 = Thickness_2

    table_name = MAL_300_5

    Input_1 = Nom_Pipe_D_2

    Call Read_Table ( table_name, input, output )

    Pipe_OD_2 = Output_2

    Body_OD_2 = Pipe_OD_2

    EndIf

    Else

    If ( Gen_Type_2 .EQ. MALE ) Then

    table_name = MAL // Term_Type_2 // Gen_Flag_Red

    Call Read_Table ( table_name, input, output )

    Facing_OD_2 = Output_2

    Thickness_2 = 0.0

    Depth_2 = 0.0

    Seat_Depth_2 = 0.0

    CP_Offset_2 = 0.0

    Pipe_OD_2 = Facing_OD_2

    Body_OD_2 = Facing_OD_2

    Else

    table_name = FEM // Term_Type_2 // Pr_Rating_2 // Gen_Flag_Red

    Call Read_Table ( table_name, input, output )

    Facing_OD_2 = Output_1

    Depth_2 = Output_2

    Seat_Depth_2 = 0.0

    Thickness_2 = 0.0

    If ( Symbology .EQ. MODEL ) Then

    Depth_2 = 0.0

    CP_Offset_2 = 0.0

    Pipe_OD_2 = 0.0

    Body_OD_2 = Facing_OD_2

    Else

    CP_Offset_2 = -Depth_2

    table_name = MAL_300_5

    Input_1 = Nom_Pipe_D_2

    Call Read_Table ( table_name, input, output )

    Pipe_OD_2 = Output_2

    Body_OD_2 = Pipe_OD_2

    EndIf

    28

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    29/140

    2.Placement

    Physical Data Definitions________________

    EndIf

    EndIf

    EndIf

    Table_Name_A = Item_Name // Geo_Ind_Std // Term_Type_1

    Table_Name_W = Commodity_Code

    Input_1 = Nom_Pipe_D_1

    Input_2 = Nom_Pipe_D_2

    If ( Term_Type_1 .EQ. Term_Type_2 .AND. Nom_Pipe_D_1 .EQ. Nom_Pipe_D_2 )

    Then

    Table_Name_A = Table_Name_A // Pr_Rating_1 // A

    Else

    If ( Gen_Type_1 .EQ. Gen_Type_2 ) Then

    ! Male X Male or Bolted X Bolted

    ! or Female X Female

    Table_Name_A = Table_Name_A // Pr_Rating_1 // Term_Type_2 //

    Pr_Rating_2 // A

    Else

    If ( Gen_Type_1 .EQ. MALE ) Then

    ! Male X Bolted and Male X Female

    Table_Name_A = Table_Name_A // Term_Type_2 // Pr_Rating_2 // A

    Else

    If ( Gen_Type_2 .EQ. MALE ) Then

    ! Bolted X Male and Female X Male

    Table_Name_A = Table_Name_A // Pr_Rating_1 // Term_Type_2 //

    Else

    ! Bolted X Female and Female X

    Bolted

    Table_Name_A = Table_Name_A // Pr_Rating_1 // Term_Type_2 //

    Pr_Rating_2 // A

    EndIf

    EndIf

    EndIf

    EndIf

    Return

    End

    Listing for Physical Data Module PDVALVE_2_AMS

    Physical_Data_Definition OPERATOR_3Input_1 = Nom_Pipe_D_1If ( Gen_Type_1 .EQ. BOLTED ) Then

    Table_Name_A = Item_Name // BLT // Pr_Rating_1 // Valve_Operator // AElse

    If ( Gen_Type_1 .EQ. MALE ) ThenTable_Name_A = Item_Name // MAL // Pr_Rating_1 // Valve_Operator // AElse

    If ( Gen_Type_1 .EQ. FEMALE ) ThenTable_Name_A = Item_Name // FEM // Pr_Rating_1 // Valve_Operator // AEndIf

    EndIfEndIf

    Call Read_Table ( Table_Name_A, input, output )Dimension_1 = Output_1

    Dimension_2 = Output_2OP_Weight = 0.0

    ReturnEnd

    Listing for Physical Data Module OPERATOR_3

    29

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    30/140

    PDS Eden for Piping - April 2002________________

    Parametric Shape Definitions

    The parametric shape definition describes the graphics symbol (such as bend, flange, or valve body) that is

    placed for the component in the model.

    Parametric shape definitions are used to place symbol graphics in the model or define interference envelopes.

    This involves the following major functions:

    Defining connect point geometry

    Placing connect points

    Moving the active location a specified distance

    Drawing a specific graphic shape

    Placing a center of gravity location.

    Parametric shape definitions are divided into two basic types: model parametric shapes and interferenceenvelopes. The first line of the Eden module indicates the module type and the module name.

    Model Parametric Shape Definitions

    Model parametric shapes are used to define the symbol graphics to be placed in the model. For example, the

    parametric shape module for a valve consists of a cylinder, two cones, and a cylinder (flange, valve body,

    flange).

    The first line for these modules is of the form

    Model_Parametric_Shape_Definition MODULE NAME

    This statement tells the system to use the category code MG for the prefix. This prefix is only used by the

    system; it should not be keyed in as part of the module name.

    The module name for a parametric shape module consists of a symbol type (such as V1, V2,... for valves).

    The parametric shape module MGV1 determines the model graphics for a valve. This is the module called by

    the symbol processor SPGAT. The parametric shape module MGOP3 determines the model graphics for a

    handwheel operator. This is the module called by the sub-symbol processor SSOP_3.

    30

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    31/140

    2.Placement

    Parametric Shape Definitions________________Model_Parametric_Shape_Definition V1

    Call Define_Connect_Point_Geometry ( LINEAR )

    Call Place_Connect_Point ( CP1 )

    Call Move_By_Distance ( CP_Offset_1 )

    Call Draw_Cylinder_With_Capped_Ends ( Depth_1, Facing_OD_1 )

    length = F_to_C_Dim_1 - Thickness_1

    diameter = 0.0

    Call Draw_Cone ( length, Body_OD_1, diameter )

    Call Place_Connect_Point ( CP0 )

    Call Place_COG_Location ( DRY_COG )

    Call Place_COG_Location ( WET_COG )

    length = F_to_C_Dim_2 - Thickness_2

    Call Draw_Cone ( length, diameter, Body_OD_2 )

    Call Draw_Cylinder_With_Capped_Ends ( Depth_2, Facing_OD_2 )

    Call Move_By_Distance ( CP_offset_2 )

    Call Place_Connect_Point ( CP2 )

    Return

    End

    Listing for Parametric Shape Module MGV1

    Model_Parametric_Shape_Definition OP3

    Call Define_Connect_Point_Geometry ( OPERATOR )

    Call Convert_NPD_to_Subunits ( Nom_Pipe_D_1, dia )

    dist = dia + Min_Cyl_Dia * 0.5

    angle = 90.0

    radius = ( Dimension_2 - Min_Cyl_Dia ) * 0.5

    Call Draw_Cylinder_With_Capped_Ends ( Dimension_1, Min_Cyl_Dia )

    Call Move_by_Distance ( -dist )

    Call Rotate_Orientation ( angle, Secondary )

    Call Rotate_Orientation ( angle, Normal )

    Call Move_Along_Axis ( -radius, Secondary )

    Call Draw_Torus ( radius, angle, Min_Cyl_Dia )

    Call Draw_Torus ( radius, angle, Min_Cyl_Dia )

    Call Draw_Torus ( radius, angle, Min_Cyl_Dia )

    Call Draw_Torus ( radius, angle, Min_Cyl_Dia )

    Return

    End

    Listing for Parametric Shape Module MGOP3

    Interference Parametric Shape Definition

    Interference parametric shapes are not used during component placement. They are referenced during

    interference detection to determine the volume (interference envelope) to be compared for clashes with other

    elements. If a clash is detected during the interference detection process, the interference parametric shape is

    used to place an interference marker. Refer to the PDS Interference Checker/Manager (PD_Clash) Users

    Guide for more information on interference envelopes.

    Interference_Parametric_Shape_Definition MODULE NAME

    This statement tells the system to use the category code IG for the prefix.

    The module name for the interference parametric shape definition should be the same as the module name for

    the model parametric shape definition.

    31

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    32/140

    PDS Eden for Piping - April 2002________________

    If no interference module is found for a component, the system uses the model graphics module

    to determine the interference parametric shape.

    Interference_Parametric_Shape_Definition V1Call Define_Connect_Point_Geometry ( LINEAR )

    dist = 0.0If ( Gen_Type_1 .EQ. BOLTED ) Thenextra1 = CP_Offset_1Elseextra1 = 0.0dist = CP_Offset_1EndIf

    If ( Gen_Type_2 .EQ. BOLTED ) Thenextra2 = CP_Offset_2

    Elseextra2 = 0.0

    EndIfsec1 = Depth_1 + extra1

    sec2 = Depth_2 + extra2diameter1 = Facing_OD_1 + Insulation * 2.0diameter2 = Facing_OD_2 + Insulation * 2.0diameter3 = Body_OD_1 + Insulation * 2.0

    length = F_to_C_Dim_1 - Thickness_1 + F_to_C_Dim_2 - Thickness_2Call Move_By_Distance ( dist )

    If ( diameter1 .GE. diameter2 ) ThenCall Draw_Cylinder_With_Capped_Ends ( sec1+sec2+length, diameter1 )

    ElseCall Draw_Cylinder_With_Capped_Ends ( sec1+sec2+length, diameter2 )

    EndIfReturnEnd

    Listing for VI IFC

    Interference_Parametric_Shape_Definition OP3

    Call Define_Connect_Point_Geometry ( OPERATOR )Call Convert_NPD_to_Subunits ( Nom_Pipe_D_1, dia )dist = dia + Min_Dimension * 0.5

    Call Draw_Cone_With_Capped_Ends ( Dimension_1 - dia, 0.0, Dimension_2 )Call Draw_Cylinder_With_Capped_Ends ( dia, Dimension_2 )

    ReturnEnd

    Listing for OP3 IFC

    32

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    33/140

    2.Placement

    Forms Interface________________

    Forms Interface

    Forms in piping design serve to collect input via key-in fields or command buttons. They also provide feedback

    information to the user through message fields.

    The data gathered through the forms serves as the input that defines the values of the global variables used bythe Eden modules. When a new specialty item is defined through Eden a form specific to that item can be

    created using the Form Builder and Symbol Editor products, or the DBAccess product.

    33

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    34/140

    PDS Eden for Piping - April 2002________________

    Notes for Graphic Commodity Data

    Connect Point Data

    As described in the Piping Job Specification description, connect point information for commodity items,piping specialties, and instruments is classified in terms of green and red connect points. The following

    conventions are used to coordinate the two sets of data:

    For full-size components, data is only defined for the green connect point and applies to all ends of the

    component.

    For size change components, data for commodity items, speciality items, or instruments should be created

    with the green connect point representing the larger diameter (first size) of the component and the red

    connect point diameter representing the smaller diameter (second size).

    If the end preparation is different at each end of the component, the end preparation should be defined to

    match the required green and red connect points.

    If a component has ends with the same nominal diameter but other end properties that differ, the

    following rules apply:

    If the ends have different end preparations (regardless of the values for schedule/thickness) the end(s)

    whose end preparations have the lowest code list number are designated as the green connect point.

    If the end preparations are the same but the values for rating, schedule, or thickness differ, the

    "stronger" end(s) are designated as the green connect point.

    Schedule or thickness values should be defined for all applicable components. Refer to the PJS Tables

    and Functions section in the Reference Data Manager (PD_DATA) Reference Guide for a detailed

    description of the methods for defining the schedule or thickness value.

    A flow direction component (such as a check valve) must be defined so that the flow is directed from

    connect point 1 to connect point 2.

    A tee type branch must be defined with connect point three on the branch leg of the tee.

    The origin of a component must lie between connect point 1 and connect point 2.

    Flanges should be defined with the green connect point representing the flanged connect point and the red

    connect point representing the non-flanged connect point.

    34

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    35/140

    2.Placement

    Notes for Graphic Commodity Data________________

    A valve operator is always placed at the component origin of the corresponding valve body.

    To ensure consistency in pipe cut length calculations, the connect points of a component should be

    located using face-to-face or face-to-center dimension rather than end-to-end or end-to-center dimension.

    A change of direction component placed by component center must be defined such that connect point 1

    is on the primary axis.

    Bends and Branches

    For bend components (specific and generic), the item name must be unique with respect to the angle of

    the bend. In other words, you specify the angle of the bend by selecting the item name for the

    corresponding angle of the bend.

    The number of joints in a miter is required to compute the stress intensification factor (SIF). The graphics

    symbol description in the Graphic Commodity Library sets an attribute in the piping design database that

    defines the number of joints.

    For miter bend components, the system requires that the item name and the new item name be unique

    with respect to the number of miter joints of the bend. In other words, the item name specifies the

    number of miter joints of the bend.

    For branches (tees and laterals), the system uses the first and second size to access the branch table and to

    determine the item name of the component to be placed at the branch point (intersection). Depending on

    the active values, the branch table may define a single component or a set of two or three components.

    35

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    36/140

    PDS Eden for Piping - April 2002________________

    Bolts, Gaskets, and Flanges

    The data for the number of bolts and the bolt diameter is available with the flange data in the Physical

    Dimension Table Library as a function of nominal piping diameter, pressure rating, termination type, and

    geometric industry standard. However, the bolt data and the flange data are stored in separate tables.

    Refer to the Report Manager (PD_Report) Users Guide for a description of the table access.

    A lap joint flange is defined with the end preparation at one end as flangedand the other end as lap.

    The system determines the gasket separation at each connect point of a piping component, speciality item,

    and an instrument component by the following rules:

    If the end preparation for the connect point is flanged, the gasket separation for the connect point is set

    to one-half the Active Gasket Separation. However, some flanged connections (lug, ring type joint, or

    wafer) have integral gaskets and do not have a gasket separation. In this situation, the gasket

    separation at each connect point is set to zero.

    If the end preparation for the connect point is not flanged, the gasket separation for the connect point

    will be set to zero.

    Flange data exists in two tables.

    The first table (BLT_Term_Rat_TS) contains the flange data required for modeling activities (such as

    flange outside diameter and flange thickness).

    The second table (STUD_Rat_TS) contains flange data required for reporting or analysis activities

    (such as bolt diameter, number of bolt holes, and nut extension).

    36

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    37/140

    2.Placement

    Pipe, Tubing, and Hose________________

    Pipe, Tubing, and Hose

    All tubing (such as fiberglass and copper) is specified in terms of piping outside diameter rather than

    nominal piping diameter. All commodity item data in the Physical Dimension Table Library exists in

    terms of nominal piping diameter.

    Mechanical joint and cast iron pipe can have various fixed lengths. Polypropylene-lined tube ispurchased with flanged ends in various fixed lengths.

    Piping wall thickness is defined in terms of NPD units rather than model units.

    A piping converter component (which converts nominal piping diameter from one system of units to

    another system of units) must be defined in the PJS database for each specific pair of nominal piping

    diameters. You cannot specify a converter component for a range of nominal piping diameters.

    Flexible hose has flanged, screwed, or quick disconnect end preparations.

    37

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    38/140

    PDS Eden for Piping - April 2002________________

    38

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    39/140

    3.Structure

    Eden Language Structure________________

    3. Eden Language Structure

    Eden is similar to the FORTRAN programming language. Therefore, the general rules for evaluating

    expressions in Eden are identical to those in FORTRAN.

    You do notneed to know FORTRAN to use the Eden language.

    Eden definitions are usually simpler than FORTRAN programs. To use Eden, you must be able to visualize the

    symbol (in 3D) that you want to develop.

    The Eden language structure incorporates:

    Statements

    Beginning

    Ending

    Variables

    Local

    Global

    Keywords

    Connect Point Geometry

    Operators

    Arithmetic

    Relational

    Logical

    Expressions

    Functions

    Primitives (or Subroutines)

    39

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    40/140

    PDS Eden for Piping - April 2002________________

    Beginning Statements

    Beginning statements define the types of modules being entered. Names within the single quotes must be all

    upper case.

    SP - Symbol_Processor 6CHARSS - Sub_Symbol_Processor 6CHAR

    PD - Physical_Data_Definition 28CHAR

    UF - User_Function_Definition 28CHAR

    MG - Model_Parametric_Shape_Definition 28CHAR

    IG - Interference_Parametric_Shape_Definition 28CHAR

    Examples

    Symbol_Processor GAT

    Physical_Data_Definition V1_AMS

    Ending Statements

    Ending statements mark the end of the module in which the system has been processing. Ending statements in

    the symbol and subsymbol processor (beginning statements SP and SS) include:

    Stop

    End

    Ending statements in the children processor (beginning statements PD, UF, MG, and IG) include:

    Return

    End

    40

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    41/140

    3.Structure

    Variables________________

    Variables

    Variables in Eden can be either local or global. They can contain either numeric or alphanumeric data.

    Internally, numeric data is stored as REAL*8 (double precision). If a different data type is required in the

    context of an expression, then the conversion is performed at the time the expression is evaluated.

    Variable names can be either upper or lower case. Symbols tend to be easier to read when you

    use all lower case for local symbols and all upper case for global symbols or vice versa.

    Examples:

    When converting a floating point number to an integer, the fractional part of the floating point number is

    truncated.

    A variable used in a logical expression evaluates to TRUE when the value of the variable is 1 and 0 when

    the logical value is FALSE.

    Variables that hold values representing distances are assumed to be in subunits. A variable containing the

    value 25 represents 25 inches in an English unit design file and 25 millimeters in a metric unit design file.

    Be careful when using hard coded numbers or when using the system_of_units keyword.

    Local Variables

    Local variables are user defined and declared in the symbol definition. You can refer to a local variable only

    when you are in the same module as the local variable.

    Local variable names are formed using alphanumeric (a-z), numeric (1-9), and special (_ and $) characters.They must begin with an alphanumeric character and must be less than or equal to 31 characters in length.

    The Eden compiler does not verify the spelling of local variables within call statements. It assumes a

    null value for the misspelled variable at component placement time.

    The Eden language refers to constants as local variables. Both character strings and numeric constants are

    valid; however, character string constants must be surrounded by single quotes. In most cases, character

    strings and constants are case sensitive. Thus, a and A are interpreted differently.

    Examples:

    diameter 13.25

    shell_thickness A TEXT STRING

    projection_1 radius [2]

    25

    41

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    42/140

    PDS Eden for Piping - April 2002________________

    Only in Pipe Support and Equipment Modeling can you declare local variable types. The variable types default

    to either CHARACTER or REAL depending on the context. To override this default, you can use a local

    variable type declaration statement anywhere before the variable(s) is (are) actually referenced. Variable types

    INT2, R8, and LOCATION are recognized by the compiler.

    Example:

    In the following example, variables a, B, and Care declared as type short integers. They hold values ranging

    from -32767 to 32767.

    Int2 a

    Int2 B, C

    Example:

    In the example below, variable dis declared as a type REAL, capable of holding decimal fractional values. This

    is the usual default type for numeric variables. However, explicit typing to this category may be necessary to

    declare local arrays.

    R8 d

    As a recommendation, all declaration statements should be placed at the very beginning of the symbol code and

    not interspersed among statements to be executed during symbol placement. This improves program

    readability.

    Also in Pipe Support and Equipment Modeling, referencing a variable using subscripts is extremely useful when

    coding repetitive statements such as the body of a loop. Prior to use, variables must appear in a type declaration

    in which its subscript or index range is also specified.

    Example:

    Below, LENGTHS is an array of 10 REAL variables. They are referenced as LENGTHS [1] ... LENGTHS [10]

    R8 LENGTHS [10]

    Global Variables Common to Piping, Equipment, and PipeSupport Modeling

    Global variables are system-defined names allowing you to refer to them at any subroutine level. More

    specifically, you can use them for passing values between subroutine levels or for communicating input valuesto the symbol. The following list shows the global variables common to all Eden applications. Refer to the

    application-specific section for detailed information concerning specific global variables.

    42

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    43/140

    3.Structure

    Variables________________

    Global variables are system-defined. You cannot declare global or subscripted global variables.

    Input_n (Input_1 through Input_20) An array with up to 20 variables used to define the input

    parameters for table lookups. (Input_11 through Input_20 are specifically designed for

    user function arguments in equipment and pipe support modeling.)

    Output_n (Output_1 through Output_20) An array with up to 20 variables where the results of the

    table lookup are stored. (Output_11 through Output_20 are specifically designed for user

    function return arguments in equipment and pipe support modeling.)

    Dimension_n (Dimension_1 through Dimension_20) General purpose variables used for communicating

    input to the symbol logic. You can also use these variables for passing values between

    subroutines or simply for local storage. (Dimension_20 is for angle; Dimension_1 through

    Dimension_19 is for linear piping.)

    Pr_Rating_n Variable containing the current item pressure rating value.

    Nom_Pipe_D_n Variable containing the current item nominal pipe diameter. This variable contains the

    nominal diameter in coded units. A special primitive is provided to help you convert from

    coded units to subunits.

    Gen_Type_n Variable containing the current item end preparation generic type (BLT, MAL, FEM). This

    is a read-only variable.

    Term_Type_n Variable containing the current item end preparation termination type (21, 22, and 23 will

    fall into Term_Type_1=20). This is a read-only variable.

    Piping Eden Global Variables

    Bend_Angle The bend angle is defined at placement for a component that has avariable sweep angle.

    Bend_Radius The bend radius is defined through the component itself by means of a

    table lookup.

    Bend_Radius_NPD The bend radius in tems of NPD from the PCD file for the bend

    component.

    Body_OD_n (n = 1-5) The body outside diameter is the outer diameter of either a

    bolted, male, or female end of the indicated termination type.

    BOLT_DIAMETER

    BOLT_EXTENSION

    Diameter information not used when placing a flanged component.

    Table lookups are performed during the execution of the MTO processwhen two mating flanges are found. These keywords are used to hold

    the data retrieved for the table and then pass on to the MTO process.

    Br_Ref_Thick The branch reinforcement thickness.

    Br_Ref_Width The branch reinforcement width.

    43

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    44/140

    PDS Eden for Piping - April 2002________________

    Branch_Angle Used for a table name lookup.

    Branch_Table Identifies the branch insertion table used to determine the name of the

    branch commodity item to be used for tee and lateral branches.

    Commodity_Code A user-assigned code that together with the NPD and

    schedule/thickness uniquely defines the component.

    CP_Offset_n (n = 1-5) The connect point offset adjusts the graphics relative to the

    connect point (for flanges, it adjusts for the gaskets) for female, adjust

    for penetration. Male is set to zero.

    CP_Normal_n (n = 1-5) The normal vector.

    CP_Primary_n (n = 1-5) The flow centerline vector.

    CP_Secondary_n (n = 1-5) The secondary vector.

    CP_to_Origin_n (n = 1-5) The CP to origin dimension.

    Depth_n (n = 1-4) The connect point depth is the depth of a socket as defined in

    the table FEM_Term_Rat_TS. It determines a components

    dimensional parameters by calculating the depth of the socket minus

    1/16 inches.

    DIM_TOLERANCE = 1/64 in. The minimum dimension standards are the minimal values permitted in

    the Eden program. The minimum distance used for checking connect

    point separation if 400 units of resolution (USRs) which is

    approximately equal to 1/5 inch.

    Dry_COG The center of gravity dry.

    Dry_Weight The dry weight.

    Facing_OD_n (n = 1-5) The facing outside diameter is the outer diameter of either a

    bolted, male, or female end of the indicated termination type.

    F_to_C_Dim_n

    F_to_F_Dim

    (n = 1-5) The face-to-center and face-to-face dimensions retrieve

    information from a dimension table and pass that information to the

    database for the appropriate connect point or face to face dimension.

    Gasket_Sep_n (n = 1-5) The gasket separation.

    Gen_Flag_Red

    Gen_Flag_Green

    The generic flag retrieves the table suffix for use with table

    identification.

    Geo_Ind_Std The geometric industry standard is used to define table lengths. The

    data comes from the piping component data entry.

    44

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    45/140

    3.Structure

    Variables________________

    Insulation The insulation thickness is defined by the designer at time of pipeline

    placement. It is used to increase the volume of the interference

    detection and the display of the Insulation Graphics.

    Insulation_n (n=1 to 4) This variable is used to exclude insulation by connect point.

    Item_Name This variable equates to the model code used in defining a table name.

    MIN_CYL_DIA = 1/32 in. The minimum cylinder diameter permitted in the Eden program.

    MIN_DIMENSION = 5/8 in. Hard-coded global variable. The minimum linear dimenstion value

    permitted by the Eden program is approximately 1/16 inch.

    Min_Weld_Size The minimum weld size retrieves output from the

    Branch_Angle/Branch_Table.

    Nipple_Length The nipple length is retrieved from the modifier column in piping

    component data from the reference database.

    Nom_Bend_Rad The nominal bend radius. This variable will write to the database and

    allow reconstruction of the component.

    NUMBER_BOLTS Table lookups are performed during the execution of the MTO process

    when two mating flanges are found. This keyword is used to hold the

    data retrieved for the table and then pass on to the MTO process.

    Number_Miter The number of miter joints is the number of miters to be used in a

    mitered joint. It is retrieved from the modifier column in the piping

    component data from the reference database.

    Number_of_Taps The number of taps is retrieved from the modifier column in the piping

    component data from the reference database.

    Operator_Orient Prompts for a secondary orientation of an operator. For example, a

    handle for a lever or gear operator.

    Op_COG The operator center of gravity.

    Op_Weight The operator weight data referenced from a table and stored in the

    database.

    Or_Port_Size The orifice port size is defined in the Eden code.

    Pipe_OD_n (n = 1-5) The piping outside diameter.

    Seat_Depth_n (n = 1-5) The seating depth is the depth as defined in the tableBLT_Term_RAT_TS. The dimension represents the distance from the

    outermost surface of the bolted end to the seating surface of the gasket.

    45

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    46/140

    PDS Eden for Piping - April 2002________________

    Sch_Thick_n (n = 1-5) The schedule/thickness is the wall thickness of the applicable

    end of a component of the indicated nominal diameter as defined in the

    table MALWT_Term_Sc/Th_TS_WC.

    Stem_Length The stem length table lookup/calculated stored in database.

    Surface_Area The surface area data referenced from a table and stored in the database.

    Symbology Defines the use of simple or detailed graphics.

    Table_Name_A

    Table_Name_B

    Stores the dimension table name.

    Table_Name_W Stores the weight table name.

    Thick_Table_Name Identifies the thickness data table used in piping wall thickness

    calculations for this piping material class.

    Toggle_n (n = 1-5) Currently used only for valve operations.

    Valve_Operator The valve operator is the value retrieved from the modifier data and

    tells what valve operator to place.

    Weight_Code Defines the weight code for the component and determines the table to

    be used in finding the dry weight.

    Wet_COG The wet center of gravity.

    Wet_Weight The fluid volume weight data referenced from a table stored in the

    database.

    46

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    47/140

    3.Structure

    Common Keywords________________

    Common Keywords

    Eden uses keywords for labeling specific values or groups of values. All keywords except TRUEand FALSE

    can appear as arguments in system-defined primitives (or subroutines). Keywords can be upper or lower case.

    For consistency, this reference guide displays keywords in upper case.

    TRUE Logical true. Used in logical expressions.

    FALSE Logical false. Used in logical expressions.

    MALE Keywords for generic end preparation.

    FEMALE

    BOLTED

    PRIMARY

    SECONDARY

    NORMAL

    Keywords used to identify or refer to individual refresh tee axes.

    ENGLISHMETRIC

    Names used to define the units of a constant used in the symbol definition.

    Keywords (Piping Specific)

    The following keywords are specific to the Piping Eden interface.

    GREEN RED The spec connect point properties assign connect point properties to a given

    connect point (that is, end prep, schedule, pressure, table suffix) retrieved from

    the active material class.

    CPn The connect point numbers.

    NULL_GEN_TYPE The generic term type is used in testing the current end preparation retrieved

    from the commodity to determine the necessary graphics and dimensions needed

    to construct the components connection graphics.

    THICKNESS_n (n = 1-5) The fitting CP thickness (flange_depth, thread_depth or socket_depth)

    represents the distance from the outermost face of the flange to the back surface

    of the flange on which the nut rests including any projections on the flange.

    NULL_PRESSURE 0

    WALL_THICKNESS

    SCHEDULE

    CALCULATE

    The schedule/thickness and pressure types.

    STANDARD_TYPE The standard types are used in building the physical data module name. The

    keyword STANDARD_TYPE is replaced by one of the following keywords

    dependent upon the table suffix value found for the commodity being placed.

    47

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    48/140

    PDS Eden for Piping - April 2002________________

    Keyword Practice Range

    AMS U.S. Practice 2-99

    DIN European - DIN 100-199

    BS European - British Standard 200-299

    EURO_A European - Practice A 300-399

    JIS International - JIS 400-499

    AUS International - Australian 500-599

    EURO_B European - Practice B 600-699INT_A International - Practice A 700-799

    INT_B International - Practice B 800-899

    COMPANY Company Practice 900-999

    The geometric standard determines which dimension library to use, such as U.S. Practice or

    Company Practice. The table suffix determines which physical data definition modules to use to

    read table data, such as V1_AMS or V1_COMPANY.

    NPD_SUB_UNITS The file NPD working units. Test against the keywords ENGLISH or

    METRIC.

    SUBCOMPONENT The subcomponent name is used to access subcomponents. For example,

    Subcomponent = OP//Valve_Operator.

    FLOW_DIRECTION The flow direction indicators. FLOW_DIRECTION = TRUE cp1 must be

    placed at the upstream portion of the pipeline. Generally used on items

    including check valves. If False or not defined, it is bidirectional.

    MODEL The model symbology types.

    ITEM_NAME The model code data retrieved from the piping commodity data used in

    building table names.

    PHYSICAL_DATA_IDENT The physical data identification is used to retrieve tag names or numbers for

    an instrument. It is also used for table lookup dimensions.

    Oper_Dim_A

    Oper_Dim_B

    Oper_Dim_C

    Oper_Dim_D

    The operator dimensions keywords allow you to load valve operator

    dimensions with read/write access into the relational database for piping and

    instrument components.

    The dimensions of valve operators vary from supplier to supplier. Typically,

    valve operators are defined as over-sized in the piping model. Although this

    is safe with respect to interference checking, it is not always safe with

    respect to access a valve operator may appear to be accessible when it is

    not. For this reason, these keywords provide the mechanism for four valve

    operator dimensions to be loaded into the model on the basis of definitions in

    the Reference Database, such that the data in the model can be reviewed and

    compared with data for the purchased valves.

    NON_RADIAL_BRANCH The non-radial branch keyword must be used to define the connect point

    geometry type for non-radial branch components.

    48

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    49/140

    3.Structure

    Common Keywords________________

    ORIFICE_TAP_ORIENTATION 0 180 degree orientation

    ORIFICE_TAP_ORIENTATION 1 90 degree orientation

    The orifice tap orientation keyword allows relative orientation of two taps on

    an orifice flange. The use of this keyword is required in conjunction with the

    Place Component option in Piping Design. The Place Component option

    places an orifice flange with two taps. These taps are oriented 90 degrees

    apart versus 180 degrees apart, as specified in the Reference Database.

    You must define the number of taps for the orifice flange in the Piping

    Commodity Specification Data Table, PDtable_202, of the Material

    Reference Database. By default, the orifice taps are oriented 180 degrees

    apart on the outside diameter of the flange, when the modifiercolumn is +2.

    If you require an orifice flange to have the taps oriented 90 degrees apart,

    you must specify the modifiercolumn as -2.

    T80Cn The pipe support data keywords (where n is the applicable column number in

    the Pipe Support Data Table of the Piping Design Database) allows you to

    load pipe support data with read/write access into the relational database.

    This includes updating the pipe supports data when the source of that data is

    either hard-coded in a Piping Eden module or read from a table in the

    Physical Data Library.

    49

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    50/140

    PDS Eden for Piping - April 2002________________

    Comments

    To place a comment within Piping source code, the comment must be on a separate line from the source line

    and the exclamation point (!) must be in the first column of the comment line.

    You cannot place a comment immediately after a call statement (on the same line).

    Example:

    Table_Data_Definition T_41_420_3000_NREQD_52! Description= CL3000 equal tee socketwelded ends weight! Source= GRINNELL catalog PF-78

    50

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    51/140

    3.Structure

    Operators________________

    Operators

    Operators are used in conjunction with variables to form expressions. As in FORTRAN, operators can be

    anyone of three types:

    1. Arithmetic

    2. Relational

    3. Logical

    Arithmetic Operators

    Arithmetic operators are used to form arithmetic expressions. These operators follow the mathematical

    conventions. Valid arithmetic operators include:

    + addition

    - subtraction

    * multiplication

    / division

    ** exponentiation

    // concatenation using _

    The first five operators (+, -, *, /, **) can only be used with numeric local and global variables. The

    concatenation operators (// ) can be used with both numeric and string variables.

    The concatenation operator // is used primarily to form table names. It joins two variables together with an

    underbar (_) character. The result is a text string.

    Example:

    ABC // DEF

    produces

    ABC_DEF

    When using the concatenation operation, real numbers are converted to integers (that is, truncated), then

    converted to character strings and finally joined together with the underbar character. The concatenation

    operation is generally used to form messages and character field outputs.

    51

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    52/140

    PDS Eden for Piping - April 2002________________

    Example:

    If GEN_TYPE = 20 and PR_RATING = 300, then BLT // GEN_TYPE // PR_RATING // 5

    produces

    BLT_20_300_5

    Relational Operators

    Relational operators are used to form relational expressions that test the value of an Eden expression or establish

    conditions under which a group of Eden statements can be executed. Valid relational operators include:

    .EQ. equal to

    .NE. not equal to

    .GE. greater than or equal to

    .GT. greater than

    .LE. less than or equal to

    .LT. less than

    Periods must appear before and after the expression.

    Relational operators can be used on both numeric and character string variables. However, mixing the two

    types of operands for a given operation produces computing errors.

    In character relational expressions, less than means precedes in the ASCII collating sequence, and greater than

    means follows in the ASCII collating sequence.

    ABCD .LT. ACCD

    If two strings in a relational expression are not the same length, the shorter one is padded on the right with

    spaces until the lengths are equal.

    PQRSTU .EQ. PQR

    Logical Operators

    Logical operators are used to combine relational expressions into more complex logical expressions. Valid

    logical operators include:

    .OR. logical or

    .AND. logical and

    Periods must appear before and after the expression.

    52

  • 7/28/2019 0c15b8_04f6fbfbdb9068d7efc96a7a213a9527.pdf

    53/140

    3.Structure

    Expressions________________

    Expressions

    Expressions are variables, constants, and operators combined to make statements. The format of most Eden

    expressions is the same as in FORTRAN. Valid expressions include:

    Replacement simple arithmetic replacementCall executes primitives or subroutines

    Do while execute loop

    Indexed Do execute loop

    If - then - else conditional execution

    For every IF statement, there must be an ENDIF statement to end the expression. You can nest

    up to five If-then-else expressions within an Eden module.

    For the Replacement, Do while, and If-then-else expressions, you can use parentheses to alter the precedence of

    calculation.

    Replacement Statements

    Re