The Pipe Router utility is a rule-based tool which automatically route multiple or single pipes. If non-orthogonal pipes are required, these can be created manually, refer to for further information.
The pipe(s) are routed, from the branch’s head and ends at the branch’s tail, positioning and orientating piping components (reducers and welds), and where appropriate adding connection components such as flanges and gaskets. The flow direction is always forwards (from head to tail). The pipes are created orthogonally and with the minimum number of bends or elbows and where possible clash-free.
Constrain the route taken by the pipe(s) with the use of routing points, planes, rules and pipe racks and if required, modify the route once it has been created. Refer to Automatic Pipe Route Administration for further information.
All the tasks carried out in association with the Pipe Router utility are initiated from a central Pipe Router window which acts as a task hub.

Defaults
The pipe router is supplied with defaults which can be modified if required.

Use the File menu from the Pipe Router Defaults window, to save settings or load from settings from elsewhere, see System Administrator if new settings are required:

The Pipe Router Defaults window, contains all the tools to determine the defaults for the pipe router.
The Output messages to file fields, Directory and Filename specifies where to save and what to name the error messages file. The option to overwrite or add to the end of existing error file by selecting an option from the drop-down list is also available.
To remove the output message once a session check has been completed, click to select the Remove Message file at the end of session check box.
To specify what the Pipe Router does in the event of an error, from the Action on error drop-down list: select one of the available options.
Stop
Stops all further routing
Continue
Continues the routing even if an error occurs
Pause
An alert window is displayed, it must be acknowledged before the routing continues
Stop
Stops all further routing
Continue
Continues the routing even if an error occurs
Pause
An alert window is displayed, it must be acknowledged before the routing continues
To specify which component is used when the routing changes direction, from the Change direction using drop-down list select one of the available option.
Bend
When a change of direction occurs, a bend is included in the routing and displays in the design database and 3D graphical view
Elbow
When a change of direction occurs, an elbow is included in the routing and displays in the design database and 3D graphical view
Rule
Pipe Router searches for a rule which defines the type of component to use. To create this type of rule, refer to for further information.
Bend
When a change of direction occurs, a bend is included in the routing and displays in the design database and 3D graphical view
Elbow
When a change of direction occurs, an elbow is included in the routing and displays in the design database and 3D graphical view
Rule
Pipe Router searches for a rule which defines the type of component to use. To create this type of rule, refer to for further information.
Specify a default rule set from the Default rule set world drop-down list for all the branches created by Pipe Router which is automatically assigned as a low priority rule set. Here you or system administrator can create company and/or project specific rule sets. Refer to for further information.
Once the rule set has been specified define to what the rule set is applied, from the Applied to all drop-down list, select the required design hierarchy element.
Pipe Router automatically searches for and makes use of any routing planes and pipe racks with a branch to route the pipe on. The pipe racks exist within the search volume of a branch or branches, the default search volume is the volume between the head and tail of a pipe. The search can be extended outside this volume by inputting the distances in the In Z Direction (vertical) and In X/Y Directions (horizontal) fields.
Pipe Router automatically uses a routing plane or pipe rack to route a pipe only if the distance that it travels along the plane or rack is greater than a minimum travel distance. Enter the minimum distance, in the Minimum Travel Distance field.
Specify the minimum Pipe gap between pipes on racks (and other planes), and also specify in the Pipe gap rounding field the extent to which the gap size is rounded, which can help minimize construction errors.
Define a Route
Create the pipe and branch elements in the design hierarchy and connect or position their heads and tails and define bore. If the branch contains piping components, these must be selected. Refer to and for further information.
Routing Pipes
Add the pipes to the Pipe Router window, and then route the pipes, Pipes can be added individually or in groups.
By default, the Pipe Router routes pipes in the order in which they are added to the Pipe Router window. The routing order can have an effect on the route taken by pipes. Refer to for further information. Pipe Router routes the selected pipes, adding elbows, gaskets and flanges, as required.

When a pipe is added to Pipe Router, it is given a head and tail work-point. These are the points where a route begins and ends. Pipe Router positions work-points at a distance from the branch head or tail which allows for any connection components that are required.

For example, if the head of a branch is a flanged nozzle, then Pipe Router automatically adds a gasket and a flange. Pipe Router then begins routing the pipe from the end of the flange.
How Pipe Router Finds a Route
The Pipe Router creates a route using an algorithm which minimizes material cost while avoiding clashes with other objects. The algorithm has three modes of operation, described as Level 1, Level 2 and Level 3 modes. Pipe Router first searches for a route using Level 1 mode. If no clash-free Level 1 route is found, a search is made using Level 2 mode, and if no Level 2 route is found Level 3 mode is used.
Level One Mode
In level one mode, Pipe Router searches for an orthogonal route between the head and tail work-points of a pipe, using the minimum number of bends or elbows. Lever One routes (Box 3) shows examples of the routes available in level one mode.
Box 1
The default route is ABC, as this requires only two bends. If this route is blocked, Pipe Router attempts to route ADE which uses three bends.
Box 2
If Pipe Router cannot find a route using the routes on box one, it attempts the routes on box two, where route ABC uses three bends, and ADE uses four bends.
Box 3
Finally, if it is still unsuccessful in finding a route, Pipe Router attempts the routes on box three, where both routes use four bends.
Box 1
The default route is ABC, as this requires only two bends. If this route is blocked, Pipe Router attempts to route ADE which uses three bends.

Box 2
If Pipe Router cannot find a route using the routes on box one, it attempts the routes on box two, where route ABC uses three bends, and ADE uses four bends.

Box 3
Finally, if it is still unsuccessful in finding a route, Pipe Router attempts the routes on box three, where both routes use four bends.

An example of a Level One route displays a level one route in which the head work-point is facing up.

Level Two Mode
If all first level routes are blocked, Pipe Router attempts to find second level routes. In second level mode, Pipe Router withdraws the route into the box by a distance which enables the pipe to bypass the obstruction. Pipe Router then attempts the same routing patterns as those used in level one mode.

Level Three Mode
If Pipe Router cannot find a clash-free route using first and second level routes, it attempts to find a third level route. In third level mode, Pipe Router extends the box outwards until it bypasses the obstruction and then attempts to route the pipe using level one routing principles.

Adding Components to a Route
Once Pipe Router has worked out a route, it constructs the Branch by adding whatever Elbows (or Bends) are needed.
Specify components in a Branch before routing, for example by importing a P&ID file as described in . Modify a routed Branch by adding other components, for example, Valves or Instruments, on the Piping tab, in the Modify group, click Component to display the Piping Component Editor window and create the components in the normal way.
Only the principal piping components need to be added. Pipe Router adds Flanges, Gaskets, lap joint stub ends and Welds as necessary, using the Connection Compatibility (COCO) tables to create the correct types.
Components can be locked into a given position, in which case they are not be moved, even if the Branch is re-routed. Refer to for further information about using locked components.
If there are particular constraints that must be placed on a Branch, for example, passing through a given point or plane, use one of the techniques described in .
Insertion of Reducers at Bore Changes
Before Pipe Router positions any components on a Branch, it checks the Branch to see if it contains any components whose bore is different from the preceding component. If one is found, then by default the Pipe Router selects the first suitable Reducer that it finds in the catalog, regardless of whether it is concentric or eccentric.
Set rules to specify whether concentric or eccentric Reducers are used. For information about routing rules, refer to for further information.
How Pipe Router Routes to Free Tails
If a Branch has a free Tail, that is, if the Tail is not connected to another Branch or the Tail position has not been specifically defined, Pipe Router automatically positions the Tail once it has positioned all of the components in the Branch and applied all constraints.
If this fails, for example, because there is a clash or a component positioning rule cannot be satisfied, then it introduces an Elbow after the constraint, before the first component. Pipe Router then positions the elbow in a direction that results in a clash-free route, and which satisfies component positioning and orientation rules.
If the Branch does not have any constraints, the position of the Tail depends on the position and orientation of the Branch Head. Often, this may be a Tee. Refer to for further information.
Tail direction: The TDIR attribute for a free tail is never set if the last constraint is a plane or a rack. In all other cases, TDIR is taken from the direction of the last component.
How the Pipe Router Positions Tees
Pipe Router checks each Branch for connections to other Branches, that is it looks for Tees or other components which have a CREF or CRFA attribute set.
If the Branch which connects to the Tee has a free Tail, then the Tee is treated the same as any other component.
In all other cases, the Tee influences the route taken by the original Branch. In general, Pipe Router selects the closest route to any constraints in the connecting Branch. If there are none, then it selects the route closest to the other end of the connecting Branch.
Tees which can be balanced are then positioned. Refer to for further information.
Where a Branch contains more than one Tee, the first Tee in the Branch influences the route taken. Pipe Router positions any subsequent Tees as close as possible to the next constraint, or the other end of the connecting branch.
Control the position of a Tee by locking it in position, or by constraining the route, using a routing point. Refer to for further information.
Balanced Tees
Pipe Router attempts to position a Tee to achieve balanced flow.
The Tee must be symmetric about a plane through P-arrive. The Pipe Router changes the arrive p-point to achieve this if the bores on the p-points are equal. It then checks the leave-bore and connect-bore. If the bores are equal then Pipe Router assumes that the Tee is T-shaped.

