Validate Segment Overloading for Input Conductor Considering Underlying Conductors (EWR_ValidateSegmentInConductorRoute)

An opening ID is an entry point used to customize business logic. The Validate Segment Overloading for Input Conductor Considering Underlying Conductors opening ID is available in the Electrical physical system design resources set. It is used to validate the route of a conductor by verifying if a specific segment can be used in the conductor route. Combined with the Compute alternate path based on EWR_ValidateSegmentInConductorRoute result, the opening ID is used to find an alternate route for the conductor based on the result of the validation.

Important: This opening ID is also available for cable routes.
Note: For more information about customization by business rules, see Installation and Setup: Customize: Behavior: Data Setup: Customization by Business Rules.

This page discusses:

General Information

This opening ID is invoked when you route your conductors with the following commands:

  • Manual Routing
  • Automatic Routing, during selection of individual segments or selection of two nodes
  • Conductor Routing Assistant

The aim of the opening ID is to verify the segment loading to validate the route of a conductor.

Moreover, if you select the Compute alternate path based on EWR_ValidateSegmentInConductorRoute result option in Me > Preferences > Equipment > Electrical Discipline > Electrical 3D Design > Conductor Routing tab, the conductor is routed through an alternate path, which is the next shortest path found.

  • In Automatic Routing and Manual Routing (selection of two nodes), if this business logic rejects at least one segment of the shortest path, an alternate route is searched and the business logic is checked again (iteratively until you get a path respecting the business logic or until no more path exists).
  • In Manual Routing (selection of single segment), if this business logic rejects the selected segment, the segment will not be added in the route.

This opening ID also lets you implement several business rules if you want to use several criteria for your validation. The various business logics can be identified using the Logic identifier in the resource set.

Important:
  • Selecting the business logics to be used during the validation of the route is only available in the Conductor Routing Assistant. For more information, see Electrical 3D Design User's Guide: Routing Conductors: Working with the Conductor Routing Assistant: About Conductor Routing Assistant.
  • The name of the Logic identifiers must be unique to ensure the validation.

This opening ID can be used to check:

  • The filling ratio
  • The separation code compatibility

The table below provides you with information related to the definition of the Opening ID.

PLM Opening ID: EWR_ValidateSegmentInConductorRoute
Customization intent: Validation
Execution context: Client

Input Objects

Input objects must be of the following types:

  • ThisObject: Segment being validated for the conductor being routed.
  • Parameters corresponds to the list of other conductors already routed in this segment:
    • ConductorBeingRouted
    • ListAlreadyPassingConductors.
    • MaximumFillingRatio
  • Validation: Variable to set to know if the segment can accommodate the conductor being routed.
  • Severity information:
    • Severity= 0 the treatment is to be continued (no message)
    • Severity= 1 the treatment is to be continued and a warning raised only for Automatic Routing command (displayed in the Report).
    • Severity= 2 the treatment is supposed to be undone.

Context Object Parameters

Parameter NameTypeRead/WriteComments
ConductorBeingRoutedConductor Read The conductor being routed.
ListAlreadyPassingConductorsListRead List of conductors or cable routes already passing through this segment.
MaximumFillingRatioRealReadThe maximum filling ratio value defined for this segment.

The value can be defined using the Maximum Filling Ratio percentage option in your preferences, or using the User Filling ratio option in the Conductor Routing Assistant preferences.

For more information, see Electrical 3D Design User's Guide: Routing Conductors: Working with the Conductor Routing Assistant: About Conductor Routing Assistant.

Sample 1

The following sample explains how to use an opening ID to check segment loading, and to look for an alternate path to route the conductor through it.


Let cond(Conductor)
Let ExistingCondList(List)
Let str(String)
Let nbExistingCond(Integer)
Let SegName(String)

Validation = true
Parameters.Severity = 0

Set cond = Parameters.GetAttributeObject("ConductorBeingRouted")
Set str = ThisObject.Elec_Segreg
Set SegName = ThisObject.Name
Set ExistingCondList = Parameters.GetAttributeObject("ListAlreadyPassingConductors")
Set nbExistingCond = ExistingCondList.Size()

if("1" == str)
{
	if(nbExistingCond >= 1)
	{
		Parameters.Severity = 2
		Parameters.Message = SegName + " is overloaded"
		Validation = false
	}

	if(nbExistingCond == 0)
	{
 		Parameters.Severity = 1
		Parameters.Message = SegName + " is almost full"
		Validation = true
	}
}

Sample 2

The following sample explains how to use the opening ID to validate a conductor's route based on the filling ratio of the segments.

Let cond(Conductor)
Let ExistingCondList(List)
Let str(String)
Let SegName(String)
Let MaxFR(Real)
Let CurrFR(Real)

Validation = true
Parameters.Severity = 0

Set str = ThisObject.Elec_Segreg
Set SegName = ThisObject.Name
ThisObject.Elec_FillingRatio(CurrFR)

CurrFR = CurrFR * 100;

Set cond = Parameters.GetAttributeObject("ConductorBeingRouted")
Set ExistingCondList = Parameters.GetAttributeObject("ListAlreadyPassingConductors")
set MaxFR= Parameters.GetAttributeReal("MaximumFillingRatio")


if("Reinforced" == str)
{
	if(CurrFR  >= MaxFR)
	{
		Parameters.Severity = 1
		Parameters.Message = SegName + " is overloaded but allowed routing as this cableway is reinforced"
		Validation = true
                                        Notify("segment is overloaded but allowed routing as this cableway is reinforced")
	}
}
else
{
	if(CurrFR  >= MaxFR)
	{
		Parameters.Severity = 2
		Parameters.Message = SegName + " is overloaded"
		Validation = false
	}
}

Sample 3

The following sample illustrates how to validate the route of a cable.

Let cableRoute(ElecRoute)
Let ExistingCondList(List)
Let SegName(String)
Let MaxFR(Real)
Let CurrFR(Real)

Notify("Segment Validation BR")

Validation = true
Parameters.Severity = 0

Set SegName = ThisObject.Name
ThisObject.Elec_FillingRatio(CurrFR)

CurrFR = CurrFR * 100

Set cableRoute = Parameters.GetAttributeObject("RouteBeingModified")
Set ExistingCondList = Parameters.GetAttributeObject("ListAlreadyPassingConductors")
set MaxFR= Parameters.GetAttributeReal("MaximumFillingRatio")

Notify("Current Filling Ratio : " + CurrFR)
Notify("Maximum Filling Ratio : " + MaxFR)

if(CurrFR >= MaxFR)
{
  Parameters.Severity = 2
  Parameters.Message = SegName + " is overloaded"
  Validation = false
  Notify("segment is overloaded")
}
else
{
  Parameters.Severity = 0
  Parameters.Message = SegName + " is allowed"
  Validation = true
  Notify("segment is allowed")
}