EKL - BL Customizing routing mode options

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 TypeRestricted Routing ModeList of Available Routing Modes
Logical Pipe Angled and Straight line and single step orthogonal
Logical DuctStraight line and angled linesingle step orthogonal
Logical Cablesingle step orthogonalStraight line and angled line
Logical ConnectionAngledStraight 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)

3DXML