The Tail directions of /B1 and /B2 must either be equal and not in the axial direction between the Tail positions of the branches or opposite and in the axial direction between the Tail positions of the branches:

There must be no locked components on branch /B2, nor any after the Tee on branch /B1.
If there are multiway components in the Branches after the Tee, the Branches connected to them:
The Tail positions of /B1 and /B2 must be equal in two of the three orthogonal co-ordinates:

The specifications of the positionable components after the Tee on /B1 must be the same as the specifications of the components on branch /B2.

The Tee is positioned so that:
If any of these conditions are not satisfied, Pipe Router attempts moving the Tee back along the arrive direction (or forward along the leave direction).
Covered Nozzles
When the Pipe Router is routing a Branch there may be several others waiting to be routed. The best route for the current Branch may take the Pipe straight in front of other Nozzles, which is most likely to happen when routing from a line of Vessels. It can be avoided by:
Refer to for further information.
Make sure the Nozzles or Equipment owning them have obstruction volumes extending beyond their Nozzles which prevents other Pipes crossing in front of the Nozzle. The Branch connected to the Nozzle ignores this clash and successfully routes onto the Nozzle.
Constraining a Route
Except in very simple cases, give Pipe Router more information about the route required to achieve a satisfactory route, then constrain a route using the following:
These constraints are described briefly in the following sections, and described in detail in later sections.
Locked Components
A locked component is a component whose position has been fixed before routing takes place. Pipe Router routes the Branch through the component. Locked components can be used to manually modify the route taken.
In cluttered areas, Pipe Router may not be able to find a clash-free route, in which case it puts in the simplest clashing route and informs you of the clash. Modify the route to obtain a clash-free route, by moving components away from clashes, locking them and re-routing. Both principal Piping components and router-created components (for example, Elbows), can be moved and locked.
Routing Rules
One of the principal features of Pipe Router is its built-in rule engine. Use routing rules to control the selection, position and orientation of piping components, and to control how pipes use routing planes and pipe racks. Refer to for further information.
Refer to Automatic Pipe Route Administration for further information about creating your own rules.
Routing Points
Routing Points are points through which a pipe must pass. Specify the position of a routing point, and the direction in which a pipe arrives at and leaves a routing point. Refer to for further information.
Routing Planes
Routing planes are orthogonal planes which attract pipes to them and then guide the pipes in the direction of the plane. Routing planes are useful, for example, where to group pipes together, perhaps along a wall or ceiling. Refer to for further information.
Pipe Racks
In Pipe Router, a pipe rack is composed of a group of routing planes which enables the modelling of the route used on a physical pipe rack. There are two ways in which to create a pipe rack. Create pipe racks on existing steelwork structures or model them as a group of planes.
Find the second method useful when working on a conceptual design and does not want to spend time creating steelwork structures. Once a pipe rack has been created, use routing rule to specify how different sorts of pipe run on the rack. Refer to for further information.

Checking the Status of a Branch
Once the pipe(s) have been routed, check the status of the branch, by selecting Display > Status Summary, the Pipe Router Status Summary window shows that two Branches have been routed successfully.

Changing the Order in which Pipes are Routed
Pipe Router routes pipes in the order in which they are added to the Pipe Router window. However you may need to change the routing order of particular pipes to make sure that Pipe Router routes the most expensive pipes first. Or if working with pipes that are in close proximity to one another or where pipes cross paths.
Change the routing order, by selecting from a choice of options in the Modify > Routing Order > from the Pipe Router window.
To reorder pipes according to their specification, select Group by specification check box, the display is reordered in alphabetical order of their specification names, for example, all pipes which use the specification A150, followed by all pipes which use the specification B150, and then the other pipe specifications in the sequence. Use this option in conjunction with the attribute radio buttons.
For example, reorder pipes so that all Pipe Router displays all pipes which use the specification A150 in descending order of their head bore, followed by all B150 specification pipes.
Routing Messages
As Pipe Router routes a pipe, it examines each branch and generates a message about any routing errors that it finds. These messages can help you understand and correct errors. It can view these messages both during and after pipe routing, providing you have set up a file in which to store the messages, as described previously.
To view routing messages, select Display > Routing Messages from the Pipe Router window to display the Routing Messages window.

The Routing Messages window is empty if Pipe Router routes all pipes without any errors.
Select Control > Close to close the Routing Messages window.
Branch Detail Window
Pipe Router enables you to view details of the components and constraints in a branch using the Branch Detail window. Select options to constrain the route taken by a branch.
For example, lock components in position, create routing points and add routing planes and pipe racks to the constraint list. All of these facilities are explained in later sections.
Select one of the routed Branches from the Pipe Router window and click Branch Detail to display the Branch Detail window, which contains details of the selected branch.

Refer to for more information on the contents of the Branch Detail window.
Positioning and Locking Components
Add components to Branches after they have been routed and control where the components are positioned. The effect that positioning and locking components has when a Branch is re-routed is also considered.
Deletable, Positionable and Locked Components
Pipe Router sees all piping components as deletable, positionable or locked. If the Branch Detail window displays for a Branch that has been routed by the Pipe Router, all the components are listed as deletable.
The components that Pipe Router creates in a Branch are described as Deletable. If the branch is re-routed, Pipe Router deletes all the components that it has created and re-create them.
After a Branch has been routed, components can be added manually in the normal way. Select the correct element in the Branch Members list, on the Piping tab, in the Create group, click Component to display the Piping Component Editor window. These components are described as Positionable. If the Branch is re-routed, these components are not deleted, but they may be moved to fit on the new route.
Positionable components can be locked into a given position, in which case they are not moved, even if the Branch is re-routed.
The order of Positionable components in the Branch Members list is maintained, and so is their order relative to any constraints in the Branch. For example, if a Valve is added before a Locked Tee, the Valve is not be moved past the Tee.
To make changes to a Branch, and then re-route it, keeping some or all of the components that Pipe Router has added by making them positionable, rather than deletable. These can also be locked.
To change the status of a component, select it from the list on the Branch Detail window, and then select one of the options under the Modify menu on the window.

The choices are: Constraint, Toggle Head Lock, Toggle Tail Lock, Lock Position, Make Positionable, Make Deletable, Toggle Head/Tail Relative, Head W-P, and Tail W-P.
Positioning Relative to the Head or Tail
Each component in a branch is positioned relative to the head or tail of the branch. If a component is head relative, then Pipe Router places that component as close as possible to the head of the branch, allowing for other components and any constraints. If a component is tail relative, then that component is positioned as close as possible to the tail of the branch.
Pipe Router routes a pipe from head to tail and so all components are initially created head relative.
Change the head/tail relative property of any positionable component. Select it in the list on the Branch Detail window, and then select Modify > Toggle Head/Tail Relative.
Head and Tail Work-points
Each Branch has a Head Work-point and a Tail Work-point. insert components between the Head (or Tail) and its work-point, which can be used, for example, to position a Valve directly onto a Nozzle.
Moving the Head or Tail Work-point
Position the Head W-P after a particular component in a Branch or position the Tail W-P before a particular component, which enables the Valve to be positioned directly onto the Nozzle of vessel /VESS-1, then re-route the Pipe without affecting the position of the Valve.
From the Branch Detail window, select Modify > Tail W-P to display the Modify Tail W-P window.

From the Modify Tail W-P window, select VALVE 1, click OK.
From the Pipe Router window, select the Route: Selected option.

