Introduction
Usage : Involved when you route logical pipe, logical duct, or logical cable elements in a diagram view
Allow to customize the routing mode options for different routable objects. Available routing modes are : angle (AngledMode), straight (StraightMode), single step orthogonal (OrthoMode)
Datasetup Resource Set :
- Diagram Resource
Datasetup Resource : Customizing routing mode options
EKL : Preference to restrict routing mode based on type and application (21xFD16LA - FUN118584) - (23xFD01 - FUN129668)
- Variable : RFLP_ROUTINGMODE_PREF
- New BL entry in datasetup Diagram resource
- Restrict the list of available routing modes for each type of logical Routable object (pipe, Duct, Cable ….) between :
- Straight Line route mode
- Angled route mode
- Single Step Orthogonal route mode.
EKL : Customize available angle in angled mode
- The customer can customize the angle of the Angled Route mode through the business rule for any routable objects like logical pipe, logical duct, cable, etc. and logical connection
- The Business Rule “Schematic_CustomizeRoutingModes” is already present to customize routing mode options for different routable objects. Through this rule, user can customize the available routings modes for different types of routables.
- In the existing Business Rule “Schematic_CustomizeRoutingModes”, a new output Boolean (Allow45Angle) parameter is added to customize the angle of Angled mode.
- Parameters.SetAttributeBoolean("StraightMode", StraightModeAvailable)
- Parameters.SetAttributeBoolean("AngledMode", AngledModeAvailable)
- Parameters.SetAttributeBoolean("OrthoMode", OrthoModeAvailable)
- Parameters.SetAttributeBoolean("Allow45Angle", IsFortyFiveAngleAllowed)
Rule Example 1
Description
The following example shows you how to define routing modes for given routing elements.
| Routable Object Type | Restricted Routing Mode | List of Available Routing Modes |
|---|---|---|
| Logical Pipe | Angled and Straight line and single step orthogonal | |
| Logical Duct | Straight line and angled line | single step orthogonal |
| Logical Cable | single step orthogonal | Straight line and angled line |
| Logical Connection | Angled | Straight line and single step orthogonal |
Rule
// ThisObject --> LogicalOccurence
Notify("Rule triggered")
Let RoutableReference(RFLVPMLogicalReference)
Set RoutableReference = Parameters.GetAttributeObject ("Routable_Ref")
Let StraightModeAvailable(Boolean)
Set StraightModeAvailable = TRUE
Let AngledModeAvailable(Boolean)
Set AngledModeAvailable = TRUE
Let OrthoModeAvailable(Boolean)
Set OrthoModeAvailable = TRUE
if (NULL <> RoutableReference)
{
Notify("RoutableObject")
Let RoutableObjectType(String)
Set RoutableObjectType = RoutableReference.V_discipline
If ( "Piping_Logical_Pipe" == RoutableObjectType)
{
Notify("Logical Pipe not restricted mode")
// Set StraightModeAvailable = FALSE
}
Else if ( "HVAC_Logical_Duct" == RoutableObjectType)
{
Notify("Logical Duct")
Set StraightModeAvailable = FALSE
Set AngledModeAvailable = FALSE
}
Else if ( "EleLogicalCable" == RoutableObjectType)
{
Notify("Logical Cable")
Set OrthoModeAvailable = FALSE
}
}
else
{
Notify("Logical Connection")
Set AngledModeAvailable = FALSE
}
Parameters.SetAttributeBoolean("StraightMode", StraightModeAvailable)
Parameters.SetAttributeBoolean("AngledMode", AngledModeAvailable)
Parameters.SetAttributeBoolean("OrthoMode", OrthoModeAvailable)