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)