Pipe Router re-routes the Pipe from the Head Work-point to the Tail Work-point, which is now positioned before VALV 1.
Check the position of the valve, display the Branch Detail window for the branch, then scroll to the bottom of the Components/Constraints list to display the details.

Locking and Unlocking a Component
Pipe Router enables piping components to be locked in position, to make sure that a branch component remains in its current position, even if the branch is re-routed.
To lock a component, from the Branch Detail window, select the component to be locked in position, select Modify > Lock Position.
To unlock a locked component, select Modify > Make Positionable for main piping components, or Modify > Make Deletable for Pipe Router generated components.
Manually Routing Non-orthogonal Sections
Pipe Router is an orthogonal router so if non-orthogonal sections of pipe in a branch are required. Route these sections by hand and then lock all the components in the section (including the start and end bend or elbow) and route the remainder of the pipes using Pipe Router.
Aligned, Locked, Non-orthogonal Components
If two locked components with non-orthogonal arrive and/or leave direction are aligned, with no intervening components, so that a straight piece of tube can run between them without clashing, Pipe Router uses this route, which also happens if the first component is aligned with the head or the last component is aligned with the tail. If the straight, non-orthogonal routes clash, only orthogonal routes are considered to avoid the clash.
The default orthogonal route between the pump and the vessel.
Using aligned and locked elbows to give a non-orthogonal route.

The default orthogonal route between the pump and the vessel.

Using aligned and locked elbows to give a non-orthogonal route.
In all other cases Pipe Router attempts to insert a bend or elbow to turn into an orthogonal direction as close as possible to the component.
Non-aligned Non-orthogonal Components
If non-orthogonal components are not aligned, only orthogonal routes between them are considered.
Non-aligned components still give an orthogonal route.

Non-aligned components still give an orthogonal route.
Non-orthogonal Sections with Unlocked Components
If there are other, positionable, components between non-orthogonal locked components, orthogonal routing is used. Pipe Router may add connection components on to the locked components, but note that no bore change (which would require the addition of a reducer) is permitted.
A positionable Tee has been inserted in the Branch, which has caused Pipe Router to revert to an orthogonal route, using additional Elbows.
Detail of the area close to the Tee.
The route achieved with the Tee Locked.

A positionable Tee has been inserted in the Branch, which has caused Pipe Router to revert to an orthogonal route, using additional Elbows.

Detail of the area close to the Tee.

The route achieved with the Tee Locked.
Lock several non-orthogonal components in a row. For example, lock two 45 degree elbows to give a non-orthogonal section of pipe and place a locked valve on this section of pipe. Pipe Router does not route any part of the Branch between the elbows, providing that straight pipe does not clash; and it adds any necessary connection components to the valve. However, the valve must be locked: if it is positionable Pipe Router routes orthogonally between the elbows.
It may be better to continue in a non-orthogonal direction from a nozzle until a route has passed an obstruction, because this might give a shorter route with fewer elbows. Lock the elbow at ‘A’ to give this route:

Using Rules for Minimum Tube Length
To find that components such as Olets and Stub-in Tees are positioned immediately next to another component, if the COCO tables allow. Use the Upstream and Downstream Rules provided with Pipe Router to specify minimum lengths of Tube. Refer to for further information about using rules.
Create and Use Routing Points
Routing Points can be used to constrain a route, these points are points through which a branch passes. To define the coordinates of a point and the direction in which a branch arrives at and leaves a point.
To add as many routing points as required but the points must be created at the correct position in the sequence of constraints.
Create a Routing Point
To create a routing point, select the required branch from the Pipe Router window, select Branch Detail to display the Branch Detail window. From the Branch Detail window, select Create > Routing Point to display the Create Routing Point window.

To enter the coordinates on the Create Routing Point window or use the other options available on the menu, which are similar to the normal AVEVA E3D™ positioning options. Routing points can only be positioned after positionable or locked components.
By specifying a different arrive and leave direction, a bend or elbow has to be inserted at the position of the routing point. If a change of direction is not required, select the Through Direction and specify the direction for the pipe to take at that point. If the direction is unset, Pipe Router selects the best direction to minimize the number of bends or elbows used.
Use DATUMs as Routing Points
There is an option on the Create Routing Point window which allows you to use an existing DATUM point as a routing point. Two branches should not use the same Datum point as a constraint since they would then clash.
If you wish to use a Datum where two branches meet, just one of the branches should have the point as a constraint. For example, Branch /P1/B1 ends at a Battery Limit and Branch P2/B1 connects to its Tail. Branch /P1/B1 should have the Datum as the last constraint and a Free Tail. The Head of Branch /P2/B1 is positioned at the Tail of /P1/B1.
Moving a Routing Point
To modify the position of a routing point at any time. From the Pipe Router window, select the branch to modify, click Branch Detail to display the Branch Detail window.
Select the routing point to modify from the Components/Constraints list. Select Modify > Constraint to display the Modify Routing Point window. Select one of the following options, depending on the type of modification:
Move > Distance
To move a routing point a distance in a specified direction either from the current location, or relative to another element which can be identified using the cursor or another method.
Move > Towards
To move the point a specified distance towards another element, which can be identified using the cursor, by specifying a named element or, which may be the head, tail or, the next element in the branch.
If a DATUM has been used as a routing point, the standard AVEVA E3D™ positioning options can be used to modify its position.
Routing Rules
Routing Rules are special AVEVA E3D™ rules which are used to control how components are selected, positioned and orientated as Branches are routed and how Pipes are packed on Pipe Racks and Routing Planes.
Use the sample routing rules supplied with the Pipe Router, or define routing rules refer to Automatic Pipe Route Administration for further information.
Routing rules can be applied to individual branches or all branches within a particular site, zone, or pipe. Rules can be applied or removed to individual components, as required.
Expressions
A routing rule consists of AVEVA E3D™ expressions. AVEVA E3D™ expressions are described in detail in .
AVEVA E3D™ expressions consist of the following:
For a list of AVEVA E3D™ attributes, refer to for further information.
Apply a Rule Set to a Branch
Once a rule set has been created, it can be applied to a branch. The rules then take effect on the components in the branch. From the Pipe Router window, select the branch with which you want to associate a rule set.
From the Pipe Router window, select Settings > Apply Rules > To Branch to display the Apply Rules to SELECTED window.

First select the rule world which contains the rule sets to apply to the branch from the RULE WORLD list, which contains all the Branches selected on the Pipe Router window. From the Rule sets available in current world list, select the rule set. The rule set can be added as high priority or low priority.
Click Add HIGH to add the rule set to the High Priority Sets list or Add LOW to add the rule set to the Low Priority Sets list. Click Apply. You must then route the branch to apply the rules.
Pipe Router first checks to see if there are any rules that apply to a component from the high priority rule sets. If there are none then Pipe Router checks if there are any rules that apply in the low priority rule sets.
From the Settings > Apply Rules options on the Pipe Router window applies the rule sets to a site, zone or pipe. In these cases all branches which are below them in the hierarchy also have the rule sets applied, unless they have rule sets specifically applied.
By default, Pipe Router applies all the rules in the specified sets to a branch, providing they are appropriate. However, to remove a rule from a particular component in a branch, or add one from another rule set.
Remove a Rule Set
To remove a rule set, first select the branch from the Pipe Router window, then select Settings > Apply Rules > To Branch to display the Apply Rules window, the rule set to be removed must be selected. Click Remove HIGH or Remove LOW as appropriate. Click Apply.
If a Rule Set is applied to a Pipe, Site or Zone, it is removed from all Branches in that Pipe, Site or Zone.
Include a Rule from another Rule Set or World
If required, apply a rule to a component from another rule world or rule set, from the Pipe Router window, select the branches to apply the rule to, click Branch Detail. From the Branch Detail window, click Component Rules to display the Component Rules window, which can be used to add additional rules from the available rule sets, or from another rule world.

From the Rules applying to current component list, select the component that the rule is applied to.
The letter that precedes the rule description shows where the rule was originally applied. The letters used are:
From the Rules available list, select the rule to be applied to the selected component, then click Include. The rule is added to the list of rules which apply to the component. Click Dismiss to close the Component Rules window.
Disabling a Rule from a Component
Toprevent Pipe Router from applying a rule to a particular component in a branch, from the Pipe Router window, select the branch which contains the component. Click Branch Detail to display the Branch Detail window. From the Branch Detail window, select the component to be excluded from the rule. Click Component Rules to display the Component Rules window.
From the list of rules that apply to the current component, select the rule to disable from the component, then click Disable. Pipe Router places an asterisk (*) to the left of the rule description to indicate that the rule is now excluded from being used.
To re-enable a disabled rule, select the rule, the


