General InformationThis opening ID is invoked when the user confirms the conductor route definition in the Automatic Routing command. See Electrical 3D Design User's Guide: Routing Conductors: Routing Conductors Automatically. Based on separation of conductors inside the segment, you can accept or reject routing of the conductor. This business rule can either:
The table below provides you with information related to the definition of the Opening ID.
Input ObjectsInput objects must be of the following types:
Note:
While creating input parameter (
ListOfConductors ), the result of the business rule EWRRouting_ValidateWireRoute will be taken into account. Context Object Parameters
SampleThe following sample explains how to use an opening ID to validate the routing of all the selected conductors through the segment. /* CATRule signature (do not edit) : (ThisObject : #In Segment, Parameters : #In RuleContext, Validation : #Out Boolean) : #Void */ Let ListConductors(LIST) Let Conductor (Wire) Let sMessage (STRING) Let iSeverity (INTEGER) Let index (INTEGER) Let nbConductors (INTEGER) Let ConductorDia (LENGTH) Let TotalDia (LENGTH) Let SegDia (LENGTH) Let ratio (REAL) Let SegName(String) /* Initialize the parameters, by default success */ set Validation = true set sMessage = "" set iSeverity = 0 set index = 1 set SegDia = ThisObject.Elec_Diameter SegName = ThisObject.Name set ListConductors = Parameters.GetAttributeObject("ListOfLinkedWires") if(NULL <> ListConductors) { nbConductors = ListConductors.Size() /* Initialize the output parameters as success, based on computation result these parameters will be reset*/ Validation = true iSeverity = 0 sMessage = "All the wires could be accomodated in this segments" if(SegName == "A") { if(2 < nbConductors) { Validation = false iSeverity = 2 sMessage = "Error : Segment " + SegName + " is fatally overloaded" } else if(1 < nbConductors) { Validation = true iSeverity = 1 sMessage = "Warning : Segment " + SegName + " is overloaded" } } } else /* No conductor is to be routed from this segment, so return true */ { Validation = true iSeverity = 0 sMessage = "None of the conductors are to be routed from this segment" } Parameters.Message = sMessage Parameters.Severity = iSeverity |