Routing Rules are special AVEVA E3D Design rules which are used to control, for example, how Pipe Router selects, positions and orientates components as Branches are routed, and also how Pipes are packed on Pipe Racks and Routing Planes.
You can apply routing rules to individual branches or all branches within a particular site, zone, or pipe, and you can also apply rules to individual components and remove rules from individual components, as required.
Routing Rule Purposes
There are different types of routing rules , which are used for different controls on the route. Rules are identified by their Purpose (PURP) attribute, and unlike other elements in AVEVA E3D™, you cannot create different, user-defined purposes for routing rules.
The routing rules available are listed below, identified by their PURP attribute, and with a short description. The purpose is set to a four-letter code, but it sometimes displays as a more descriptive text on the AVEVA E3D™ Router windows. How each rule is applied is described in detail in .
PRPR
All rules with this Purpose are executed before a Branch is routed.
Selection
BEND
Bend or elbow selection: controls whether a bend or elbow is used for changing the direction of a pipe
REDU
Reducer type: specified when concentric or eccentric reducers are used
Positioning
DNSM
Downstream pipe requirement: the length of pipe required downstream to the next component
UPSM
Upstream pipe requirement: the length of pipe required upstream from the previous component
ELEV
Component elevation: absolute or relative elevation of a component
LOCA
Component location: 3D position of a component
Orientation
MAJO
Orientate on major axis: positioning on vertical or horizontal pipe segment.
MINO
Orientate on minor axis: such as the orientation of a handwheel
Clash exclusion
CLEX
These rules are used to allow specified types of element to clash.
Pipe racks (and routing planes)
TRAV
Pipe Rack travel plane selection: controls which pipe rack travel plane is used to route a particular type of branch
ENTR
Pipe Rack entry plane selection: controls which pipe rack entry plane is used to route a particular type of branch
EXIT
Pipe Rack exit plane selection: controls which pipe rack exit plane is used to route a particular type of branch
SHOE
Shoe height requirement
WEIG
Identify heavy pipe
ADGP
Extra gap required on plane or rack
FLWI
Flange width on plane or rack
Post-processing
POPR
All rules with this Purpose are executed after a Branch has been routed.
PRPR
All rules with this Purpose are executed before a Branch is routed.
Selection

BEND
Bend or elbow selection: controls whether a bend or elbow is used for changing the direction of a pipe
REDU
Reducer type: specified when concentric or eccentric reducers are used
Positioning

DNSM
Downstream pipe requirement: the length of pipe required downstream to the next component
UPSM
Upstream pipe requirement: the length of pipe required upstream from the previous component
ELEV
Component elevation: absolute or relative elevation of a component
LOCA
Component location: 3D position of a component
Orientation

MAJO
Orientate on major axis: positioning on vertical or horizontal pipe segment.
MINO
Orientate on minor axis: such as the orientation of a handwheel
Clash exclusion

CLEX
These rules are used to allow specified types of element to clash.
Pipe racks (and routing planes)
TRAV
Pipe Rack travel plane selection: controls which pipe rack travel plane is used to route a particular type of branch
ENTR
Pipe Rack entry plane selection: controls which pipe rack entry plane is used to route a particular type of branch
EXIT
Pipe Rack exit plane selection: controls which pipe rack exit plane is used to route a particular type of branch
SHOE
Shoe height requirement
WEIG
Identify heavy pipe
ADGP
Extra gap required on plane or rack
FLWI
Flange width on plane or rack
Post-processing

POPR
All rules with this Purpose are executed after a Branch has been routed.
How Routing Rules are Constructed
Routing rules consist of AVEVA E3D™ expressions which define:
All rules must have a selection expression.
Rules which use logical expressions are called logical rules. A Rule which does not have a logical expression is called a real rule, because its action (see below) is a real expression.
Actions
The Logical expression in a rule tests whether or not the component satisfies the rule. If not, that is, if the logical expression evaluates to False, and the rule has an action, the action is applied. Pipe Router then re-tests the component. If the logical expression still evaluates to False, the Action is reversed.
If you do not define an action for these rules, then the default action is taken, which depends on the rule.
Using PML Functions in Routing Rules
The Logical and Action expressions in Routing rules can call PML functions, which allows you to define much more complex logical tests and actions than can be done using simple expressions. A function is called by setting the rule action to a text string which is the name of the .pmlobj file. The file contains the object definition, followed by a method definition.
The function must be defined using fixed names for the following elements:
CEREF
The DBREF of the element the rule applies to.
RESULT
The returned boolean result. (Logical parts of rules only.)
RULEMETHOD
The method which is applied.
OBSREF
The DBREF of the Element clashing with the Branch. (Clash exclusion rule only).
CEREF
The DBREF of the element the rule applies to.
RESULT
The returned boolean result. (Logical parts of rules only.)
RULEMETHOD
The method which is applied.
OBSREF
The DBREF of the Element clashing with the Branch. (Clash exclusion rule only).
Examples of calling PML functions are given in the following sections:
Pre-processing rules
Refer to for further information.
Minor Axis orientation
Refer to for further information.
Clash exclusion
Refer to for further information.
Post-processing rules
Refer to for further information.
Pre-processing rules
Refer to for further information.
Minor Axis orientation
Refer to for further information.
Clash exclusion
Refer to for further information.
Post-processing rules
Refer to for further information.
How Routing Rules are Applied
The following sections describe in detail which expressions are required by each type of rule, and how the rules are applied. Most of the examples are taken from Rules supplied with the product. To see more examples, select Settings > Routing Rules from the Pipe Router window, which displays the Routing Rules window. Select a Rule Set, then select a Rule from the list. To see the expressions in the rule, select Modify to display the Rule Attributes window.
Pre-processing (PRPR)
Logical, will have Action
Pre-processing (PRPR)
Logical, will have Action
All rules with this Purpose are executed before a Branch is routed. The Action is normally a PML function, which must have been defined before the rule is applied.
Typically this type of rule is used where it is simpler to have a single rule to create, position and orientate several components rather than have individual rules. For example:
The Selection part of the rule identifies a key component: for example, you can identify Valves which require control loops by setting a UDA to a certain value, and then setting the selection expression to select all the Valves with the given attribute value.
The PML function then creates, positions and orientates the components and finally sets the head working point attribute to the last component covered by the rule. AVEVA E3D™ Router then takes over and routes the Branch.
A suitable PML function displays following. Note that at the end of the positioning and orientating commands, the RLOC attribute is set to 0 (Locked).
The input to Pipe Router would be Pipes with a main Branch with the following sequence of components defined:
There would also be a second Branch, owning a Valve, with the Branch Head and Tail connected to the two Tees in the main Branch, which form the control loop.
The rule to call function displays and can be defined:

The rule is applied to the elements required in the normal way. An example of the control loop created displays in the following picture.

Selection
Bend or elbow selection (BEND)
Logical, no Action
Bend or elbow selection (BEND)
Logical, no Action
Used to choose the type of component used to change direction. For example, the selection expression can be:
and the logical:
makes sure that all Branches with bores less than or equal to 65 use Bends rather than Elbows.

The default method of changing direction, set on the Pipe Router Defaults window, is using Elbows.

The default method of changing direction, set on the Pipe Router Defaults window, is using a Rule. The rule specifies that small bore pipes change direction using Bends
Reducer Selection (REDU)
Logical, no Action
Reducer Selection (REDU)
Logical, no Action
To specify whether concentric or eccentric reducers are selected. For example, if the default reducers in a specification are eccentric, and you want concentric reducers in vertical sections of pipe but eccentric reducers in horizontal sections, the Selection expression in the rule can be:
The logical expression to specify eccentric reducers in all the selected cases would be:

                  The default reducer in the Specification is eccentric.

                  The rule specifies that reducers on vertical legs are concentric

The default reducer in the Specification is eccentric.
The rule specifies that reducers on vertical legs are concentric
Positioning
There are two pseudo-attributes which are particularly useful in positioning expressions:
STAP
is the length of straight tube before the component.
STLE
is the length of straight tube after the component.
STAP
is the length of straight tube before the component.
STLE
is the length of straight tube after the component.
The lengths are measured from the component up to one of the following:
Downstream pipe requirement (DNSM)
Logical, can have Action
Downstream pipe requirement (DNSM)
Logical, can have Action
Used to control the length of straight pipe which is downstream from the previous component. If the rule logical fails, the action, if it exists, is applied. The action should be an expression that moves the component a distance from the previous to make sure a straight length of pipe. For example:
Selection
Logical
You can omit the action by setting the Action field on the window to unset, but the result may be unpredictable, particularly if other rules are being applied, and it is not recommended. If no action exists, and component positioning is head relative, the component is moved 2/3 the distance along the leg, and then re-tested. If component positioning is tail relative, the preceding component is moved if necessary when it is positioned.
A Tee is positioned by default.
The rule is applied and the Tee is moved 2/3 of the distance along the leg between the Elbow and the Routing Plane
Upstream pipe requirement (UPSM)
Logical, can have Action

A Tee is positioned by default.

The rule is applied and the Tee is moved 2/3 of the distance along the leg between the Elbow and the Routing Plane
Upstream pipe requirement (UPSM)
Logical, can have Action
The rule controls the length of straight pipe which is upstream from the next component.
Selection
Logical
An example of an action is:
where the POLAR AXES keywords are used to specify a position in terms of a distance in a given direction from a point, and PREVPP is the previous p-point.
You can omit the action by setting the Action field on the window to unset, but the result may be unpredictable, particularly if other rules are being applied, and it is not recommended. If no action exists, and component positioning is tail relative, the component is moved 1/3 of the upstream distance, and then re-tested. If component positioning is head relative, the following component is moved if necessary when it is positioned.
Elevation (ELEV)
Logical, can have Action
Elevation (ELEV)
Logical, can have Action
The rule controls the elevation of a component. The following example uses the CLOSEST keyword in the logical expression to specify that components must be positioned at a height greater or equal to 0.61m vertically above an EQUI whose purpose is FLOO.
Selection
Logical
A position on the closest vertical segment of pipe equal to the required elevation is found. If no position on the existing pipe can be found, the action is applied with the position adjusted to minimize the use of bends or elbows.
If the logical test is False, any action set is applied.
Location (LOCA)
Logical, can have Action
Location (LOCA)
Logical, can have Action
Used to position a component at a given location. The following example is a test for a component in a sub-branch being positioned at p-point 4 of the connecting component in the owning branch:
If the logical test fails, the action is applied and the test repeated. If it fails again, a message is output.
The corresponding action expression would be:
To position the component at p-point 4 of the connecting component in the owning branch.
Orientation
Major axis
Logical, no Action
Major axis
Logical, no Action
Controls the major orientation of the component, which is the arrive/leave axis. For example:
If this fails, the component is moved to each leg in turn until one is found that passes. No action is allowed.
Minor axis
Logical, can have Action
Minor axis
Logical, can have Action
Controls the minor orientation of a component, which is the axis perpendicular to the arrive/leave axis. Frequently this axis is the direction of a valve handwheel. For example:
If the rule logical fails, the action is applied. If the logical then fails, the component is moved to another leg, and re-tested. If the component clashes, it is moved along the leg and then re-tested.
If there is no action, the component is rotated in increments of 90 degrees to find a non-clashing orientation which passes the rule. If after four attempts it still fails, the component is moved along the leg and retried. If no suitable positions are found on the leg, the component is moved to the next leg and the procedure repeated.
Examples using PML Functions
The following example shows how you can call PML functions for the Logical and Action expressions in a Minor Axis rule for positioning a Valve at and angle of 45 degrees.
First, the Logical expression is set to ( 'minological' ), which calls the following PML function:
If the Logical test evaluates to False, that is, if P3 does not have the specified orientation, the Action is carried out.
The Action expression is set to ( 'minoaction' ), which orientates the P3 direction of the component:

                  Clash Exclusion (CLEX)

                  Logical

Clash Exclusion (CLEX)
Logical
A Clash Exclusion rule allows certain clashes to be approved in advance. A use for this is specifying that only non hazardous pipes are allowed in certain areas. Clash exclusion rules can use expressions or functions.
Example using Expressions
For example, the following rule can be used where two groups of elements are always allowed to clash. In this case, Branches carrying radioactive material have their PURP attribute set to RADI. All Zones which are safe for humans to enter have their PURP set to HUMA. The rule allows all Branches whose PURP is not set to RADI to pass through all human zones:
Selection
Logical
The selection part of the rule is used to identify the Branch or Branch member which is clashing and the logical applies to the obstruction clashing with the Branches.
Example using a PML Function
If a more complicated solution is needed, use a PML function. A simple example is
Pipe Racks and Routing Planes
Automatic routing along Pipe Racks is described in . In summary, Pipe Router sees a Pipe Rack as a group of routing planes. Each plane has its FUNCTION attribute set, for example to UTIL for planes which are going to route utilities pipes. You should also make sure that Branches which are routed along Pipe Racks have their PURPOSE attribute set appropriately, so that you can identify which Branches should be routed along a given plane.
Travel Plane Selection
Logical, no Action
Travel Plane Selection
Logical, no Action
To control which travel plane of a pipe rack is used to carry a particular branch. An example of the selection expression, which would apply the rule to all Branches to with Purpose set to COOLING, is:
An example of the logical test, which routes the selected Branches along the Plane with its Function set to UTIL is:
Entry Plane Selection
Logical, no Action
Entry Plane Selection
Logical, no Action
To determine which entry plane is used to control a branch as it enters a pipe rack. Normally there is one above and one below, to allow for branches with both liquid and vapour contents to use the rack. An example of the selection might be:
An example of the test can be:
which would cause pipes containing gas for cooling to use the upper entry/exit plane to get to/from the UTIL travel plane.
Exit Plane Selection
Logical, no Action
Exit Plane Selection
Logical, no Action
The rule determines which exit plane is used to control a branch as it exits a pipe rack. Normally there is one above and one below, to allow for branches with both liquid and vapour contents to use the rack. An example of the selection might be:
An example of the test can be:
which would cause pipes containing gas for cooling to use the upper entry/exit plane to get to/from the UTIL travel plane.
Shoe Height
Real
Shoe Height
Real
Branches routed via planes or pipe-racks can be offset by a user-specified distance from the plane to allow for shoe-heights. The shoe-height is specified using rules with PURPose SHOE.
For example:
Selection:
Action:
Heavy Pipe
Logical, no Action
Heavy Pipe
Logical, no Action
You can specify that heavy pipes are placed at the edges of routing planes and light ones at the center. When choosing this packing method, the PLPM attribute of the plane is set to WEIG, and Pipe Router looks for a weight rule to determine whether pipes are light or heavy.
The logical expression evaluates to False if the pipe is to be placed at the edge of the rack.
For example:
Selection:
Logical:
All Pipes with Bore greater than 300mm are placed at the edge of the rack.
Refer to for further information on Pipe packing methods.
Extra Gap
Real
Extra Gap
Real
Allows you to specify an additional gap between some pipes, for example, very hot pipes.
Additional gaps are determined by rules applied to the default bend or elbow of a branch. For example, for branches with temperature greater than 500 degrees, the following rule gives an additional gap of 0.2 times the arrive bore of the component:
Selection:
Action:
For more details of additional gaps, see .
Flange Width (FLWI)
Real
Flange Width (FLWI)
Real
Flange width rules are used to set the gap between Pipes on Routing Planes and Pipe Racks when the Pipe run on the plane includes Flanges. The rule is applied to the default Flange for the Pipe. The gap can be calculated in several ways.
Example 1
Selection:
Action:
Example 2
Uses flange parameters:
Selection:
Action:
Example 3
The next example uses a property of the Flange, which would be specified in a dataset:
The rule can then be:
Selection:
Action:
Refer to for further information on how Flange widths are calculated.
Post-processing
Post-processing (POPR)
Logical, will have Action
Post-processing (POPR)
Logical, will have Action
All rules with this Purpose are executed after a Branch has been successfully routed. They can be used to add extra details to a Branch such as Drains and Vents or slope the line. The Action is normally a PML function, which must have been defined before the rule is applied.
The following example creates an expansion loop:
The following illustrations show a Branch, with and without the Post-processing Rule applied.

Create and Edit Routing Rules
AVEVA E3D™ stores rules within a hierarchy. There are two administrative elements within the hierarchy:
AVEVA E3D™ stores routing rules, whose type is GRUL, within a rule set. When you can create a new rule, define the type of rule by selecting the correct purpose, the defining the expressions within it. The rule can now be applied to individual branches or all the branches in a particular site, zone or pipe.
By default, all rules in the rule sets applied to a branch are considered to be applied to each component in the branch. However, you can also disable any of the rules, or apply rules from other rule sets, to any individual component.
A sample set of rules is provided with Pipe Router in the Sample Project. The Rule World is named /PIPES-RULES, and it owns several rule sets. The rules in the rule sets are examples which you can use to build a customized set, and do not necessarily represent good engineering practise.
To create a rule world:
From the Pipe Router window, select Settings > Routing Rules to display the Routing Rules window. Select Create > Rule World to display the Create Rule World window. In the Name box, input a name for the rule world, click OK to create the Rule World.
The rule world is created and displays in the Members List. Create a rule set within the rule world.
To create a rule set:
Make sure that at the level of the Rule World in which you want to create the rule set is selected. From the Routing Rules window, select Create > Rule Set to display the Create Rule Set window. In the Name box, input a name for the Rule Set. In the Function box, input the function of the rule set. (The function is a descriptive term which enables you and other users to identify the purpose of the rules contained within the rule set.) Click OK to create the Rule Set.
The set displays in the Members List. You can now create routing rules and store them within the rule set.
Create a Routing Rule:
From the Pipe Router window, select Settings > Routing Rules to display the Routing Rules window.

Select where the rule is to be stored by first selecting the rule world from the Current Rule World drop-down list, and then the rule set from the Current Rule Set drop-down list.
To create a new rule, select Create > Rule > New to display the Create Rule window. A new rule element (GRUL) is created in the design hierarchy.

To name the new rule:
In the Name box, input a name for the new rule element, which is the name of the rule element (GRUL) that displays in the design hierarchy.
Click OK to name the new rule element, close the Create New Rule window and display the Rule Attributes window.
Click Cancel to discard inputs and close the Create New Rule window.

In the Description box, input a description for the rule. The description displays in the Routing Rules window.
Select a purpose for the rule from the Purpose drop-down list.
In the Selection box, input an expression. For example: ALL VALV WITH (ATTRIB STYP EQ ‘GATE’), this expression tells Pipe Router that the rule is applicable to all valves that have their attribute STYP set to GATE, that is, all gates valves.
In the Logical box, input an expression. For example: ( ATTRIB PDIR 3 EQ N ), this expression checks whether or not the direction of P3 on each gate valve is set to north. If it is, then the gate valve meets the criteria of the rule and no action is taken. If the direction of P3 is not north, then Pipe Router performs the action expression described in the next step.
In the Action box, input an expression. For example: (AXES PP 3 IS N AND AXES PL IS AXES PL OF PREV), this expression tells Pipe Router to change the direction of P3 to north, and make the leave direction the same as for the previous component.
Select the attribute of the CE, click Current Rule. The Rule Attributes window is now populated with the details for the current rule.
To test the rule:
Set the extent of the test (World, Site, Zone, Pipe), from the Test Rule drop-down list, which performs the selection operation defined for the rule, then perform the logical test for each component selected, and report which components passed and which failed. The report displays in the Rules Testing window.

Click OK to create the routing rule. You can now apply the rule to a Branch in the usual way.
Click Cancel to discard any inputs and close the Rule Attributes window.
To copy a rule:
To copy an existing rule, from the Routing Rules window, select Create > Rule > Copy to display the Create Copy Rule window.

To name the copied rule:
In the Name box, input a name for the copied element, which is the name of the rule element (GRUL) that displays in the design hierarchy.
Click OK to name the copied element and close the Create Copy Rule window and display the Rule Attributes window.
Click Cancel to discard inputs and close the Create Copy Rule window
When you create a copy of a rule, the Rule Attributes displays, filled in with the details of the copied rule. You can then edit the details of the rule, which enables you to select an existing rule and use its details as the starting point for a new rule or modify the details to suit your purpose.
Modify a Routing Rule
Edit a routing rule, using as an example the sample rules supplied in the rule set TRAVEL-RULES. The rules are modified to give a better route for the pipe rack example in .
Using Rules to Specify How Pipes Use a Pipe Rack
Specify the type of pipes routed on each level of a pipe rack, using routing rules. For example, you can tell Pipe Router to place all process pipes on the bottom level of a rack and all utility pipes on the top level of a rack. If there are more than one entry/exit plane, you can specify the way in which pipes enter onto and exit from a particular level. For example, have all liquid utility pipes climbing onto a travel plane and all gas utility pipes dropping onto the same travel plane.
For example, you can edit the example pipe rack rules that are supplied with Pipe Router and apply them to avoid the pockets created by the default route.
To modify a routing rule, from the Pipe Router window, select Settings > Routing Rules to display the Routing Rules window.

The Rules available are supplied in the sample project. Make sure that the Current Rule World is set to PIPE-RULES and the Current Rule Set is TRAVEL-RULES. There are three Rules supplied: a Travel Plane Rule, an Entry Plane rule and an Exit Plane rule.
To see the expressions in the Travel Rule, you must select the rule in the list and then select Modify > Rule on the Routing Rules window. The Rule Attribute window displays and is populated with the attributes for Travel Rule.

From the Rule Attributes window, note that:
Select the Exit rule in the list on the Routing Rules window and click Current Rule on the Rule Attributes window. Change the Logical expression to be:
Before you can test the rules, the Pipe PURP attribute must be set to PROC.
Select Purpose from the list of attributes. In the Value column, input PROC.
Press the Enter Key and the Purpose row is highlighted to indicate that the update has succeeded.
From the Rule Attributes window, you can now test the rule:
For example, the exit plane rule. Select the exit Plane rule in the list and make sure that Pipe 2001 is the Current Element. Set Test Rule to Pipe to display the Rule Testing window, which shows you that 1 Branch has been selected for the rule but 0 Plane. No Planes have been selected because there are no Planes with Function set to EXIT.
To modify the functions of the planes in the Pipe Rack:
Make the Pipe Rack the current element and select Modify > Pipe Rack from the Pipe Router window.
On the Modify Pipe Rack window, change the Function of the planes:
Level 1 Upper Entry/Exit Plane:
EXIT
Level 1 Travel Plane:
PROC
Level 1 Lower Entry/Exit Plane:
ENTRY

Level 1 Upper Entry/Exit Plane:
EXIT

Level 1 Travel Plane:
PROC

Level 1 Lower Entry/Exit Plane:
ENTRY
Associate the Rule with the Branches required. Select the Branch 2001/B1 on the Routing Rules window. Select Settings > Branch Rules from the menu on the AVEVA E3D™ Router window. On the Branch Rules window, set Apply rule sets to All Selected Branches. Select HIGH, and the rule is added to the window.
Now re-route the Pipe. A more satisfactory route is obtained.
Deleting a Rule World, Rule Set or Routing Rule
To delete a rule world, rule set, or routing rule, navigate to the rule world and rule set to be deleted from the Current Rule World and Current Rule Set drop-down lists. Select the rule to be deleted from the routing rules list. Select Delete > Rule World, Delete > Rule Set or Delete > Rule, as required.
Placing Pipes on Racks and Planes
The section describes how to set up rules which control:
Flanges on Routing Planes
By default, Pipe Router runs pipes along Routing planes with the wall-to-wall Pipe Gap given on the Pipe Router Defaults window. Refer to for further information.
If you need to run sections of Pipes which include Flanges along routing planes, you can specify that the gap value is applied as a wall-to-flange (WF) gap, if the flanges can be staggered, or as a flange-to-flange (FF) gap, if the flanges are side-by-side on the plane. The default is wall-to-wall (WW) spacing. The spacing is controlled by the PLWW attribute of the RPLA. PLWW can be set to WW, WF or FF.
If WW or WF spacing is specified, the Pipe Router looks for rules of type FLWI and apply them. The size of flange is found using the Flange Width (FLWI) rule, which is applied to the default flange (for example, the flange which is obtained with an AVEVA E3D™ SELECT) for each branch at its current bore, even if there are other flanges on the pipe rack.
The flange width taken as 0 if:
If necessary, specify an additional pipe-specific gap, for example, for very hot pipes.
Example of Wall-to-Flange Spacing
If a rule is used, so that the flange width is set to 1.5 x bore, then wall-to-flange spacing is calculated:
The constant gap is set to 50mm. Then the center of an insulated branch of OD 200mm, bore 100mm would be placed 435mm from the center of an adjacent branch of OD 150mm, bore 140mm.

Example of Flange-to-Flange Spacing
If the rule sets the flange width to 1.5 x bore, then flange-to-flange spacing is calculated:
½ OD Pipe A
100
Flange width Pipe A
150
Gap
50
Flange width Pipe B
210
½ OD Pipe B
75
Total
585
½ OD Pipe A
100
Flange width Pipe A
150
Gap
50
Flange width Pipe B
210
½ OD Pipe B
75
Total
585

Packing Methods
There are two packing methods available. Pipe Router either places a pipe on a plane as near as possible to the edge of the plane, or packs heavy pipes at the edges of racks and light ones at the center. The packing method is an attribute of the Routing Plane. It can be set for the Travel Plane of pipe-racks and for individual planes.
Select the By Weight method, the PLPM (Plane Packing Method) attribute of the plane is set to WEIG, and Pipe Router looks for a weight rule, (PURP set to WEIG), to determine whether pipes are light or heavy.
You can use weight rules to determine whether pipes are packed at the top or bottom of vertical planes
Horizontal Routing Planes
In the weight-related packing method on horizontal planes, for heavy pipes Pipe Router searches inwards from both edges looking for a free slot with a large enough gap between it and any adjacent pipe. The heavy pipe is placed closest to whichever edge a slot is found. For light pipes Router first looks in the middle of the plane or rack to see if this slot is free. Router then searches in both directions outwards looking for a free slot and use the closer to the center. Pipes for which no rule exists are treated as light pipes and placed in the center of the rack or plane.
Vertical Routing Planes
The weight-related packing method can also be applied to vertical routing planes with a horizontal travel direction. If the weight-related packing method is used then, for light pipes, Pipe Router searches downwards from the top edge of the routing plane edges looking for a free slot with a large enough gap between it and any adjacent pipe. For heavy pipes Pipe Router searches upwards from the bottom edge of the plane. Pipes for which no rule exists are treated as light pipes.
Example of Weight-related Packing
If the third and sixth pipes to be packed on a rack are ‘heavy’ and the others are lig


Modelling
Spooling and Checks
Drawings
Export Fabrication Data
Configuration.
Modelling
Modelling
Spooling and Checks
Spooling and Checks
Drawings
Drawings
Export Fabrication Data
Export Fabrication Data
Configuration.
Configuration.

Modelling
Spooling and Checks
Drawings
Export Fabrication Data
Configuration
Modelling
Spooling and Checks
Drawings
Export Fabrication Data
Configuration


At the model stage, fabrication related features are defined, such as fabricated pipe ends, assignment of bending machines and design checks for fabrication. Additional catalog components are also provided as part of Pipe Fabrication.
Assign Bending Machine
A default Bending Machine Reference can be defined for a pipe specification and a Bending Machine Reference in the pipe structure can be modified.
Default Bending Machine Reference in Pipe Specification
To specify a default bending machine reference to each pipe specification using AVEVA Catalogue.
Whenever a pipe is created, the BendMacReference attribute is populated with the default value assigned to the piping specification. By default, the BendMacReference attribute is assigned with a valid default bending machine reference from the pipe specification.

Modify Bending Machine Reference in Pipe Models
If a pipe bend Radius is too large and needs to be changed to a smaller bend radius for design reasons, then the BendMacReference attribute for the zone, pipe or branch can be modified to point to another Fabrication Machine World (FMWL), Group (FMGRP) or Machine (FMBEND).

Click CE to identify the currently selected SITE, ZONE, PIPE or BRAN as the currently selected element.
The list of elements displays the Name, element type and BendMacReference attribute value of each element in the selected pipe structure. The user can select one or more elements to modify.

Select the Highlight selected elements check box to highlight the selected table item in the 3D graphical view.
The Assign Bending Machine part of the Assign Bending Machine window allows the user to assign a new bending machine and modify the bend radius of the selected element.

Assign Bending Machine
Select an FMWLD, FMGRP or FMBEND from the drop-down list to assign a BendMacReference attribute value to the selected element.
Modify Bend Radius
Select the check box to modify the bend radius of the selected element by default. Refer to for further information.
Tidy
Select the check box to tidy the BendMacReference attribute value of the selected element by default. Refer to for further information.
Assign Bending Machine
Select an FMWLD, FMGRP or FMBEND from the drop-down list to assign a BendMacReference attribute value to the selected element.
Modify Bend Radius
Select the check box to modify the bend radius of the selected element by default. Refer to for further information.
Tidy
Select the check box to tidy the BendMacReference attribute value of the selected element by default. Refer to for further information.
Click Apply to assign a new BendMacReference modify the bend radius of the selected element.
Modify Bend Radius
If the Modify Bend radius check box is selected, the bend radius of the selected element is modified by default.
The example below shows the modified bend radius as part of a pipe structure.

Tidy BendMacReference Element
If the Tidy check box is selected, the BendMacReference attribute value of the selected element is tidied by default. If the BendMacReference attribute value of a branch is the same value as the owning pipe, the attribute value is removed from the branch.
The example below shows a pipe and branch with a duplicate BendMacReference attribute value.

When the Tidy check box is selected, the BendMacReference attribute value is removed from the branch.
Details
The Details tab displays a list of change details for the pipework structure, calculated when the bending machine is assigned.
Errors
The Errors tab displays a list of errors for the pipework structure, calculated when the bending machine is assigned.
Bending Error Types
There are three different error types that can be checked for:
Fabricated Pipe Ends
The Fabricated Pipe Ends window defines a plain, slanted or threaded pipe end.

Create Sniped Ends
Specify the angle for the Plain and display a Drawing Note.
By default, the slated angle is 0 which means it is a plain end.
If required, enter a statement in the Drawing Note field, the default is Plain End, the note is displayed on the drawing.
Click Create Sniped Ends, select a pipe end in the 3D graphical view.
The prompt ‘Pick pipe end:’ is displayed.
The Plain fabricated end is added to the pipe and the orientation of the pipe end is displayed.
Specify the angle for the Sniped End and display a Drawing Note.
Enter a value (greater than 0) in the Slanted Angle field to define the angle of the Slanted End in degrees.
If required, enter a statement in the Drawing Note field, the default is Trim pipe end to {deg}, the note is displayed on the drawing.
Note:
{deg} is replaced by the value of the Slanted Angle value in the drawing.
Click Create Sniped Ends. The user must select a pipe end in the 3D graphical view.
The prompt ‘Pick pipe end:’ is displayed.
The sniped fabricated end is added to the pipe and the orientation of the pipe end is displayed.
Create Sniped Ends with Reference Plane
Creates a slanted end by referencing a plane.
Enter a value (greater than 0) in the Sniped Angle field to define the angle of the Sniped End in degrees.
Enter a dimensional value in the Clearance field to define the reference plane clearance.
If required, enter a statement in the Drawing Note field, the default is Trim pipe end to {deg}. The note displays on the drawing.
Note:
{deg} is replaced by the value of the Sniped Angle value in the drawing.
Click Create Sniped Ends with Reference Plane.
The prompt ‘Pick pipe end:’, is displayed then ‘Pick plane:’
The plane is used as the pipe end cutting standard in the 3D graphical view.
The Slated fabricated end is added to the pipe and the orientation of the pipe end is displayed.
Create Thread End
Defines a threaded end for a fabricated pipe end.
Click Create Threaded End. The user must select a pipe end in the 3D graphical view.
The prompt ‘Pick pipe end:’ is displayed.
Select a Threaded Type from the Thread Type drop-down list.
The user can configure the Thread Type, refer to for further information.
The Threaded End consists of four attributes:
Connection
Description
Bore of Picked Tube
Thread Length
The Thread information is shown on the drawing.
If a tube has thread information, the build length value starts with '*' as prefix.
The assembly table contains the thread information.
Remove Fabricated End
Deletes the Fabricated End (Sniped or Threaded). The user must select a pipe end in the 3D graphical view.
Display Fabricated End
Displays information for the created Fabricated End.

Create Sniped Ends

Specify the angle for the Plain and display a Drawing Note.

By default, the slated angle is 0 which means it is a plain end.
If required, enter a statement in the Drawing Note field, the default is Plain End, the note is displayed on the drawing.
Click Create Sniped Ends, select a pipe end in the 3D graphical view.
The prompt ‘Pick pipe end:’ is displayed.
The Plain fabricated end is added to the pipe and the orientation of the pipe end is displayed.

Specify the angle for the Sniped End and display a Drawing Note.

Enter a value (greater than 0) in the Slanted Angle field to define the angle of the Slanted End in degrees.
If required, enter a statement in the Drawing Note field, the default is Trim pipe end to {deg}, the note is displayed on the drawing.
Click Create Sniped Ends. The user must select a pipe end in the 3D graphical view.
The prompt ‘Pick pipe end:’ is displayed.
The sniped fabricated end is added to the pipe and the orientation of the pipe end is displayed.

Create Sniped Ends with Reference Plane
Creates a slanted end by referencing a plane.
Enter a value (greater than 0) in the Sniped Angle field to define the angle of the Sniped End in degrees.
Enter a dimensional value in the Clearance field to define the reference plane clearance.
If required, enter a statement in the Drawing Note field, the default is Trim pipe end to {deg}. The note displays on the drawing.
Click Create Sniped Ends with Reference Plane.
The prompt ‘Pick pipe end:’, is displayed then ‘Pick plane:’
The plane is used as the pipe end cutting standard in the 3D graphical view.
The Slated fabricated end is added to the pipe and the orientation of the pipe end is displayed.

Create Thread End
Defines a threaded end for a fabricated pipe end.
Click Create Threaded End. The user must select a pipe end in the 3D graphical view.
The prompt ‘Pick pipe end:’ is displayed.

Select a Threaded Type from the Thread Type drop-down list.
The user can configure the Thread Type, refer to for further information.
The Threaded End consists of four attributes:
The Thread information is shown on the drawing.
If a tube has thread information, the build length value starts with '*' as prefix.

The assembly table contains the thread information.

Remove Fabricated End
Deletes the Fabricated End (Sniped or Threaded). The user must select a pipe end in the 3D graphical view.

Display Fabricated End
Displays information for the created Fabricated End.
Modelling Consistency Checks
Pipes that are still being designed can be checked for fabrication readiness. Some of the checks require configurable dimensions or minimum distances. By default, the window is now populated with the details of the CE.

To add pipes to be checked, in the Model Explorer click to select the required pipe. Then select Add CE, the CE is displayed in the Modelling Consistency Check window.
To highlight the pipe to be checked in the 3D graphical view, click to select the Highlight selected elements check box. By default the check box is not selected.
To run modelling consistency checks, click Check, a short description (pass or fail) of the check is displayed on the Results tab.

On the CE tab, a more detailed description of the modelling consistency checks are displayed.

On the Options tab, all of the modelling consistency checks are displayed, by default all the checks are selected.

Assign Bending Machine
Select an FMWLD, FMGRP or FMBEND from the drop-down list to assign a BendMacReference attribute value to the selected element.
Modify Bend Radius
Select the check box to modify the bend radius of the selected element by default. Refer to for further information.
Tidy
Select the check box to tidy the BendMacReference attribute value of the selected element by default. Refer to for further information.
Create Sniped Ends
Specify the angle for the Plain and display a Drawing Note.
By default, the slated angle is 0 which means it is a plain end.
If required, enter a statement in the Drawing Note field, the default is Plain End, the note is displayed on the drawing.
Click Create Sniped Ends, select a pipe end in the 3D graphical view.
The prompt ‘Pick pipe end:’ is displayed.
The Plain fabricated end is added to the pipe and the orientation of the pipe end is displayed.
Specify the angle for the Sniped End and display a Drawing Note.
Enter a value (greater than 0) in the Slanted Angle field to define the angle of the Slanted End in degrees.
If required, enter a statement in the Drawing Note field, the default is Trim pipe end to {deg}, the note is displayed on the drawing.
Note:
{deg} is replaced by the value of the Slanted Angle value in the drawing.
Click Create Sniped Ends. The user must select a pipe end in the 3D graphical view.
The prompt ‘Pick pipe end:’ is displayed.
The sniped fabricated end is added to the pipe and the orientation of the pipe end is displayed.
Create Sniped Ends with Reference Plane
Creates a slanted end by referencing a plane.
Enter a value (greater than 0) in the Sniped Angle field to define the angle of the Sniped End in degrees.
Enter a dimensional value in the Clearance field to define the reference plane clearance.
If required, enter a statement in the Drawing Note field, the default is Trim pipe end to {deg}. The note displays on the drawing.
Note:
{deg} is replaced by the value of the Sniped Angle value in the drawing.
Click Create Sniped Ends with Reference Plane.
The prompt ‘Pick pipe end:’, is displayed then ‘Pick plane:’
The plane is used as the pipe end cutting standard in the 3D graphical view.
The Slated fabricated end is added to the pipe and the orientation of the pipe end is displayed.
Create Thread End
Defines a threaded end for a fabricated pipe end.
Click Create Threaded End. The user must select a pipe end in the 3D graphical view.
The prompt ‘Pick pipe end:’ is displayed.
Select a Threaded Type from the Thread Type drop-down list.
The user can configure the Thread Type, refer to for further information.
The Threaded End consists of four attributes:
Connection
Description
Bore of Picked Tube
Thread Length
The Thread information is shown on the drawing.
If a tube has thread information, the build length value starts with '*' as prefix.
The assembly table contains the thread information.
Remove Fabricated End
Deletes the Fabricated End (Sniped or Threaded). The user must select a pipe end in the 3D graphical view.
Display Fabricated End
Displays information for the created Fabricated End.
Not enough tube length before/after bend.
There is not enough straight tube length before or after a bend to change the bend radius. An instance can occur when changing a bending machine reference that uses a larger radius value.
The example below shows the effect of enlarging a bend radius on a tube.
Bending machine cannot handle the outside diameter
The new bending machine reference does not have a suitable bending dimension for the outside diameter of the target pipe.
BendMacReference is not defined.
The BendMacReference attribute value is not defined for any of BRAN, PIPE and ZONE elements in the pipework structure.
Not enough tube length before/after bend.
There is not enough straight tube length before or after a bend to change the bend radius. An instance can occur when changing a bending machine reference that uses a larger radius value.
The example below shows the effect of enlarging a bend radius on a tube.
Not enough tube length before/after bend.
Bending machine cannot handle the outside diameter
The new bending machine reference does not have a suitable bending dimension for the outside diameter of the target pipe.
Bending machine cannot handle the outside diameter
BendMacReference is not defined.
The BendMacReference attribute value is not defined for any of BRAN, PIPE and ZONE elements in the pipework structure.
BendMacReference is not defined.
Connection
Description
Bore of Picked Tube
Thread Length
Connection
Connection
Description
Description
Bore of Picked Tube
Bore of Picked Tube
Thread Length
Thread Length
Note:
{deg} is replaced by the value of the Slanted Angle value in the drawing.
Note:
{deg} is replaced by the value of the Sniped Angle value in the drawing.

Assign Bending Machine
Default Bending Machine Reference in Pipe Specification
BendMacReference
BendMacReference
Modify Bending Machine Reference in Pipe Models
BendMacReference
CE
Highlight selected elements
Assign Bending Machine
Assign Bending Machine
FMWLD
FMGRP
FMBEND
BendMacReference

BendMacReference

Apply
Modify Bend Radius
Modify Bend radius
Tidy BendMacReference Element
Tidy
BendMacReference
BendMacReference
BendMacReference
Tidy
BendMacReference
Details
Details
Errors
Errors
Bending Error Types
BendMacReference
Fabricated Pipe Ends
Fabricated Pipe Ends

Create Sniped Ends
Drawing Note
Create Sniped Ends
Pick pipe end:
Sniped End
Slanted Angle
Drawing Note
Note
:
Slanted Angle
Create Sniped Ends
Pick pipe end:
Create Sniped Ends with Reference Plane
Sniped Angle
Clearance
Note
:
Sniped Angle
Create Sniped Ends with Reference Plane
Pick pipe end:
Pick plane:
Create Thread End
Create Threaded End
Pick pipe end:
Thread Type

Remove Fabricated End
Display Fabricated End
Modelling Consistency Checks
Model Explorer
Add CE
Modelling Consistency Check
Highlight selected elements
Check
Results
CE
Options