Electrical Methods

This document describes the methods you can use to create Knowledgeware checks or rules for electrical logical objects.

This page discusses:

Branch.AddBranchPoint (Using Length Mode)

The Branch.AddBranchPoint method can be used in Quality Rules Reuse. This section describes how to add and position a new branch point using a branch extremity, a branch point, or a support as reference.

Signature

Branch.AddBranchPoint(iReferenceElement : Feature, iOrientation : String, iDistance : LENGTH,  oBranchPoint : BranchPoint): Boolean

Arguments

Name Input / Output Required? Type Comment
iReferenceElement Input Yes Feature The reference element can be a:
iOrientation Input Yes String
  • ="after": the branch point is created after the reference element.
  • ="before": the branch point is created before the reference element.
iDistance Input Yes LENGTH The distance between the element and the branch point to add.

When the reference element is a support, the distance is the length between the support's center and the branch point.

oBranchPoint Output Yes BranchPoint The added branch point.

ReturnType

Boolean

The method returns FALSE if the branch point is not correctly created.

Example

The following sample illustrates how to create branch points taking into account an Elec3DSupportRouteElement, an Elec3DDeviceRouteElement, and a Elec3DPointRouteElement.

/*  Create BranchPoint on Primary branch (“BPA”)*/

let BranchPointPrimary(BranchPoint)
let Ext1(SegmentExtremity)
let Ext2(SegmentExtremity)
let Orientation(String)
let Distance(LENGTH)
let ReferenceExt(Feature)
let result(Boolean)


PrimaryBranch.Elec_BranchExtremities(Ext1, Ext2)

set ReferenceExt=Ext1
Orientation="after"
Distance=300mm

result=FALSE
result=PrimaryBranch->AddBranchPoint( ReferenceExt,Orientation,Distance,BranchPointPrimary)

if ( result==TRUE) Notify(" branch point created : ",BranchPointPrimary.Name)
	else Notify(" branch point NOT created !!! ") 
	
/* Creation Branch01 */

/*Create point route element*/

let BPPrimaryRoute(Elec3DPointRouteElement)

result=FALSE
result=CreatePointRouteElement(BranchPointPrimary, BPPrimaryRoute)

if ( result==TRUE) Notify("point route element created ")
	else Notify(" point route element NOT created !!! ") 
	
/* Create Support route element */

let Support1Route(Elec3DSupportRouteElement)
let Support2Route(Elec3DSupportRouteElement)

result=FALSE
result=CreateSupportRouteElement(Support1, 1, Support1Route)
if ( result==TRUE) Notify("support route element 1 created ")
	else Notify(" support route element 1 NOT created !!! ") 
	
result=FALSE
result=CreateSupportRouteElement(Support2, 1, Support2Route)
if ( result==TRUE) Notify("support route element 2 created ")
	else Notify(" support route element 2 NOT created !!! ") 
	
/* Create device route element */

let ListOfCntPt2(List)
let TypeOfCntPt2(list)
let ElecCntPoint2(Elec3DSegmentConnectionPoint)

TypeOfCntPt2.Append("Elec3DSegmentConnectionPoint")

ListElectricalConnectionPoints(Device1.Reference, TypeOfCntPt2, ListOfCntPt2)

let IndexOfConnectionDevice2(integer)

set IndexOfConnectionDevice2=1

if(ListOfCntPt2.Size()>0)
{
	ElecCntPoint2=ListOfCntPt2.GetItem(IndexOfConnectionDevice2)
}
else
{
	Notify("No connection point on Device1 looking for cavities")
		let TypeOfCavity2(list)
	TypeOfCavity2.Append("Elec3DCavity")
	ListElectricalConnectionPoints(Device1.Reference, TypeOfCavity2, ListOfCntPt2)	
	if(ListOfCntPt2.Size()>0)
	{
		ElecCntPoint2=ListOfCntPt2.GetItem(IndexOfConnectionDevice2)
	}
}

let Device1Route(Elec3DDeviceRouteElement)

result=FALSE
result=CreateDeviceRouteElement(Device1, ElecCntPoint2, Device1Route)

if ( result==TRUE) Notify("Device route element 2 created ")
	else Notify("Device route element 2 NOT created !!! ") 
	

let ListOfRouteElement(List)

ListOfRouteElement.Append(BPPrimaryRoute)
ListOfRouteElement.Append(Support1Route)
ListOfRouteElement.Append(Support2Route)
ListOfRouteElement.Append(Device1Route)	

let Branch01(Branch)
result=FALSE
result=CreateBranch(EBG,ListOfRouteElement, Branch01)

if ( result==TRUE) Notify("Branch01created ")
	else Notify("Branch01 NOT created !!! ") 
	
/* set attributes on Branch01 */

Branch01.Name="Branch01"
Branch01.SetBuildMode("Bend")
Branch01.SetBendRadius(20mm)

let Circle(ElecCircularProfile)
CreateCircularProfile(20mm, Circle)

let ListSegment(List)
let Segment1(Segment)

ListSegment=Branch01.Children

if(ListSegment.Size()>0)
{
	Segment1 = ListSegment.GetItem(1)
}

Segment1.SetProfile(Circle)


/* Create BranchPoint on branch01 (“BP1”) and ("BP2") */	
let DistanceBP1(Length)
let DistanceBP2(Length)

set DistanceBP1=20mm
set DistanceBP2=20mm

let BP1(BranchPoint)
let BP2(BranchPoint)
let BP3(BranchPoint)
let BP4(BranchPoint)
let BP5(BranchPoint)

// test with real support
result=FALSE
result=Branch01.AddBranchPoint(Support1,Orientation,DistanceBP1,BP1)
if ( result==TRUE) Notify("BP1 OK ")
	else Notify("Error : BP1 is not created!!!") 
	
result=FALSE
result=Branch01.AddBranchPoint(Support2Route,Orientation,DistanceBP2,BP2)
if ( result==TRUE) Notify("BP2 OK ")
	else Notify("Error : BP2 is not created!!!") 
	

let OrientationBefore(String)	
let DistanceBP3(Length)

OrientationBefore="before"
set DistanceBP3=20mm
result=FALSE
result=Branch01.AddBranchPoint(Device1Route,OrientationBefore,DistanceBP3,BP3)
if ( result==TRUE) Notify("BP3 OK ")
	else Notify("Error : BP3 is not created!!!") 
	

let BP1Route(Elec3DPointRouteElement)	
result=FALSE
result=CreatePointRouteElement(BP1, BP1Route)		
result=FALSE
result=Branch01.AddBranchPoint(BP1Route,OrientationBefore,DistanceBP3,BP4)
if ( result==TRUE) Notify("BP4 OK ")
	else Notify("Error : BP4 is not created!!!") 	
	

result=FALSE
result=Branch01.AddBranchPoint(BPPrimaryRoute,OrientationBefore,DistanceBP3,BP5)
if ( result==TRUE) Notify("Error : : BP5 is created but it is not normal ")
	else Notify("BP5 is not created but this is normal behavior!!!") 
	

// Set profiles on two segments 
let Segment2(Segment)
let Segment3(Segment)

ListSegment=Branch01.Children

if(ListSegment.Size() <> 5)
	Notify("List of segment is different from 5")
else
{
	Segment2=ListSegment.GetItem(2)
	Segment3=ListSegment.GetItem(3)
}

Branch.AddBranchPoint (Using Ratio Mode)

The Branch.AddBranchPoint method can be used in Quality Rules Reuse. This section describes how to add a new branch point on a branch using one of the branch's extremity as positioning reference.

Signature

Branch.AddBranchPoint(iReferenceExtremity : SegmentExtremity, iRatio: Real,  oBranchPoint : BranchPoint):  Boolean

Arguments

Name Input / Output Required? Type Comment
iReferenceExtremity Input Yes SegmentExtremity The reference element is one of the branch extremities.
iRatio Input Yes Real The positioning ratio on the branch's curve. The ratio value is between 0 and 1. The reference element is the first extremity of the branch.
oBranchPoint Output Yes BranchPoint The added branch point.

ReturnType

Boolean

The method returns FALSE if the branch point is not correctly created.

Branch.ComputeAndUpdateName()

The Branch.ComputeAndUpdateName() method can be used to rename an existing branch according to an industrial criteria.

The method delegates the renaming to the Compute Feature Name (Compute_Elec_Feature_Name) opening ID. Therefore, there are no arguments for this method.

For more information about the opening ID, see Data Setup User's Guide: List of Resource Set IDs: 3D Modeling: Electrical Physical System Design Resources: Electrical Physical System Design: Business Logic: Compute Feature Name (Compute_Elec_Feature_Name).

Signature

Branch.ComputeAndUpdateName() : Boolean

ReturnType

Boolean

Branch.Elec_BranchExtremities()

The Branch.Elec_BranchExtremities() method can be used in Quality Rules Reuse.

Signature

Branch.Elec_BranchExtremities(BranchExtremity1 : SegmentExtremity, BranchExtremity2 : SegmentExtremity) : Boolean

Arguments

Name Input / Output Required? Type Comment
BranchExtremity1 Out Yes SegmentExtremity None
BranchExtremity2 Out Yes SegmentExtremity None

ReturnType

Boolean

Branch.GetPath

This method creates the network path of a branch.

Signature

 GetPath(oNetworkPath : Elec3DNetworkPath) : Boolean

Arguments

Name Input / Output Required? Type Comment
oNetworkPath Output Yes Elec3DNetworkPath The path from one branch extremity to the other.

ReturnType

Boolean

The method returns FALSE if the search for the network's nodes and arcs fails.

Branch.ListBranchPoint

The Branch.ListBranchPoint method can be used in Quality Rules Reuse. It allows to retrieve the branch points positioned along a branch.

Signature

Branch.ListBranchPoint(oListBranchPoint : List): Boolean

Arguments

Name Input / Output Required? Type Comment
oListBranchPoint Output Yes List The ordered list of branch points positioned along the branch.

ReturnType

Boolean

The method returns FALSE if the method fails.

Branch.ListElecComponents()

The Branch.ListElecComponents() method can be used in Quality Rules Reuse.

Signature

Branch.ListElecComponents(ListOfElecComponents : List, ReturnOrderedList : Boolean) : Boolean

Arguments

Name Input / Output Required? Type Comment
ListOfElecComponents Out Yes List None
ReturnOrderedList In Yes Boolean None

ReturnType

Boolean

Branch.SetBendRadius

The Branch.SetBendRadius method can be used in Quality Rules Reuse. It allows to define the bend radius value of a branch.

Signature

Branch.SetBendRadius(BendRadius : LENGTH)  : Boolean

Arguments

Name Input / Output Required? Type Comment
BendRadius Input Yes LENGTH The bend radius value.

ReturnType

Boolean

The method returns FALSE if the branch cannot be built correctly with the new bend radius value.

Branch.SetBuildMode

The Branch.SetBuildMode method can be used in Quality Rules Reuse. It allows to define a Build Mode on a branch.

Signature

Branch.SetBuildMode(TypeOfTheBuildMode : String): Boolean

Arguments

Name Input / Output Required? Type Comment
TypeOfTheBuildMode Input Yes String The Build Mode for a branch can be:
  • Slack
  • Length
  • Bend
  • Straight Bend
  • Cornered Polyline

ReturnType

Boolean

The method returns FALSE if the branch cannot be built correctly with the new Build Mode.

Branch.SetLength

The Branch.SetLength method can be used in Quality Rules Reuse. It allows to define the Length value of a branch built in Length mode.

Signature

Branch.SetLength(Length : LENGTH) : Boolean

Arguments

Name Input / Output Required? Type Comment
Length Input Yes Real The length value.

ReturnType

Boolean

The method returns FALSE if:

  • The branch cannot be built correctly with the new Length value.
  • The Build Mode of the branch is not Length.

Branch.SetSlack

The Branch.SetSlack method can be used in Quality Rules Reuse. It allows to define the Slack value of a branch built in Slack mode.

Signature

Branch.SetSlack(Slack : Real) : Boolean

Arguments

Name Input / Output Required? Type Comment
Slack Input Yes Real The slack value.

ReturnType

Boolean

The method returns FALSE if:

  • The branch cannot be built correctly with the new Slack value.
  • The Build Mode of the branch is not Slack.

BranchPoint.GetDistance

The BranchPoint.GetDistance method can be used in Quality Rules Reuse. It allows to retrieve the distance between a branch point and its reference point, provided that the reference point is a branch extremity.

Signature

BranchPoint.GetDistance(iReferenceExtremity : SegmentExtremity, oBranchPointPosition : LENGTH) : Boolean

Arguments

Name Input / Output Required? Type Comment
iReferenceElement Input Yes Feature The branch extremity.
oDistance Output Yes LENGTH The distance between the branch extremity and the branch point.

ReturnType

Boolean

The method returns FALSE if the branch point position cannot be computed.

Conductor.ComputeAndUpdateName()

The Conductor.ComputeAndUpdateName() method can be used to rename an existing conductor according to an industrial criteria.

The method delegates the renaming to the Compute Feature Name (Compute_Elec_Feature_Name) opening ID. Therefore, there are no arguments for this method.

For more information about the opening ID, see Data Setup User's Guide: List of Resource Set IDs: 3D Modeling: Electrical Physical System Design Resources: Electrical Physical System Design: Business Logic: Compute Feature Name (Compute_Elec_Feature_Name).

Signature

Conductor.ComputeAndUpdateName(): Boolean

ReturnType

Boolean

Conductor.ComputedMinAngle()

The Conductor.ComputedMinAngle() method can be used in Quality Rules Reuse.

Signature

Conductor.ComputedMinAngle(MinBendAngle : ANGLE, Segment1 : Segment, Segment2 : Segment) : Boolean

Arguments

Name Input / Output Required? Type Comment
MinBendAngle Out Yes ANGLE None
Segment1 Out Yes Segment None
Segment2 Out Yes Segment None

ReturnType

Boolean

Conductor.ComputedMinBendRadius()

TheConductor.ComputedMinBendRadius() method can be used in Quality Rules Reuse.

Signature

Conductor.ComputedMinBendRadius(MinBendRadius : LENGTH, Segment : Segment) : Boolean

Arguments

Name Input / Output Required? Type Comment
MinBendRadius Out Yes LENGTH None
Segment Out Yes Segment None

ReturnType

Boolean

Conductor.FromTo()

The Conductor.FromTo() method can be used in Quality Rules Reuse.

Signature

Conductor.FromTo(From Product : VPMInstance, FromConnectionPointName : String, To Product : VPMInstance, ToConnectionPointName : String) : Boolean

Arguments

Name Input / Output Required? Type Comment
From Product Out Yes VPMInstance None
FromConnectionPointName Out Yes String None
To Product Out Yes VPMInstance None
ToConnectionPointName Out Yes String None

ReturnType

Boolean

Conductor.GetFromTo()

The Conductor.GetFromTo() method allows to get the properties of devices and cavities positioned at a conductor's ends.

Signature

Conductor.GetFromTo(FromDevice : ProductOccurrence, FromCavity : Elec3DCavity, ToDevice : ProductOccurrence, ToCavity : Elec3DCavity) : Boolean

Arguments

Name Input / Output Required? Type Comment
FromDevice Output Yes ProductOccurrence Occurrence of an equipment or device at a conductor's "From" end.

Can be NULL for spare cables.

FromCavity Output Yes Elec3DCavity Cavity at a conductor's "From" End.

Can be NULL if the conductor is defined directly until the device.

ToDevice Output Yes ProductOccurrence Occurrence of an equipment or device at a conductor's "To" end.

Can be NULL for spare cables.

ToCavity Output Yes Elec3DCavity Cavity at a conductor To End.

Can be NULL if the conductor is defined directly until the device.

ReturnType

Boolean

The method returns TRUE if the conductor's ends are retrieved successfully (even if the devices and/or cavities at ends are not defined).

Note: The output ProductOccurrence always supports one of the exposed equipment or device occurrence types (such as Elec3DSingleInsertConnectorOccurrence, Elec3DSpliceOccurrence, Elec3DShellOccurrence, SharedEquipmentPartOccurrence).

Example

let FromDevice (ProductOccurrence)
let ToDevice (ProductOccurrence)
let FromCavity (Elec3DCavity)
let ToCavity (Elec3DCavity)
let Result (Boolean)
let sMessage (STRING)
let sName (STRING)

set sMessage = Obj.Name
Result = Obj->GetFromTo (FromDevice, FromCavity, ToDevice, ToCavity)

if(true == Result)
	sMessage = sMessage + ": Result = true, "
else 
	sMessage = sMessage + ": Result = false, "

sMessage = sMessage + "From Device = "

set sName = "NULL"
if(NULL <> FromDevice) sName = FromDevice.Name
sMessage = sMessage + sName + ", From Cavity = "

set sName = "NULL"
if(NULL <> FromCavity) sName = FromCavity.Name
sMessage = sMessage + sName + ", To Device = "

set sName = "NULL"
if(NULL <> ToDevice) sName = ToDevice.Name
sMessage = sMessage + sName + ", To Cavity = "

set sName = "NULL"
if(NULL <> ToCavity) sName = ToCavity.Name
sMessage = sMessage + sName

Notify (sMessage)

Conductor.GetPath

This method creates the network path(s) and the extremities of a conductor.

Signature

GetPath(oNetworkPathList : List, oCFrom : Elec3DConductorEnd, oCTo : Elec3DConductorEnd) : Boolean

Arguments

Name Input / Output Required? Type Comment
oNetworkPathList Output Yes List The paths created from the conductor route.
Important:
  • The list is empty if the conductor is not routed.
  • The list may contains several paths if the conductor is routed manually.
oCFrom Output Yes Elec3DConductorEnd The first extremity of the conductor (From).
oCTo Output Yes Elec3DConductorEnd The second extremity of the conductor (To).

ReturnType

Boolean

The method returns FALSE if:

  • The conductor is not fully routed.
  • The search for the network path fails.

Conductor.GetRoute()

The Conductor.GetRoute() method exposes the list of segments and distant links through which a conductor is routed in sequential order. It also enables to retrieve the segments' length in a route.

The sequence starts from the "From" end of a conductor and ends to its "To" end.

Signature

Conductor.GetRoute(ListOfElements : List, ListOfLengthInRoute : List) : Boolean

Arguments

Name Input/Output Required? Type Comment
ListOfElements Output Yes List List of segments and distant links in sequential order.
ListOfLenghthInRoute Output Yes List List of the elements' length composing the route.

For segments, the method returns the complete length if the conductor is routed through the whole segment. If the conductor is partially routed through a segment (due to proxy branch point or distant link incident on it), the method returns the partial length of this segment.

For distant links, the method returns the length between the segment and the device's origin or cavity center.

Note: For distant links, the length is calculated as follows:
  • ExtraLength value returned by ElecDeviceDistantLink is included.
  • Output from opening ID EWR_ComputeLengthOfDistantLink is included.

    For more information, see Data Setup User's Guide: Compute the Length of a Distant Link (EWR_ComputeLengthOfDistantLink).

  • Cavities' extra length is not included.

ReturnType

Boolean

The method returns TRUE if the conductor's route is complete and if the elements in the route are listed successfully.

The method returns FALSE if the conductor is not routed or has a broken route or if the segments' listing fails.

Example

Object:Conductor
//------------------------------------------------------------------------------
// Check, using function GetRoute of Conductor
//-----------------------------------------------------------------------------
let ListOfSegmentOrDistantLinks(LIST)
let ListOfLengthInRoute(LIST)
let bool(BOOLEAN)
let i(INTEGER)
let sizeSegment(INTEGER)
let sizeLength(INTEGER)
let len(Length)
let sMessage(STRING)
let sMessageLength(STRING)
let feat (Feature)

bool = Object.GetRoute( ListOfSegmentOrDistantLinks, ListOfLengthInRoute) 


set sMessage = "Conductor Name - " + Object.Name
if(true == bool) set sMessage = sMessage + "; Result = TRUE"
else set sMessage = sMessage + "; Result = FALSE"

if( (NULL <> ListOfSegmentOrDistantLinks) and (NULL <> ListOfLengthInRoute) )
{
	set sMessage = sMessage + ", Number of elements = "
	sizeSegment = ListOfSegmentOrDistantLinks->Size()
	sizeLength = ListOfLengthInRoute->Size()

	if(sizeSegment == sizeLength)
	{
		set sMessage = sMessage + ToString(sizeLength) + ", List of Elements in Route and their lengths – ["
		i = 1
		for i while i<= sizeSegment
		{	
			set feat = ListOfSegmentOrDistantLinks->GetItem(i)
			set len = ListOfLengthInRoute->GetItem(i)
			if(NULL <> feat) set sMessage = sMessage + feat.Name + "("
			else set sMessage = sMessage + "("
		
			set sMessage = sMessage + ToString(len) + ")"
			if(i < sizeSegment) set sMessage = sMessage + ", "
		}
		set sMessage = sMessage +  "]"
	}
}
else
{
	set sMessage = sMessage + ", NULL/ INVALID Lists"
}
Notify(sMessage)

Conductor.GetRouteBendInformation()

The Conductor.GetRouteBendInformation() method exposes information about conductors' bends.

The following information is provided in three lists:

  • Bends angles
  • Bends entry segments
  • Bends exit segments

Important:
  • The results returned by the method depend on your harness design. The ordering of the information is not guaranteed but the three lists are always synchronized.
  • The method exposes bend information only for branches built with Cornered Polyline. See Example 4 below.

Signature

Conductor.GetRouteBendInformation(oListBendAngleValues : List, oListEntrySegmentsOnBend : List, oListExitSegmentsOnBend : List) : Boolean

Arguments

Name Input/Output Required? Type Comment
oListBendAngleValues Out Yes List List of angles for each bend
oListEntrySegmentsOnBend Out Yes List List of entry segments per bend
oListExitSegmentsOnBend Out Yes List List of exit segments per bend

Example 1

In this example, Segment 1 and Segment 2 are connected to Segment 3 with the branch point BP. Conductor 1 is routed through Segment 1.

  • D1, D2, D3 refer to the devices.
  • S1, S2, S3 refer to Segment 1, Segment 2, and Segment 3.
  • C1 refers to Conductor 1.
  • BP refers to the branch point.

If you call C1.GetRouteBendInformation(), you get:

oListBendAngleValues : 90deg, 90deg, 90deg
oListEntrySegmentsOnBend : S3, S1, S1
oListExitSegmentsOnBend : S1, S1, S1
Note: The result is the same if the model comprises a proxy branch point instead of a branch point.

Example 2

In this example, Segment 1, Segment 2, and Segment 3 are connected with two branch points. Conductor 1 is routed inside a bend.

  • D1 and D2 refer to the devices.
  • S1, S2, S3 refer to Segment 1, Segment 2, and Segment 3.
  • A1, A2, A3 refer to the angles.
  • C1 refers to Conductor 1.
  • BP1 and BP2 refers to the branch points.

If you call C1.GetRouteBendInformation(), you get:

oListBendAngleValues : A1,A2, A3
oListEntrySegmentsOnBend : S1, S2, S2
oListExitSegmentsOnBend : S2, S3, S2

Example 3

In this example, Conductor 1 is partially routed.

  • D1, D2, D3 refer to the devices.
  • S1, S2, S3, S4 refer to the segments.
  • C1 refers to Conductor 1.

If you call C1.GetRouteBendInformation(), you get:

oListBendAngleValues : 90deg
oListEntrySegmentsOnBend : S1
oListExitSegmentsOnBend : S1

Example 4

In this example, Conductor 1 is routed inside a bend through Segment 1, Segment 2, and Segment 3. Segment 2 belongs to Branch 1 which is not built with the Cornered Polyline mode.

  • D1 and D2 refer to the devices.
  • S1, S2, and S3 refer to Segment 1, Segment 2, and Segment 3.
  • C1 refers to Conductor 1.
  • B1 refers to Branch 1.

If you call C1.GetRouteBendInformation(), you get:

oListBendAngleValues : Empy
oListEntrySegmentsOnBend : Empty
oListExitSegmentsOnBend : Empty

Example 5

The following schema represents a model in which the route of Conductor 1 is broken.

  • D1, D2, D3 refer to the device.
  • S1, S1', S2, S3, S4, S5 refer to the segments.
  • C1 refers to Conductor 1.

If you call C1.GetRouteBendInformation(), you get:

oListBendAngleValues : 90deg, 90deg, 90deg, 90deg, 90deg, 90deg
oListEntrySegmentsOnBend : S1, S2, S1’, S1, S1’, S3
oListExitSegmentsOnBend : S1, S2, S1’, S1’, S2, S4

Particular Case: Broken Route with Proxy Branch Point

In this example, Segment 1 and Segment 1' are connected with a proxy branch point and the route of Conductor 1 is broken.

  • D1, D2, D3 refer to the devices.
  • S1, S1', S2, S3 refer to segment 1, segment 1', segment 2, and segment 3.
  • C1 refers to Conductor 1.
  • PBP refers to the proxy branch point.


In this case, the proxy branch point's angles may not be detected.

Conductor.SetPath

This method allows to assign a network path to a conductor to define its route.

Note: If the conductor is already routed, the existing route is reset and replaced by the new route.

Signature

Conductor.SetPath (iList3DNetworkPath:List) : Integer

Arguments

Name Input / Output Required? Type Comment
iList3DNetworkPath Input Yes List List of the network paths defining the route of the conductor.

If the list is empty, the route is reset.

ReturnType

Integer

Important: When you work with an electrical physical sytem linked to several electrical geometries, the method fails if the assigned path contains arcs corresponding to segments which do not belong to one of the electrical geometries.

ConductorGroup.AddConductor

This method allows to assign a conductor to a conductor group.

Signature

ConductorGroup.AddConductor (iConductorToAdd:ElecConductor) : Integer

Arguments

Name Input / Output Required? Type Comment
iConductorToAdd Input Yes List The conductor to add in the conductor group.

ReturnType

Integer

The method returns FALSE if the conductor already belongs to another conductor group.

ConductorGroup.CreateConductor

This method allows to create a conductor in a conductor group specifying the devices and/or cavities the conductor is connected to.

Signature

ConductorGroup.CreateConductor ( iDeviceOccurrenceFrom:ProductOccurrence, iCavityFrom:ElecPort, iDeviceOccurrenceTo:ProductOccurrence, iCavityTo:ElecPort, oConductor:ElecConductor) : Integer

Arguments

Name Input / Output Required? Type Comment
iDeviceOccurrenceFrom Input Yes ProductOccurence The device from which the conductor is connected.
iCavityFrom Input Yes ElecPort The cavity from which the conductor is connected.
Note: This parameter can be null.
iDeviceOccurrenceTo Input Yes ProductOccurence The device to which the conductor is connected.
iCavityTo Input Yes ElecPort The cavity to which the conductor is connected.
Note: This parameter can be null.
oConductor Output Yes ElecConductor The new conductor

ReturnType

Integer

Important: When you work with an electrical physical system linked to several electrical geometries, the method fails if the input devices do not belong to one of the electrical geometries.

ConductorGroup.ComputeAndUpdateName()

The ConductorGroup.ComputeAndUpdateName() method can be used to rename an existing conductor group according to an industrial criteria.

The method delegates the renaming to the Compute Feature Name (Compute_Elec_Feature_Name) opening ID. Therefore, there are no arguments for this method.

For more information about the opening ID, see Data Setup User's Guide: List of Resource Set IDs: 3D Modeling: Electrical Physical System Design Resources: Electrical Physical System Design: Business Logic: Compute Feature Name (Compute_Elec_Feature_Name).

Signature

ConductorGroup.ComputeAndUpdateName(): Boolean

ReturnType

Boolean

ElecDeviceDistantLink.GetAbscissa

The ElecDeviceDistantLink.GetAbscissa() method enables to get the position of a device distant link on a segment curve from the segment's start extremity.

Signature

ElecDeviceDistantLink.GetAbscissa(LengthFromStart: LENGTH) : Boolean

Arguments

Name Input / Output Required? Type Comment
ElecDeviceDistantLink Input Yes ElecDeviceDistantLink -
LengthFromStart Output Yes LENGTH Length or abscissa of a distant link computed on a segment from its start extremity.

ReturnType

Boolean

The method returns TRUE if the distant links search succeeds, and FALSE if the search fails.

ElecDeviceDistantLink.GetDeviceDistantLinkLength

This method enables to get the length between a device and a branch which are connected through a distant link.

Signature

ElecDeviceDistantLink.GetDeviceDistantLinkLength(DeviceDistantLinkLength : LENGTH, Conductor : Conductor) : Boolean

Arguments

Name Input/Output Required? Type Comment
DeviceDistantLinkLength Out Yes LENGTH -
Conductor In Yes Conductor

When the conductor ends on a particular device cavity, the length is calculated from the segment to this device cavity.

If the conductor ends on a device or if Conductor is not given as Input, the length is calculated from the segment to the device origin.

Note: Only the Conductor and ElecRoute types are supported.

Note: The DeviceDistantLinkLength is calculated as follows:
  • ExtraLength value returned by ElecDeviceDistantLink is included.
  • Output from opening ID EWR_ComputeLengthOfDistantLink is included.

    For more information, see Data Setup User's Guide: Compute the Length of a Distant Link (EWR_ComputeLengthOfDistantLink).

  • Cavities' extra length is not included.

ReturnType

Boolean

The method returns TRUE if the distant links search succeeds, and FALSE if the search fails.

ElecItinerary.IsEqual()

This methods allows to compare the itinerary of a validated cable route against the itinerary computed during a network impact analysis.

Signature

ElecItinerary.IsEqual(ElecItineraryArgument : ElecItinerary) : Boolean

Arguments

Name Input/Output Required? Type Comment
ElecItineraryArgument In ElecItinerary -

ReturnType

Boolean

ElecRoute.ActivateConstraint()

This method activates the inclusive or exclusive constraints on a cable-route.

Signature

ElecRoute.ActivateConstraint() : Integer

ReturnType

Integer

The method returns 0 if the activation of constraints fails.

The method returns 1 if the activation of constraints succeeds.

ElecRoute.AddExclusionConstraint()

This method creates an exception on the input path so that the path is always excluded from the automatic routing of cable-routes.

Signature

ElecRoute.AddExclusionConstraint(ListElec3DNetworkPath : List) : Integer

Arguments

Name Input/Output Required? Type Comment
ListElec3DNetworkPath In List -

ReturnType

Integer

ElecRoute.AddInclusionConstraint()

This method constraints the input path so that the path is always included in the route of the cable-route when it is automatically routed.

Signature

ElecRoute.AddInclusionConstraint(ListElec3DNetworkPath : List) : Integer

Arguments

Name Input/Output Required? Type Comment
ListElec3DNetworkPath In List -

ReturnType

Integer

ElecRoute.ComputeAndUpdateName()

This method allows to retrieve and update the name of a cable's route.

Signature

ElecRoute.ComputeAndUpdateName() : Integer

ReturnType

Integer

Example

Let Cable(Elec3DCable)
Let CableRef(Elec3DCableReference)
Let RouteList(LIST)
Let RouteListStatus(LIST)

set Cable = ThisObject.Reference
Cable.ListOrderedRoutes(RouteList, RouteListStatus)

let ThisRoute(ElecRoute)

for ThisRoute inside RouteList
{
	Notify("RouteName: " + ThisRoute.Name)
	
	// Attributes
	let ThisRouteLength(LENGTH)
	let ThisRouteStatus(RouteStatus)
	let ThisValidationStatus(RouteValidationStatus)
	
	set ThisRouteLength = ThisRoute.Elec_ValidatedLength
	set ThisRouteStatus = ThisRoute.Elec_ValidatedRouteStatus
	set ThisValidationStatus = ThisRoute.Elec_ValidationStatus
	
	Notify("ThisRouteLength: " + ThisRouteLength)
	
	if ("Not_Routed" == ThisRouteStatus)
		Notify("ThisRouteStatus: Not_Routed")
	else if ("Routed" == ThisRouteStatus)
		Notify("ThisRouteStatus: Routed")
	
	if ("Not_Validated" == ThisValidationStatus)
		Notify("ThisValidationStatus: Not_Validated")
	else if ("Fully_Validated" == ThisValidationStatus)
		Notify("ThisValidationStatus: Fully_Validated")
	
	
	// Method GetCable()
	let parentCable(Elec3DCableOccurrence)
	ThisRoute.GetCable(parentCable)
	Notify("Parent Cable: " + parentCable.Name)
	
	// Method ComputeRouteStatus()
	let computedRouteSts(RouteStatus)
	ThisRoute.ComputeRouteStatus(computedRouteSts)
	if ("Not_Routed" == computedRouteSts)
		Notify("computedRouteSts: Not_Routed")
	else if ("Routed" == computedRouteSts)
		Notify("computedRouteSts: Routed")
	
	// Method ComputeLength()
	let ComputedLength(LENGTH)
	ThisRoute.ComputeLength(ComputedLength)
	Notify("ComputedLength: " + ComputedLength)
	
	// Method GetLastRoutingRuleSet()
	let LastRuleSet(RouteRuleSet)
	ThisRoute.GetLastRoutingRuleSet(LastRuleSet)
	Notify("LastRuleSet: " + LastRuleSet.Name)
	
	// Method ComputeAndUpdateName()
	// This will invoke the BusinessRule : Compute_Elec_Feature_Name. BR already provided.
	ThisRoute.ComputeAndUpdateName ()
	Notify("Updated Name: " + ThisRoute.Name)
	
}

ElecRoute.ComputeLength()

This methods allows to retrieve the length of a cable's route.

Signature

ElecRoute.ComputeLength(Length : LENGTH) : Integer

Arguments

Name Input/Output Required? Type Comment
Length Out LENGTH Computed length of the route of the cable.

ReturnType

Integer

Example

Let Cable(Elec3DCable)
Let CableRef(Elec3DCableReference)
Let RouteList(LIST)
Let RouteListStatus(LIST)

set Cable = ThisObject.Reference
Cable.ListOrderedRoutes(RouteList, RouteListStatus)

let ThisRoute(ElecRoute)

for ThisRoute inside RouteList
{
	Notify("RouteName: " + ThisRoute.Name)
	
	// Attributes
	let ThisRouteLength(LENGTH)
	let ThisRouteStatus(RouteStatus)
	let ThisValidationStatus(RouteValidationStatus)
	
	set ThisRouteLength = ThisRoute.Elec_ValidatedLength
	set ThisRouteStatus = ThisRoute.Elec_ValidatedRouteStatus
	set ThisValidationStatus = ThisRoute.Elec_ValidationStatus
	
	Notify("ThisRouteLength: " + ThisRouteLength)
	
	if ("Not_Routed" == ThisRouteStatus)
		Notify("ThisRouteStatus: Not_Routed")
	else if ("Routed" == ThisRouteStatus)
		Notify("ThisRouteStatus: Routed")
	
	if ("Not_Validated" == ThisValidationStatus)
		Notify("ThisValidationStatus: Not_Validated")
	else if ("Fully_Validated" == ThisValidationStatus)
		Notify("ThisValidationStatus: Fully_Validated")
	
	
	// Method GetCable()
	let parentCable(Elec3DCableOccurrence)
	ThisRoute.GetCable(parentCable)
	Notify("Parent Cable: " + parentCable.Name)
	
	// Method ComputeRouteStatus()
	let computedRouteSts(RouteStatus)
	ThisRoute.ComputeRouteStatus(computedRouteSts)
	if ("Not_Routed" == computedRouteSts)
		Notify("computedRouteSts: Not_Routed")
	else if ("Routed" == computedRouteSts)
		Notify("computedRouteSts: Routed")
	
	// Method ComputeLength()
	let ComputedLength(LENGTH)
	ThisRoute.ComputeLength(ComputedLength)
	Notify("ComputedLength: " + ComputedLength)
	
	// Method GetLastRoutingRuleSet()
	let LastRuleSet(RouteRuleSet)
	ThisRoute.GetLastRoutingRuleSet(LastRuleSet)
	Notify("LastRuleSet: " + LastRuleSet.Name)
	
	// Method ComputeAndUpdateName()
	// This will invoke the BusinessRule : Compute_Elec_Feature_Name. BR already provided.
	ThisRoute.ComputeAndUpdateName ()
	Notify("Updated Name: " + ThisRoute.Name)
	
}

ElecRoute.ComputeRouteStatus()

This methods allows to retrieve the current route status of a cable's route.

Signature

ElecRoute.ComputeRouteStatus(RouteStatus : RouteStatus) : Integer

Arguments

Name Input/Output Required? Type Comment
RouteStatus Out RouteStatus Computed route status.

ReturnType

Integer

Example

Let Cable(Elec3DCable)
Let CableRef(Elec3DCableReference)
Let RouteList(LIST)
Let RouteListStatus(LIST)

set Cable = ThisObject.Reference
Cable.ListOrderedRoutes(RouteList, RouteListStatus)

let ThisRoute(ElecRoute)

for ThisRoute inside RouteList
{
	Notify("RouteName: " + ThisRoute.Name)
	
	// Attributes
	let ThisRouteLength(LENGTH)
	let ThisRouteStatus(RouteStatus)
	let ThisValidationStatus(RouteValidationStatus)
	
	set ThisRouteLength = ThisRoute.Elec_ValidatedLength
	set ThisRouteStatus = ThisRoute.Elec_ValidatedRouteStatus
	set ThisValidationStatus = ThisRoute.Elec_ValidationStatus
	
	Notify("ThisRouteLength: " + ThisRouteLength)
	
	if ("Not_Routed" == ThisRouteStatus)
		Notify("ThisRouteStatus: Not_Routed")
	else if ("Routed" == ThisRouteStatus)
		Notify("ThisRouteStatus: Routed")
	
	if ("Not_Validated" == ThisValidationStatus)
		Notify("ThisValidationStatus: Not_Validated")
	else if ("Fully_Validated" == ThisValidationStatus)
		Notify("ThisValidationStatus: Fully_Validated")
	
	
	// Method GetCable()
	let parentCable(Elec3DCableOccurrence)
	ThisRoute.GetCable(parentCable)
	Notify("Parent Cable: " + parentCable.Name)
	
	// Method ComputeRouteStatus()
	let computedRouteSts(RouteStatus)
	ThisRoute.ComputeRouteStatus(computedRouteSts)
	if ("Not_Routed" == computedRouteSts)
		Notify("computedRouteSts: Not_Routed")
	else if ("Routed" == computedRouteSts)
		Notify("computedRouteSts: Routed")
	
	// Method ComputeLength()
	let ComputedLength(LENGTH)
	ThisRoute.ComputeLength(ComputedLength)
	Notify("ComputedLength: " + ComputedLength)
	
	// Method GetLastRoutingRuleSet()
	let LastRuleSet(RouteRuleSet)
	ThisRoute.GetLastRoutingRuleSet(LastRuleSet)
	Notify("LastRuleSet: " + LastRuleSet.Name)
	
	// Method ComputeAndUpdateName()
	// This will invoke the BusinessRule : Compute_Elec_Feature_Name. BR already provided.
	ThisRoute.ComputeAndUpdateName ()
	Notify("Updated Name: " + ThisRoute.Name)
	
}

ElecRoute.DeactivateConstraint()

This method deactivates inclusive and exlusive constraints on a cable-route.

Signature

ElecRoute.DeactivateConstraint() : Integer

ReturnType

Integer

The method returns 0 if the deactivation of constraints fails.

The method returns 1 if the deactivation of constraints succeeds.

ElecRoute.GetCable()

The method allows to retrieve the cable to which a route belongs.

Signature

ElecRoute.GetCable(ParentCable : Elec3DCableOccurrence) : Integer

Arguments

Name Input/Output Required? Type Comment
ParentCable Out Elec3DCableOccurrence The cable to which a route belongs.

ReturnType

Integer

Example

Let Cable(Elec3DCable)
Let CableRef(Elec3DCableReference)
Let RouteList(LIST)
Let RouteListStatus(LIST)

set Cable = ThisObject.Reference
Cable.ListOrderedRoutes(RouteList, RouteListStatus)

let ThisRoute(ElecRoute)

for ThisRoute inside RouteList
{
	Notify("RouteName: " + ThisRoute.Name)
	
	// Attributes
	let ThisRouteLength(LENGTH)
	let ThisRouteStatus(RouteStatus)
	let ThisValidationStatus(RouteValidationStatus)
	
	set ThisRouteLength = ThisRoute.Elec_ValidatedLength
	set ThisRouteStatus = ThisRoute.Elec_ValidatedRouteStatus
	set ThisValidationStatus = ThisRoute.Elec_ValidationStatus
	
	Notify("ThisRouteLength: " + ThisRouteLength)
	
	if ("Not_Routed" == ThisRouteStatus)
		Notify("ThisRouteStatus: Not_Routed")
	else if ("Routed" == ThisRouteStatus)
		Notify("ThisRouteStatus: Routed")
	
	if ("Not_Validated" == ThisValidationStatus)
		Notify("ThisValidationStatus: Not_Validated")
	else if ("Fully_Validated" == ThisValidationStatus)
		Notify("ThisValidationStatus: Fully_Validated")
	
	
	// Method GetCable()
	let parentCable(Elec3DCableOccurrence)
	ThisRoute.GetCable(parentCable)
	Notify("Parent Cable: " + parentCable.Name)
	
	// Method ComputeRouteStatus()
	let computedRouteSts(RouteStatus)
	ThisRoute.ComputeRouteStatus(computedRouteSts)
	if ("Not_Routed" == computedRouteSts)
		Notify("computedRouteSts: Not_Routed")
	else if ("Routed" == computedRouteSts)
		Notify("computedRouteSts: Routed")
	
	// Method ComputeLength()
	let ComputedLength(LENGTH)
	ThisRoute.ComputeLength(ComputedLength)
	Notify("ComputedLength: " + ComputedLength)
	
	// Method GetLastRoutingRuleSet()
	let LastRuleSet(RouteRuleSet)
	ThisRoute.GetLastRoutingRuleSet(LastRuleSet)
	Notify("LastRuleSet: " + LastRuleSet.Name)
	
	// Method ComputeAndUpdateName()
	// This will invoke the BusinessRule : Compute_Elec_Feature_Name. BR already provided.
	ThisRoute.ComputeAndUpdateName ()
	Notify("Updated Name: " + ThisRoute.Name)
	
}

ElecRoute.GetConstraintStatus()

This method retrieves the constraint status for a cable-route.

Signature

ElecRoute.GetConstraintStatus(ConstraintStatus : Integer) : Integer

Arguments

Name Input/Output Required? Type Comment
ConstraintStatus Out Integer

Gets the constraint status of a cable-route.

The following values are available:

  • 1: activated constraints
  • 0: deactivated constraints
  • -1: not constrained

ReturnType

Integer

The method returns 0 if the method fails to retrieve the constraint status.

The method returns 1 if the method succeeds to retrieve the constraint status.

ElecRoute.GetExclusionConstraint()

This method retrieves the path of a cable-route which is added as an exlusion constraint.

Signature

ElecRoute.GetExclusionConstraint(ListElec3DNetworkPath : List) : Integer

Arguments

Name Input/Output Required? Type Comment
ListElec3DNetworkPath Out List -

ReturnType

Integer

The method returns 0 if it fails to retrieve the path of the exclusion constraint.

The method returns 1 if the path is successfully retrieved.

ElecRoute.GetFrom()

This method allows to retrieve the extremity which is at the start of a cable's route.

Signature

ElecRoute.GetFrom(FromProductOcc : ProductOccurrence, FromPort : VPMPort) : Integer

Arguments

Name Input/Output Required? Type Comment
FromProductOcc Out ProductOccurrence The device positioned at the "From" end of the route.
FromPort Out VPMPort The connection point.

ReturnType

Integer

ElecRoute.GetInclusionConstraint()

This method retrieves the path of a cable-route which is added as an inclusion constraint.

Signature

ElecRoute.GetInclusionConstraint(ListElec3DNetworkPath : List) : Integer

Arguments

Name Input/Output Required? Type Comment
ListElec3DNetworkPath Out List -

ReturnType

Integer

The method returns 0 if it fails to retrieve the path of the inclusion constraint.

The method returns 1 if the path is successfully retrieved.

The method returns 2 if no inclusion constraint is found.

ElecRoute.GetLastRoutingRuleSet()

This method allows to retrieve the route rule set which comprises the information defining the path of a cable's route.

Signature

ElecRoute.GetLastRoutingRuleSet(RoutingRuleSet : RouteRuleSet) : Integer

Arguments

Name Input/Output Required? Type Comment
RoutingRuleSet Out RouteRuleSet The RouteRuleSet type which holds the information used to define the path of the cable's route.

ReturnType

Integer

The returned integer can be:

  • -1: the route rule set is not retrieved.
  • 0: the method fails.
  • 1: the methods succeeds.

Example

Let Cable(Elec3DCable)
Let CableRef(Elec3DCableReference)
Let RouteList(LIST)
Let RouteListStatus(LIST)

set Cable = ThisObject.Reference
Cable.ListOrderedRoutes(RouteList, RouteListStatus)

let ThisRoute(ElecRoute)

for ThisRoute inside RouteList
{
	Notify("RouteName: " + ThisRoute.Name)
	
	// Attributes
	let ThisRouteLength(LENGTH)
	let ThisRouteStatus(RouteStatus)
	let ThisValidationStatus(RouteValidationStatus)
	
	set ThisRouteLength = ThisRoute.Elec_ValidatedLength
	set ThisRouteStatus = ThisRoute.Elec_ValidatedRouteStatus
	set ThisValidationStatus = ThisRoute.Elec_ValidationStatus
	
	Notify("ThisRouteLength: " + ThisRouteLength)
	
	if ("Not_Routed" == ThisRouteStatus)
		Notify("ThisRouteStatus: Not_Routed")
	else if ("Routed" == ThisRouteStatus)
		Notify("ThisRouteStatus: Routed")
	
	if ("Not_Validated" == ThisValidationStatus)
		Notify("ThisValidationStatus: Not_Validated")
	else if ("Fully_Validated" == ThisValidationStatus)
		Notify("ThisValidationStatus: Fully_Validated")
	
	
	// Method GetCable()
	let parentCable(Elec3DCableOccurrence)
	ThisRoute.GetCable(parentCable)
	Notify("Parent Cable: " + parentCable.Name)
	
	// Method ComputeRouteStatus()
	let computedRouteSts(RouteStatus)
	ThisRoute.ComputeRouteStatus(computedRouteSts)
	if ("Not_Routed" == computedRouteSts)
		Notify("computedRouteSts: Not_Routed")
	else if ("Routed" == computedRouteSts)
		Notify("computedRouteSts: Routed")
	
	// Method ComputeLength()
	let ComputedLength(LENGTH)
	ThisRoute.ComputeLength(ComputedLength)
	Notify("ComputedLength: " + ComputedLength)
	
	// Method GetLastRoutingRuleSet()
	let LastRuleSet(RouteRuleSet)
	ThisRoute.GetLastRoutingRuleSet(LastRuleSet)
	Notify("LastRuleSet: " + LastRuleSet.Name)
	
	// Method ComputeAndUpdateName()
	// This will invoke the BusinessRule : Compute_Elec_Feature_Name. BR already provided.
	ThisRoute.ComputeAndUpdateName ()
	Notify("Updated Name: " + ThisRoute.Name)
	
}

ElecRoute.GetParentEPS()

This methods allows to retrieve the electrical physical system in which a cable's route is aggregated.

Signature

ElecRoute.GetParentEPS(ParentEPS : Electrical3DSystem) : Integer

Arguments

Name Input/Output Required? Type Comment
ParentEPS Out Electrical3DSystem Parent electrical physical system of the cable's route.

ReturnType

Integer

ElecRoute.GetPath()

This methods allows to retrieve the path of a cable's route, as well as the ends of the route.

Signature

ElecRoute.GetPath(List3DNetworkPath : List, ConductorEnd1 : Elec3DConductorEnd, ConductorEnd2 : Elec3DConductorEnd) : Integer

Arguments

Name Input/Output Required? Type Comment
List3DNetworkPath Out List List of the network paths.

  • When a cable is fully routed, the method returns one path.
  • When a cable is partially routed, the method returns multiple paths.

ConductorEnd1 Out Elec3DConductorEnd The "From" end of the route.
ConductorEnd2 Out Elec3DConductorEnd The "To" end of the route.

ReturnType

Integer

ElecRoute.GetTo()

This method allows to retrieve the extremity which is at the end of a cable's route.

Signature

ElecRoute.GetTo(ToProductOcc : ProductOccurrence, ToPort : VPMPort) : Integer

Arguments

Name Input/Output Required? Type Comment
ToProductOcc Out ProductOccurrence The device positioned at the end of the route.
ToPort Out VPMPort The connection point.

ReturnType

Integer

ElecRoute.IsConstraintRespected()

This method provides information on whether the current route of the cable-route respects the inclusive or exclusive constraints.

Signature

ElecRoute.IsConstraintRespected(IsConstraintRespectedStatus : Boolean) : Integer

Arguments

Name Input/Output Required? Type Comment
IsConstraintRespectedStatus Out Boolean

Provides information if the route of a completely routed cable respects the constraints on it.

The following values are available:

  • True: constraints are respected
  • False: constraints are not respected

ReturnType

Integer

The method returns -2 if the constraints are deactivated for the cable-route.

The method returns -1 if the cable-route is not completely routed.

The method returns 0 if a generic error is detected.

The method returns 1 if the method is successfully executed.

ElecRoute.RemoveConstraint()

This method removes a previously constrained cable-route (inclusive or exclusive) from a cable-route path.

Signature

ElecRoute.RemoveConstraint(ListElec3DNetworkPath : List) : Integer

Arguments

Name Input/Output Required? Type Comment
ListElec3DNetworkPath In List -

ReturnType

Integer

The method returns 0 if the constraint is not removed.

The method returns 1 if the constraint is removed.

ElecRoute.Validate()

This method validates a cable route.

An optional Boolean argument IsRevalidationAllowed is provided to revalidate an already validated cable route.

Signature

ElecRoute.Validate(IsRevalidationAllowed : Boolean) : Integer

Arguments

Name Input/Output Required? Type Comment
IsRevalidationAllowed In No Boolean Check for revalidation.
Note: Even if IsRevalidationAllowed is true, the revalidation for an already validated cable route will be done only when the cable route is impacted.

ReturnType

Integer
Return Type Description
0 Cable route validation failed.
1 Cable route validation successful.
-1 Cable route not editable.
-2 Cable route not routed.
2 Cable route already validated.

ElecRoute.InValidate()

This method invalidates a cable route.

Signature

ElecRoute.InValidate() : Integer

ReturnType

Integer
Return Type Description
0 Cable route invalidation failed.
1 Cable route invalidation successful.
-1 Cable route not editable.
2 Cable route already validated.

ElecRoute.Revise()

This method revises a cable route.

Signature

ElecRoute.Revise() : Integer

ReturnType

Integer
Return Type Description
0 Cable route revision failed.
1 Cable route revision successful.
-1 Cable route not editable.
2 Cable route already in revision.

ElectricalBranchGeometry.ListProtectionsWithTotalLength()

The ListProtectionsWithTotalLength user function is exposed on an electrical branch geometry and is used to get the list of protections inside it as well as a list containing the total length of these protections.

Signature

ElectricalBranchGeometry.ListProtectionsWithTotalLength(ListOfProtection : List, ListOfTotalLength : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
ListOfProtection Out Yes List Lists the names of the protections contained inside the electrical branch geometry.
ListOfTotalLength Out Yes List Lists the total length of individual protections of ListOfProtection.

ReturnType

Boolean

Example

BranchGeoRef : ElectricalbranchGeometry

let result(BOOLEAN)
let listOfProtection(LIST)
let listOfTotalLength(LIST)
let sName(STRING)
let numOfProtInstances(INTEGER)
let sizeOfTotalLengthList(INTEGER)

let sProtection1(STRING)
let sProtection2(STRING)
let sProtection3(STRING)

let lengthOfProtection1(REAL)
let lengthOfProtection2(REAL)
let lengthOfProtection3(REAL)

result = BranchGeoRef.ListProtectionsWithTotalLength( listOfProtection, listOfTotalLength )
set sName = BranchGeoRef.Name

if(false == result) /* Should return TRUE */
{
	Message ("Protection Instances not found for reference #", sName)
}

set numOfProtInstances = listOfProtection->Size()
set sizeOfTotalLengthList = listOfTotalLength->Size()
if (( 3 <> numOfProtInstances) and (3 <> sizeOfTotalLengthList))
{
	Message ("Number of Protection Instances found for reference # is not correct", sName)
}	

set sProtection1 =  listOfProtection->GetItem(1)
set sProtection2 =  listOfProtection->GetItem(2)
set sProtection3 =  listOfProtection->GetItem(3)

lengthOfProtection1 = listOfTotalLength->GetItem(1)
lengthOfProtection2 = listOfTotalLength->GetItem(2)
lengthOfProtection3 = listOfTotalLength->GetItem(3)

if(sProtection1 <> "FixedPro")
{
   Message("Protection1 is not correct" )
}
if((lengthOfProtection1 < 50.001) and (lengthOfProtection1 >49.999))
{
   Message("Length of Protection1 is not correct")
}

if(sProtection2 <> "AdaptivePro" )
{
   Message("Protection2 is not correct" )
}
if((lengthOfProtection2 < 100.001) and (lengthOfProtection2 >99.999))
{
   Message("Length of Protection2 is not correct")
}

if(sProtection3 <> "CorrugatedPro1")
{
   Message("Protection3 is not correct")
}
if((lengthOfProtection3 < 150.001) and (lengthOfProtection3 >149.999))
{
   Message("Length of Protection3 is not correct")
}

Elec3DCable.AddJunctionDeviceAfterPosition()

This function allows to add a junction after a specific position.

Signature

Elec3DCable.AddJunctionDeviceAfterPosition(Position : Integer, JunctionDeviceOcc : ProductOccurrence, JunctionPort : Elec3DJunctionPoint) : Integer

Arguments

Name Input/Output Required? Type Comment
Position In Integer Position after which the junction is associated to the cable.The integer starts at 0, which means it starts at the "From" end of the cable.
JunctionDeviceOcc In ProductOccurrence The junction associated to the cable.
JunctionPort In Elec3DJunctionPoint The junction point associated to the cable.

ReturnType

Integer

Elec3DCable.ClearAllJunctionAssociation()

The function allows to remove all the junction associations from a cable. After the operation, only one single route remains for the cable.

Signature

Elec3DCable.ClearAllJunctionAssociation() : Integer

ReturnType

Integer

Elec3DCable.DispatchRouteToEPS()

This function allows to move a cable route to a specific electrical physical system.

Signature

Elec3DCable.DispatchRouteToEPS(InputElecRouteToDispatch : ElecRoute, TargetElectrical3DSystemOcc : Electrical3DSystemOccurrence, NewElecRouteDispatched : ElecRoute) : Integer

Arguments

Name Input/Output Required? Type Comment
InputElecRouteToDispatch In ElecRoute The cable's route to dispatch.

After the operation, the status of the cable's route becomes "Not validated" and the route is unlinked from the cable.

TargetElectrical3DSystemOcc In Electrical3DSystemOccurrence The target electrical physical system. If the value is NULL, the target electrical physical system is the same electrical physical system as the cable.
NewElecRouteDispatched Out ElecRoute The new cable route after the dispatch. It replaces the input route.

ReturnType

Integer

Elec3DCable.GetCableReference()

This function allows to retrieve the cable reference which is mapped with a cable.

Signature

Elec3DCable.GetCableReference(CableReference : Elec3DCableReference) : Integer

Arguments

Name Input/Output Required? Type Comment
CableReference Out Elec3DCableReference Cable reference to which the cable in session is linked to, and from which it retrieves its properties.

ReturnType

Integer

The integer can be the following:

  • -1: the mapped cable reference is not found.
  • 0: the funtion returns false.
  • 1: the cable reference is found but not mapped.
  • 2: the cable reference is mapped and found.

Example

Let Cable(Elec3DCable)
Let CableRef(Elec3DCableReference)

set Cable = ThisObject.Reference
Cable.GetCableReference(CableRef)

let MassCable = 0 kg_m
let MassCableRef = 0 kg_m

let DiaCable(LENGTH)
let DiaCableRef(LENGTH)

set DiaCableRef = CableRef.V_Elec_Diameter
set DiaCable = Cable.V_Elec_Diameter

set MassCableRef = CableRef.V_Elec_Line_Mass
set MassCable = Cable.V_Elec_Line_Mass

Notify("DiaCableRef: " + DiaCableRef)
Notify("DiaCable: " + DiaCable)

Notify("MassCableRef: " + MassCableRef)
Notify("MassCable: " + MassCable)

if (DiaCableRef <> DiaCable)
{
	Notify("Dia Different")
}

if (MassCableRef <> MassCable)
{
	Notify("Mass Different")
}

Elec3DCable.GetFrom()

This function allows to retrieve the extremity which is at the start of a cable.

Signature

Elec3DCable.GetFrom(FromDevice : ProductOccurrence, FromCavity : Elec3DCavity) : Integer

Arguments

Name Input/Output Required? Type Comment
FromDevice Out ProductOccurrence The device positioned at the "From" end of the cable.
FromCavity Out Elec3DCavity The connection point.

ReturnType

Integer

Elec3DCable.GetTo()

This function allows to retrieve the extremity which is at the end of a cable.

Signature

Elec3DCable.GetTo(ToDevice : ProductOccurrence, ToCavity : Elec3DCavity) : Integer

Arguments

Name Input/Output Required? Type Comment
ToDevice Out ProductOccurrence The device positioned at the "To" end of the cable.
ToCavity Out Elec3DCavity The connection point.

ReturnType

Integer

Elec3DCable.IsSynchronizeAvailable()

This method indicates if an electricable cable can be synchronized with its cable routes.

Signature

Elec3DCable.IsSynchronizeAvailable(InputElecRoute : ElecRoute, oIsSynchronizeAvailable : Boolean) : Integer

Arguments

Name Input/Output Required? Type Comment
InputElecRoute In ElecRoute The cable route to check for the synchronization.
oIsSynchronizeAvailable Out Boolean -

ReturnType

Integer

The method succeeds if the cable route is validated and if it is not already synchronized with its cable.

Elec3DCable.ListOrderedJunctionDevices()

This function allows to retrieved an ordered list of the junctions and junction points associated to a cable.

Signature

Elec3DCable.ListOrderedJunctionDevices(ListJunctionDevices : List, ListJunctionPorts : List) : Integer

Arguments

Name Input/Output Required? Type Comment
ListJunctionDevices Out List Ordered list of the junctions associated to the cable.
ListJunctionPorts Out List Ordered list of the junction points associated to the cable.
Notes:
  • Both lists should have the same size.
  • If the link between a junction and a cable is broken, the list returns NULL.

ReturnType

Integer

Elec3DCable.ListOrderedRoutes()

This function allows to retrieved an ordered list of the routes of a cable.

Signature

Elec3DCable.ListOrderedRoutes(ListOrderedElecRoutes : List, ListOrderedLinkStatus : List) : Integer

Arguments

Name Input/Output Required? Type Comment
ListOrderedElecRoutes Out List Ordered list of the cable's routes.
ListOrderedLinkStatus Out List Ordered list of the junction points.
Notes:
  • Both lists should have the same size.
  • If one of the routes of a cable is deleted, ListOrderedElecRoutes lreturns NULL.

ReturnType

Integer

Example

Let Cable(Elec3DCable)
Let CableRef(Elec3DCableReference)
Let RouteList(LIST)
Let RouteListStatus(LIST)

set Cable = ThisObject.Reference
Cable.ListOrderedRoutes(RouteList, RouteListStatus)

let ThisRoute(ElecRoute)

for ThisRoute inside RouteList
{
	Notify("RouteName: " + ThisRoute.Name)
	
	// Attributes
	let ThisRouteLength(LENGTH)
	let ThisRouteStatus(RouteStatus)
	let ThisValidationStatus(RouteValidationStatus)
	
	set ThisRouteLength = ThisRoute.Elec_ValidatedLength
	set ThisRouteStatus = ThisRoute.Elec_ValidatedRouteStatus
	set ThisValidationStatus = ThisRoute.Elec_ValidationStatus
	
	Notify("ThisRouteLength: " + ThisRouteLength)
	
	if ("Not_Routed" == ThisRouteStatus)
		Notify("ThisRouteStatus: Not_Routed")
	else if ("Routed" == ThisRouteStatus)
		Notify("ThisRouteStatus: Routed")
	
	if ("Not_Validated" == ThisValidationStatus)
		Notify("ThisValidationStatus: Not_Validated")
	else if ("Fully_Validated" == ThisValidationStatus)
		Notify("ThisValidationStatus: Fully_Validated")
	
	
	// Method GetCable()
	let parentCable(Elec3DCableOccurrence)
	ThisRoute.GetCable(parentCable)
	Notify("Parent Cable: " + parentCable.Name)
	
	// Method ComputeRouteStatus()
	let computedRouteSts(RouteStatus)
	ThisRoute.ComputeRouteStatus(computedRouteSts)
	if ("Not_Routed" == computedRouteSts)
		Notify("computedRouteSts: Not_Routed")
	else if ("Routed" == computedRouteSts)
		Notify("computedRouteSts: Routed")
	
	// Method ComputeLength()
	let ComputedLength(LENGTH)
	ThisRoute.ComputeLength(ComputedLength)
	Notify("ComputedLength: " + ComputedLength)
	
	// Method GetLastRoutingRuleSet()
	let LastRuleSet(RouteRuleSet)
	ThisRoute.GetLastRoutingRuleSet(LastRuleSet)
	Notify("LastRuleSet: " + LastRuleSet.Name)
	
	// Method ComputeAndUpdateName()
	// This will invoke the BusinessRule : Compute_Elec_Feature_Name. BR already provided.
	ThisRoute.ComputeAndUpdateName ()
	Notify("Updated Name: " + ThisRoute.Name)
	
}

Elec3DCable.RemoveJunctionDeviceAtPosition()

This function allows to remove a specific junction from a cable, specifying the position of the junction.

Signature

Elec3DCable.RemoveJunctionDeviceAtPosition(Position : Integer, KeepFirstRoute : Boolean) : Integer

Arguments

Name Input/Output Required? Type Comment
Position In Integer Position of the junction to be removed.
KeepFirstRoute In Boolean Specifies which cable's route to keep after removing the junction.
Note: By default, the value is TRUE. In this case, the first cable's route is kept.

ReturnType

Integer

Elec3DCable.ReplaceJunctionDeviceAtPosition()

This function allows to replace a junction at a specific position.

Signature

Elec3DCable.ReplaceJunctionDeviceAtPosition(Position : Integer, JunctionDeviceOcc : ProductOccurrence) : Integer

Arguments

Name Input/Output Required? Type Comment
Position In Integer Position where the input junction is replaced.

The integer value starts at 1.

JunctionDeviceOcc In ProductOccurrence The junction to be replaced.

ReturnType

Integer

Elec3DCable.SetEstimatedLength()

This method allows to set a length on a cable route that is not synchronized with its cable.

Signature

Elec3DCable.SetEstimatedLength(InputElecRoute : ElecRoute, dEstimatedLength : LENGTH) : Integer

Arguments

Name Input/Output Required? Type Comment
InputElecRoute In ElecRoute -
dEstimatedLength In LENGTH -

ReturnType

Integer

Elec3DCable.Synchronize()

This methods lets you synchronize an electrical cable with its cable routes.

Signature

Elec3DCable.Synchronize(InputElecRoute : ElecRoute) : Integer

Arguments

Name Input/Output Required? Type Comment
InputElecRoute In ElecRoute Cable route which is synchronized with the cable.

ReturnType

Integer

The method succeeds if the cable route is validated and if the routing information are different between the cable and its cable routes.

Elec3DCable.ResetDeletedRoutes()

This function allows to create cable routes at the position of deleted routes.

Signature

Elec3DCable.ResetDeletedRoutes() : Integer

ReturnType

Integer

Elec3DCable.UnSynchronize()

This method removes the routing information previously persisted to an electrical cable.

Signature

Elec3DCable.UnSynchronize(InputElecRoute : ElecRoute) : Integer

Arguments

Name Input/Output Required? Type Comment
InputElecRoute In ElecRoute The cable route which is unsynchronized.

ReturnType

Integer

Elec3DConductor.ListInstances()

The ListInstances user function is exposed on a conductor reference and is used to get the list of its instances.

Signature

Elec3DConductor.ListInstances(ListOfInstances : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
ListOfInstances Out Yes List Returns the list of instances in current editor of the conductor reference on which ListInstances() is called.

ReturnType

Boolean

Example

ElecConductorRef : Elec3DConductor

Let listInstances (LIST)
Let result (BOOLEAN)
Let sName (STRING)
Let nbInst (INTEGER)

set result = ElecConductorRef->ListInstances(listInstances) 
set sName = ElecConductorRef.V_Name
if(false == result) /* Should return TRUE */
{
	Message ("Instances not found for reference #", sName)
}

set nbInst = listInstances->Size()
if( ((sName == "ConductorRef1") and (3 <> nbInst)) or ((sName == "ConductorRef2") and (1 <> nbInst)) )
{
	Message ("Number of Instances found (= #) for reference # is incorrect", nbInst, sName)
}

Elec3DBranchableAnnotation.GetName()

This method retrieves the Name of the branch annotation.

Signature

Elec3DBranchableAnnotation.GetName(Name : String) : Boolean

Arguments

Name Input/Output Required? Type Comment
Name Out String The name of the branch is retrieved.

ReturnType

Boolean

The method returns FALSE if the attribute is not found.

Elec3DBranchableAnnotation.GetResource()

This method retrieves the Resource of the branch annotation.

Signature

Elec3DBranchableAnnotation.GetResource(Resource : String) : Boolean

Arguments

Name Input/Output Required? Type Comment
Resource Out String The resource of the branch is retrieved

ReturnType

Boolean

The method returns FALSE if the attribute is not found.

Elec3DBranchableAnnotation.GetSubType()

This method retrieves the SubType of the branch annotation.

Signature

Elec3DBranchableAnnotation.GetSubType(SubType : String) : Boolean

Arguments

Name Input/Output Required? Type Comment
SubType Out String The subtype of the branch is retrieved

ReturnType

Boolean

The method returns FALSE if the attribute is not found.

Elec3DConductorEnd.ComputeLength

This method retrieves the length of a conductor extremity based on the cavities and the connected devices (backshells).

The routed conductor may be connected to:

  • The cavity of a single device
  • The cavity of a device belonging to a complex connector. The conductor is considered as route through a set of cavities.
  • A backshell can be plugged to the device. The length of the backshell is added to conductor end length.

Signature

ComputeLength(oConductorEndLength : LENGTH) : Boolean

Arguments

Name Input / Output Required? Type Comment
oConductorEndLength Output Yes LENGTH The equivalent length of the conductor end including the cavity length and the backshell length.

ReturnType

Boolean

The method returns FALSE if the search for components fails.

Elec3DConductorEnd.GetDevice

This method retrieves the device connected at a conductor extremity.

Signature

GetDevice(oDeviceOccurrence : ProductOccurrence, oElePort : ElecPort) : Boolean

Arguments

Name Input / Output Required? Type Comment
oDeviceOccurrence Output Yes ProductOccurrence The device occurrence.
oElePort Output Yes ElecPort The cavity (can be NULL).

ReturnType

Boolean

The method returns FALSE if the search for the device fails.

Elec3DConductorGroup.ListInstances()

The ListInstances user function is exposed on a conductor group reference, and is used to get the list of its instances.

Signature

Elec3DConductorGroup.ListInstances(ListOfInstances : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
ListOfInstances Out Yes List Returns the list of instances in current editor of the conductor group reference on which ListInstances() is called.

ReturnType

Boolean

Example

ElecConductorGrpRef : Elec3DConductorGroup

Let listInstancesOfCondtrGrp (LIST)
Let result (BOOLEAN)
Let sNameCondtrGrp (STRING)
Let nbInstCondtrGrp (INTEGER)

set result = ElecConductorGrpRef->ListInstances(listInstancesOfCondtrGrp) 
set sNameCondtrGrp = ElecConductorGrpRef.V_Name
if(false == result) /* Should return TRUE */
{
	Message ("Instances not found for ConductorGrpReference #", sNameCondtrGrp)
}

set nbInstCondtrGrp = listInstancesOfCondtrGrp->Size()
if( ((sNameCondtrGrp == "ConductorGrp1") and (2 <> nbInstCondtrGrp)) or ((sNameCondtrGrp == "ConductorGrp2") and (2 <> nbInstCondtrGrp)) )
{
	Message ("Number of Instances found (= #) for ConductorGrpReference # is incorrect", nbInstCondtrGrp, sNameCondtrGrp)
}

Elec3DDeviceNode.GetComponents

This method retrieves the electrical 3D objects belonging to a device node.

Signature

GetComponents(oDeviceOccurrence : ProductOccurrence, oElecPort : VPMPort, oListExtremities : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
oDeviceOccurence Output Yes ProductOccurrence The device occurrence.
oElecPort Output Yes VPMPort The electrical port.
oListConnectedFeatures Output Yes List The segment extremities connected to the electrical port.

ReturnType

Boolean

The methods returns FALSE if the objects cannot be retrieved.

Elec3DJunctionDeviceNode.GetComponents()

This method retrieves the electrical 3D objects belonging to a junction device node.

Signature

Elec3DJunctionDeviceNode.GetComponents(ElectricalJunctionDeviceOccurrence : ProductOccurrence, ElectricalJunctionPoint : VPMPort, List3DElements : List) : Boolean

Arguments

Name Input/Output Required? Type Comment
ElectricalJunctionDeviceOccurrence Out ProductOccurrence The junction device occurrence.
ElectricalJunctionPoint Out VPMPort The junction point.
List3DElements Out List The segment extremities connected to the junction point.

ReturnType

Boolean

The methods returns FALSE if the objects cannot be retrieved.

Elec3DJunctionNode.GetComponents

This method retrieves the segment extremities belonging to a junction node.

Signature

GetComponents(oListExtremities : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
oListExtremities Output Yes List The segment extremities which are connected together.

ReturnType

Boolean

The methods returns FALSE if the objects cannot be retrieved.

Elec3DNetworkArc.ComputeLength

This method computes the length of a network arc.

  • Case 1: The arc is a segment: the arc length is same a segment length.
  • Case 2: The arc is a sub part of a segment: the arc length is the length of the relimited segment.
  • Case 3: The arc is a distant link: the arc length is the distant link length, plus the value of attribute extra_length of distant link.

    Distant link extra length is the value of attribute Elec_ExtraLength on ElecDeviceDistantLink.

    The computed distant link length is either:

    • The physical distance between the device/device cavity and the branch if the business rule EWR_ComputeLengthOfDistantLink is not implemented (default behavior).
    • The value computed by the EWR_ComputeLengthOfDistantLink business rule if the business rule is implemented.

Signature

ComputeLength(oArcLength : LENGTH) : Boolean

Arguments

Name Input / Output Required? Type Comment
oArcLength Output Yes LENGTH The length of the arc.

ReturnType

Boolean

The method returns FALSE if the length computation fails.

Elec3DNetworkArc.ComputeSupportPosition

This method computes the position of a support in a network arc.

Signature

ComputeSupportPosition(iSupport : SharedSupportPartOccurrence, iReferenceNode : Elec3DNetworkNode, oSupportIn : LENGTH, oSupportOut : LENGTH) : Boolean

Arguments

Name Input / Output Required? Type Comment
iSupport Input Yes SharedSupportPartOccurrence A support in the path.
iReferenceNode Input Yes Elec3DNetworkNode The reference node.
oSupportIn Output Yes LENGTH The entry point position of the support in the path.
oSupportOut Output Yes LENGTH The exit point position of the support in the path.

ReturnType

Boolean

Elec3DNetworkArc.GetComponent

This method retrieves the segment belonging to an arc.

Signature

GetComponent(oSegmentArc : Segment) : Boolean

Arguments

Name Input / Output Required? Type Comment
oSegmentArc Output Yes Feature The segment with the extremity connected to the device node.

ReturnType

Boolean

The method FALSE if the segment cannot be retrieved.

Elec3DNetworkArc.GetNodes

This method retrieves the nodes of an arc.

Signature

GetNodes(oNode1 : Elec3DNetworkNode, oNodes2 : Elec3DNetworkNode) : Boolean

Arguments

Name Input / Output Required? Type Comment
oNode1 Output Yes Elec3DNetworkNode The first node of the arc.
oNode2 Output Yes Elec3DNetworkNode The second node of the arc.

ReturnType

Boolean

The method returns FALSE if the nodes cannot be retrieved.

Elec3DNetworkArc.NextNode

This method allows to navigate the network from an arc to its next connected node.

Signature

 NextNode(iNavArc : Elec3DNetworkArc, oNextNode : Elec3DNetworkNode) : Boolean

Arguments

Name Input / Output Required? Type Comment
iNavArc Input Yes Elec3DNetworkArc The navigation arc.
oNextNode Output Yes Elec3DNetworkNode The next node.

ReturnType

Boolean

The method returns FALSE if the node cannot be retrieved.

Elec3DNetworkArc.SegregationCode

This method retrieves the segregation code of a segment belonging to an arc.

Signature

 SegregationCode : STRING

ReturnType

STRING

Elec3DNetworkNode.GetArcs

This method retrieves the arcs of a node.

Signature

GetArcs(oListArcs : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
oListArcs Output Yes List The list of arcs connected to the node.

ReturnType

Boolean

The method returns FALSE if the arcs cannot be retrieved.

Elec3DNetworkNode.NextArcs

This method allows to navigate the network from a node to its next connected arcs.

Signature

NextArcs(oListArcs : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
iPrevArcs Input Yes Elec3DNetworkNode The previous arc.
oNextArcs Output Yes List The list of next arcs connected to the node.

Can be empty.

ReturnType

Boolean

The method returns FALSE if the arcs cannot be retrieved.

Elec3DNetworkPath.ComputeLength

This method computes the length of network path.

Signature

ComputeLength(oPathLength : LENGTH) : Boolean

Arguments

Name Input / Output Required? Type Comment
oPathLength Output Yes LENGTH The length of the path.

This length is the sum of all the arcs' length in the path.

ReturnType

Boolean

The method returns FALSE if the length computation fails.

Elec3DNetworkPath.GetPathBetweenNodes

This method retrieves the path between two nodes.

Signature

Elec3DNetworkPath.GetPathBetweenNodes(3DNetworkSubPath: Elec3DNetworkPath, 3DNetworkNodeStart: Elec3DNetworkNode, 3DNetworkNodeEnd: Elec3DNetworkNode): Integer

Arguments

Name Input/Output Required? Type Comment
3DNetworkSubPath Out Elec3DNetworkPath Path between the two nodes
3DNetworkNodeStart In Elec3DNetworkNode Start Node.

If the value is set to NULL, then the start node is the first node of the underlying Path-Element (Branch, Segment, Conductor, or ElecRoute).

3DNetworkNodeEnd In Elec3DNetworkNode End Node. If the value is set to NULL, then the end node is the last node of the underlying Path-Element (Branch, Segment, Conductor, or ElecRoute).

ReturnType

Integer

The method returns -1 if the path between is incomplete.

The method returns 0 if the path cannot be found.

The method returns 1 if the path is found.

Elec3DNetworkPath.ListBendWithPosition

This method computes the position of bends in a network path.

There is two kinds of bends:

  • Geometrical bend: corresponds to a bend in a branch with a cornered polyline curve.
  • Branch bend: corresponds to a direction change at a branch crossing. In a network path, the branch bends are associated to the network nodes.

For each bend in the network path:

  • The position of bend in path is computed: the position is the position of the middle point of the bend.
  • The network object in path corresponding to the location of the bend in network path : at a node or inside an arc.
  • The angle of the bend is computed.
  • For distant links , the angle is the angle at node position.

Signature

 ListBendWithPosition(oBendPositions : List ,oBendAngles : List, oNetworkObjects : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
oBendPositions Output Yes List The bend positions in the path [LENGTH].
oBendAngles Output Yes List The bend angles [ANGLE].
oNetworkObjects Output Yes List

The bend location in the network:

  • Node for node bend (ELEC3DNetworkNode)
  • Arc for branch bends (Elec3DNetworkArc)

ReturnType

Boolean

The method returns FALSE if the bend computation fails.

Elec3DNetworkPath.ListNetworkPathElement

This method retrieves the network elements (nodes and arcs) belonging to a network path.

Signature

ListNetworkPathElement(oNetworkPathElements : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
oNetworkPathElements Output Yes List The ordered list of nodes and arcs from the first extremity node in the path to the last.

ReturnType

Boolean

The method returns FALSE if the search for the network's nodes and arc fails.

Elec3DNetworkPath.ListNodeWithPosition

This method computes the position of nodes in a network path. The position is computed from the length between the node and the origin of the path.

Signature

ListNodeWithPosition(oListNode : List, oListNodePosition : LENGTH) : Boolean

Arguments

Name Input / Output Required? Type Comment
oListNode Output Yes List List of nodes in the path.
oListNodePosition Output Yes List The list of the node positions in the path [LENGTH].

ReturnType

Boolean

The method returns FALSE if the length computation fails.

Elec3DNetworkPath.ListProtection

This method retrieves the protections belonging to a network path.

Signature

 ListProtection(oListProtection : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
oListProtection Output Yes List The ordered list of protections belonging to the network path.

ReturnType

Boolean

The method returns FALSE if the search for protections fails.

Elec3DNetworkPath.ListSupport

This method retrieves the supports belonging to a network path.

Signature

ListSupport(oListSupportOccurrence : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
oListSupportOccurence Output Yes List The ordered list of support occurrences belonging to the network path.

ReturnType

Boolean

The method returns FALSE if the search for supports fails.

Elec3DNetworkPath.ListSupportWithPosition

This method computes the position of supports in a network path. The position is computed from the length between the support and the origin of the path.

Signature

ListSupportWithPosition(oListSupport : List, oListSupportIn : List, oListSupportOut : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
oListSupport Output Yes List A support in the path.
oListSupportIn Output Yes List The list of the entry point position of the support in the path [LENGTH].
oListSupportOut Output Yes List

The list of exit point position of the support in the path [LENGTH].

ReturnType

Boolean

The method returns FALSE if the length computation fails.

Elec3DProxyNode.GetComponents

This method retrieves the 3D objects belonging to a proxy node.

Signature

GetComponents(oSegment : Segment, oListExtremities : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
oSegment Output Yes Segment Segment to which the distant link or proxy branch point is connected.
oListExtremities Output Yes List The segment extremities connected to the node.

Can be empty.

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DSpliceNode.GetComponents

This method retrieves the electrical 3D objects belonging to a splice node.

Signature

GetComponents(oListSpliceOccurrence : List, oListExtremities : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
oListSpliceOccurrence Output Yes List The list of splice occurrences.
oListExtremities Output Yes List The segment extremities connected to the splice occurrence (at least two).

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DSystem.CreateConductor

This method allows to create a conductor in an electrical physical system specifying the devices and/or cavities the conductor is connected to.

Signature

Electrical3DSystem.CreateConductor ( iDeviceOccurrenceFrom:ProductOccurrence, iCavityFrom:ElecPort, iDeviceOccurrenceTo:ProductOccurrence, iCavityTo:ElecPort, oConductor:ElecConductor) : Integer

Arguments

Name Input / Output Required? Type Comment
iDeviceOccurrenceFrom Input Yes ProductOccurence The device from which the conductor is connected.
iCavityFrom Input Yes ElecPort The cavity from which the conductor is connected.
Note: This parameter can be null.
iDeviceOccurrenceTo Input Yes ProductOccurence The device to which the conductor is connected.
iCavityTo Input Yes ElecPort The cavity to which the conductor is connected.
Note: This parameter can be null.
oConductor Output Yes ElecConductor New conductor

ReturnType

Integer
Important: When you work with an electrical physical system linked to several electrical geometries, the method fails if the input devices do not belong to one of the electrical geometries.

Elec3DSystem.CreateConductorGroup

This method allows to create a conductor group in an electrical physical system.

Signature

Electrical3DSystem.CreateConductorGroup ( oConductorGroup:ElecConductorGroup) : Integer

Arguments

Name Input / Output Required? Type Comment
oConductorGroup Output Yes ElecConductorGroup New conductor group

ReturnType

Integer

InternalProtection.GetProtectionExtremities()

The InternalProtection.GetProtectionExtremities() method can be used in Quality Rules Reuse.

Signature

InternalProtection.GetProtectionExtremities(ProtectionType : String, ProtectionExtremity1 : Point, ProtectionExtremity2 : Point) : Boolean

Arguments

Name Input / Output Required? Type Comment
ProtectionType In Yes String None
ProtectionExtremity1 Out Yes Point None
ProtectionExtremity2 Out Yes Point None

ReturnType

Boolean

Elec3DProtectionAnnotation.GetAnnotation()

This method retrieves the annotation of the protection.

Signature

Elec3DProtectionAnnotation.GetAnnotation(Annotation : String) : Boolean

Arguments

Name Input/Output Required? Type Comment
Annotation Out String The annotation is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetBendRadius()

This method retrieves the bend radius of the protection.

Signature

Elec3DProtectionAnnotation.GetBendRadius(BendRadius : Integer) : Boolean

Arguments

Name Input/Output Required? Type Comment
BendRadius Out Integer The bend radius is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetBendRadiusDelta()

This method retrieve the BendRadiusDelta of the protection.

Signature

Elec3DProtectionAnnotation.GetBendRadiusDelta(BendRadiusDelta : LENGTH) : Boolean

Arguments

Name Input/Output Required? Type Comment
BendRadiusDelta Out LENGTH The bend radius delta is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetExternalReference()

This method retrieves the external reference of the protection.

Signature

Elec3DProtectionAnnotation.GetExternalReference(ExternalReference : String) : Boolean

Arguments

Name Input/Output Required? Type Comment
ExternalReference Out String The external reference is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetFlexibility()

This method retrieves the flexibility of the protection.

Signature

Elec3DProtectionAnnotation.GetFlexibility(Flexibility : Integer) : Boolean

Arguments

Name Input/Output Required? Type Comment
Flexibility Out Integer The flexibility is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetInnerDiameter()

This method retrieves the inner diameter of the protection.

Signature

Elec3DProtectionAnnotation.GetInnerDiameter(InnerDiameter : LENGTH) : Boolean

Arguments

Name Input/Output Required? Type Comment
InnerDiameter Out LENGTH The inner diameter is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetLength()

This method retrieves the length of the protection.

Signature

Elec3DProtectionAnnotation.GetLength(Length : LENGTH) : Boolean

Arguments

Name Input/Output Required? Type Comment
Length Out LENGTH The length of the protection is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetLineType()

This method retrieves the line type of the protection.

Signature

Elec3DProtectionAnnotation.GetLineType(LineType : Integer) : Boolean

Arguments

Name Input/Output Required? Type Comment
LineType Out Integer The line type is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetMass()

This method retrieves the mass of the protection.

Signature

Elec3DProtectionAnnotation.GetMass(Mass : Magnitude) : Boolean

Arguments

Name Input/Output Required? Type Comment
Mass Out Magnitude The mass is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetNumberLayer()

This method retrieves the number of layers of the protection.

Signature

Elec3DProtectionAnnotation.GetNumberLayer(NumberLayer : Integer) : Boolean

Arguments

Name Input/Output Required? Type Comment
NumberLayer Out Integer The number of layers are retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetOverlappingLength()

This method retrieves the overlapping length of the protection.

Signature

Elec3DProtectionAnnotation.GetOverlappingLength(OverlappingLength : LENGTH) : Boolean

Arguments

Name Input/Output Required? Type Comment
OverlappingLength Out LENGTH The overlapping length is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetPreferredLength()

This method retrieves the preferred length of the protection.

Signature

Elec3DProtectionAnnotation.GetPreferredLength(PreferredLength : LENGTH) : Boolean

Arguments

Name Input/Output Required? Type Comment
PreferredLength Out LENGTH The preferred length is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetReferencePartNumber()

This method retrieves the reference part number of the protection.

Signature

Elec3DProtectionAnnotation.GetReferencePartNumber(ReferencePartNumber : String) : Boolean

Arguments

Name Input/Output Required? Type Comment
ReferencePartNumber Out String The reference part number is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetSubType()

This method retrieves the reference part number of the protection.

Signature

Elec3DProtectionAnnotation.GetSubType(SubType : String) : Boolean

Arguments

Name Input/Output Required? Type Comment
SubType Out String The reference part number is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetTapeLength()

This method retrieves the tape length of the protection.

Signature

Elec3DProtectionAnnotation.GetTapeLength(TapeLength : LENGTH) : Boolean

Arguments

Name Input/Output Required? Type Comment
TapeLength Out LENGTH The tape length is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetTapeThickness()

This method retrieves the tape thickness of the protection.

Signature

Elec3DProtectionAnnotation.GetTapeThickness(TapeThickness : LENGTH) : Boolean

Arguments

Name Input/Output Required? Type Comment
TapeThickness Out LENGTH The tape thickness is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetTapeWidth()

This method retrieves the tape width of the protection.

Signature

Elec3DProtectionAnnotation.GetTapeWidth(TapeWidth : LENGTH) : Boolean

Arguments

Name Input/Output Required? Type Comment
TapeWidth Out LENGTH The tape width is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetTapingAngle()

This method retrieves the taping angle of the protection.

Signature

Elec3DProtectionAnnotation.GetTapingAngle(TapingAngle : ANGLE) : Boolean

Arguments

Name Input/Output Required? Type Comment
TapingAngle Out ANGLE The taping angle is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProtectionAnnotation.GetThickness()

This method retrieves the thickness of the protection.

Signature

Elec3DProtectionAnnotation.GetThickness(Thickness : LENGTH) : Boolean

Arguments

Name Input/Output Required? Type Comment
Thickness Out LENGTH Retrieves the thickness of the protection

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DProxyNode.GetComponents()

Signature

Elec3DProxyNode.GetComponents(Segment : Segment, ListExtremity : List) : Boolean

Arguments

Name Input/Output Required? Type Comment
Segment Out Segment -
ListExtremity Out List -

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DSegmentAnnotation.GetBendRadius()

This method retrieves the bend radius of the segment.

Signature

Elec3DSegmentAnnotation.GetBendRadius(BendRadius : LENGTH) : Boolean

Arguments

Name Input/Output Required? Type Comment
BendRadius Out LENGTH The diameter of the bend radius is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DSegmentAnnotation.GetDiameter()

This method retrieves the diameter of the segment.

Signature

Elec3DSegmentAnnotation.GetDiameter(Diameter : LENGTH) : Boolean

Arguments

Name Input/Output Required? Type Comment
Diameter Out LENGTH The diameter of the Segment is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DSegmentAnnotation.GetElecConstantArea()

This method retrieves the ElecConstantArea of the segment.

Signature

Elec3DSegmentAnnotation.GetElecConstantArea(ElecConstantArea : Boolean) : Boolean

Arguments

Name Input/Output Required? Type Comment
ElecConstantArea Out Boolean The ElecConstantArea of the Segment is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DSegmentAnnotation.GetElecRepType()

This method retrieves the ElecRepType of the segment.

Signature

Elec3DSegmentAnnotation.GetElecRepType(ElecRepType : String) : Boolean

Arguments

Name Input/Output Required? Type Comment
ElecRepType Out String The ElecRepType of the Segment is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DSegmentAnnotation.GetFlexibility()

This method retrieves the flexibility of the segment.

Signature

Elec3DSegmentAnnotation.GetFlexibility(Flexibility : Integer) : Boolean

Arguments

Name Input/Output Required? Type Comment
Flexibility Out Integer The length of the flexibility is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DSegmentAnnotation.GetLength()

This method retrieves the length of the segment.

Signature

Elec3DSegmentAnnotation.GetLength(Length : LENGTH) : Boolean

Arguments

Name Input/Output Required? Type Comment
Length Out LENGTH The length of the Segment is retrieved

ReturnType

Boolean

The method returns FALSE if the objects cannot be retrieved.

Elec3DSegmentAnnotation.GetMaxDiameter()

This method retrieves the MaxDiameter of the segment.

Signature

Elec3DSegmentAnnotation.GetMaxDiameter(MaxDiameter : LENGTH) : Boolean

Arguments

Name Input/Output Required? Type Comment
MaxDiameter Out LENGTH The MaxDiameter the Segment is retrieved

ReturnType

Boolean

The method returns FALSE if the attribute is not found.

Elec3DSegmentAnnotation.GetName()

This method retrieves the name of the segment.

Signature

Elec3DSegmentAnnotation.GetName(Name : String) : Boolean

Arguments

Name Input/Output Required? Type Comment
Name Out String The name of the Segment is retrieved

ReturnType

Boolean

The method returns FALSE if the attribute is not found.

Elec3DSegmentAnnotation.GetResource()

This method retrieves the resource of the segment annotation.

Signature

Elec3DSegmentAnnotation.GetResource(Resource : String) : Boolean

Arguments

Name Input/Output Required? Type Comment
Resource Out String The subtype of the Segment is retrieved

ReturnType

Boolean

The method returns FALSE if the attribute is not found.

Elec3DSegmentAnnotation.GetSeparationCode()

This method retrieves the separation code of the segment annotation.

Signature

Elec3DSegmentAnnotation.GetSeparationCode(SeparationCode : String) : Boolean

Arguments

Name Input/Output Required? Type Comment
SeparationCode Out String The separation code of the Segment is retrieved

ReturnType

Boolean

The method returns FALSE if the attribute is not found.

Elec3DSegmentAnnotation.GetSubType()

This method retrieves the SubType of the segment annotation.

Signature

Elec3DSegmentAnnotation.GetSubType(SubType : String) : Boolean

Arguments

Name Input/Output Required? Type Comment
SubType Out String The subtype of the Segment is retrieved

ReturnType

Boolean

The method returns FALSE if the attribute is not found.

PLMEleRefMultiBranchable.ListProtectionsWithTotalLength()

The ListProtectionsWithTotalLength user function is exposed on an electrical branch geometry and is used to get the list of protections inside it as well as a list containing the total length of these protections.

Signature

PLMEleRefMultiBranchable.ListProtectionsWithTotalLength(ListOfProtection : List, ListOfTotalLength : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
ListOfProtection Out Yes List Lists the names of the protections contained inside the electrical branch geometry.
ListOfTotalLength Out Yes List Lists the total length of individual protections of ListOfProtection.

ReturnType

Boolean

Example

BranchGeoRef : PLMEleRefMultiBranchable

let result(BOOLEAN)
let listOfProtection(LIST)
let listOfTotalLength(LIST)
let sName(STRING)
let numOfProtInstances(INTEGER)
let sizeOfTotalLengthList(INTEGER)

let sProtection1(STRING)
let sProtection2(STRING)
let sProtection3(STRING)

let lengthOfProtection1(REAL)
let lengthOfProtection2(REAL)
let lengthOfProtection3(REAL)

result = BranchGeoRef.ListProtectionsWithTotalLength( listOfProtection, listOfTotalLength )
set sName = BranchGeoRef.Name

if(false == result) /* Should return TRUE */
{
	Message ("Protection Instances not found for reference #", sName)
}

set numOfProtInstances = listOfProtection->Size()
set sizeOfTotalLengthList = listOfTotalLength->Size()
if (( 3 <> numOfProtInstances) and (3 <> sizeOfTotalLengthList))
{
	Message ("Number of Protection Instances found for reference # is not correct", sName)
}	

set sProtection1 =  listOfProtection->GetItem(1)
set sProtection2 =  listOfProtection->GetItem(2)
set sProtection3 =  listOfProtection->GetItem(3)

lengthOfProtection1 = listOfTotalLength->GetItem(1)
lengthOfProtection2 = listOfTotalLength->GetItem(2)
lengthOfProtection3 = listOfTotalLength->GetItem(3)

if(sProtection1 <> "FixedPro")
{
   Message("Protection1 is not correct" )
}
if((lengthOfProtection1 < 50.001) and (lengthOfProtection1 >49.999))
{
   Message("Length of Protection1 is not correct")
}

if(sProtection2 <> "AdaptivePro" )
{
   Message("Protection2 is not correct" )
}
if((lengthOfProtection2 < 100.001) and (lengthOfProtection2 >99.999))
{
   Message("Length of Protection2 is not correct")
}

if(sProtection3 <> "CorrugatedPro1")
{
   Message("Protection3 is not correct")
}
if((lengthOfProtection3 < 150.001) and (lengthOfProtection3 >149.999))
{
   Message("Length of Protection3 is not correct")
}

PLMEleRefWire.ListInstances()

The ListInstances user function is exposed on a conductor reference and is used to get the list of its instances.

Signature

PLMEleRefWire.ListInstances(ListOfInstances : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
ListOfInstances Out Yes List Returns the list of instances in current editor of the conductor reference on which ListInstances() is called.

ReturnType

Boolean

Example

ElecConductorRef : PLMEleRefWire

Let listInstances (LIST)
Let result (BOOLEAN)
Let sName (STRING)
Let nbInst (INTEGER)

set result = ElecConductorRef->ListInstances(listInstances) 
set sName = ElecConductorRef.V_Name
if(false == result) /* Should return TRUE */
{
	Message ("Instances not found for reference #", sName)
}

set nbInst = listInstances->Size()
if( ((sName == "ConductorRef1") and (3 <> nbInst)) or ((sName == "ConductorRef2") and (1 <> nbInst)) )
{
	Message ("Number of Instances found (= #) for reference # is incorrect", nbInst, sName)
}

PLMEleRefWireGroup.ListInstances()

The ListInstances user function is exposed on a conductor group reference and is used to get the list of its instances.

Signature

PLMEleRefWireGroup.ListInstances(ListOfInstances : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
ListOfInstances Out Yes List Returns the list of instances in current editor of the conductor group reference on which ListInstances() is called.

ReturnType

Boolean

Example

ElecConductorGrpRef : PLMEleRefWireGroup

Let listInstancesOfCondtrGrp (LIST)
Let result (BOOLEAN)
Let sNameCondtrGrp (STRING)
Let nbInstCondtrGrp (INTEGER)

set result = ElecConductorGrpRef->ListInstances(listInstancesOfCondtrGrp) 
set sNameCondtrGrp = ElecConductorGrpRef.V_Name
if(false == result) /* Should return TRUE */
{
	Message ("Instances not found for ConductorGrpReference #", sNameCondtrGrp)
}

set nbInstCondtrGrp = listInstancesOfCondtrGrp->Size()
if( ((sNameCondtrGrp == "ConductorGrp1") and (2 <> nbInstCondtrGrp)) or ((sNameCondtrGrp == "ConductorGrp2") and (2 <> nbInstCondtrGrp)) )
{
	Message ("Number of Instances found (= #) for ConductorGrpReference # is incorrect", nbInstCondtrGrp, sNameCondtrGrp)
}

ElectricalBranchGeometryOccurrence.GetFeatureAnnotation()

This method retrieves the feature annotation from the UUID.

Signature

ElectricalBranchGeometryOccurrence.GetFeatureAnnotation(UUID : String, Elec3DAnnotation : Elec3DAnnotation) : Boolean

Arguments

Name Input/Output Required? Type Comment
UUID In String The UUID received from the interference calculation and saved inside the light model
Elec3DAnnotation Out Elec3DAnnotation The feature annotation with all the attributes saved inside the light model.

The feature is null if annotation was not found.

ReturnType

Boolean

The method returns FALSE if the feature annotation was not found inside the light model from UUID.

ElectricalGeometryOccurrence.LoopDetection()

Signature

ElectricalGeometryOccurrence.LoopDetection(ListOfSegmentInLoop : List) : Boolean

Arguments

Name Input/Output Required? Type Comment
ListOfSegmentInLoop Out List -

ReturnType

Boolean

Segment.ComputeAndUpdateName()

The Segment.ComputeAndUpdateName() method can be used to rename an existing segment according to an industrial criteria.

The method delegates the renaming to the Compute Feature Name (Compute_Elec_Feature_Name) opening ID. Therefore, there are no arguments for this method.

For more information about the opening ID, see Data Setup User's Guide: List of Resource Set IDs: 3D Modeling: Electrical Physical System Design Resources: Electrical Physical System Design: Business Logic: Compute Feature Name (Compute_Elec_Feature_Name).

Signature

Segment.ComputeAndUpdateName() : Boolean

ReturnType

Boolean

Segment.Elec_BundleSegmentExtremities()

The Segment.Elec_BundleSegmentExtremities() can be used in Quality Rules Reuse.

Signature

Segment.Elec_BundleSegmentExtremities(SegmentExtremity1 : SegmentExtremity, SegmentExtremity2 : SegmentExtremity) : Boolean

Arguments

Name Input / Output Required? Type Comment
SegmentExtremity1 Out Yes SegmentExtremity None
SegmentExtremity2 Out Yes SegmentExtremity None

ReturnType

Boolean

Segment.Elec_FillingRatio()

The Segment.Elec_FillingRatio() can be used in Quality Rules Reuse.

Signature

Segment.Elec_FillingRatio(FillingRatio : Real, FromStartEnd : Boolean [, StartOffset : Real, EndOffset : Real]) :  Boolean

Arguments

Name Input / Output Required? Type Comment
FillingRatio Output Yes Real Output filling ratio of the segment. This ratio is the equivalent diameter of conductors passing through the segment with the equivalent section area of the segment.
FromStartEnd Input No Boolean Optional Boolean argument to decide on the exact section of the segment for which the filling ratio is to be computed. It should be given when either or both of the next two arguments are specified. It is useful to compute the filling ratio of a part of a segment (due to presence of proxy branch points).
StartOffset Input No Real Optional argument to decide the exact section of the segment for which the filling ratio is to be computed. It should be the distance ratio of the first section to the segment length. If the distance of the section is computed from the second segment extremity, then the boolean "FromStartEnd" should be FALSE.
Note: Start and end offset should be computed from the same segment end.
EndOffset Input No Real Optional argument to decide the exact section of the segment for which the filling ratio is to be computed. It should be the distance ratio of the first section to the segment length. If the distance of the section is computed from the second segment extremity, then the boolean "FromStartEnd" should be FALSE.
Note: Start and end offset should be computed from the same segment end.

ReturnType

Boolean

Example

This exposed function on segment returns the filling ratio of the segment. It corresponds to CATIEwrNetworkArc:: GetFillingRatio method.

The filling ratio is the ratio of the "equivalent diameter of the conductors passing through this segment" with "the equivalent section area of the segment" (depending on its profile). Therefore, it is equal to 0 for a segment which has no conductors passing through it and it is equal to 1 for a completely filled segment.

The image below shows the usage and need of the three optional arguments:

To find the filling ratio of the segment within section A-B, the knowledge function for Segment.Elec_FillingRatio is called with the following arguments:

 OutputFillingRatio -> Real
 FromStartEnd -> Boolean -> TRUE
 StartOffset->Real -> la/L
 EndOffset->Real -> lb/L

Segment.GetPath

This method creates the network path of a segment.

Signature

GetPath(oNetworkPath : Elec3DNetworkPath) : Boolean

Arguments

Name Input / Output Required? Type Comment
oNetworkPath Output Yes Elec3DNetworkPath The path from one segment extremity to the other.

ReturnType

Boolean

The method returns FALSE if the search for the network's nodes and arcs fails.

Segment.GetProfile()

The Segment.GetProfile() method can be used in Quality Rules Reuse. It allows to retrieve the profile type of a segment.

Signature

GetProfile(SegmentProfile : out ElecProfile): Boolean

Arguments

Name Input / Output Required? Type Comment
SegmentProfile Output Yes ElecProfile -

ReturnType

Boolean

Example

The following sample illustrates how to retrieve the profile type of a segment.

let EleSegment(segment)
let strProfileType(string)
 
set EleSegment = ThisObject
EleSegment.GetProfile(currentProfile)
                
set strProfileType = currentProfile.Elec_ProfileType
                
Notify("Profile type is : ", strProfileType) 

Segment.ListCrossedSpaces()

The Segment.ListCrossedSpaces() method lists the spaces crossed by a segment.

This method can be called while using the Validate Segment Overloading for Input Conductor Considering Underlying Conductors (EWR_ValidateSegmentInConductorRoute) opening ID. For more information, see Electrical 3D Design: Spaces Integration: Routing Conductors through Spaces.

Important: To retrieve information from this method, the following prerequisites are necessary:
  • Your space root must be divided into space concept roots.

    For more information, see Space Allocation User's Guide: Dividing a Ship Using Cutting Elements: Working with Space Structures: About Space Structures.

  • Your content must be indexed using 3DSpace Index.

    For more information, see 3DSpace Index Installation Guide.

Signature

Segment.ListCrossedSpaces(ListSpaceOccurrence : List) : Boolean

Arguments

Name Input/Output Required? Type Comment
Segment In Yes Segment -
ListSpaceOccurrence Out Yes List Contains the list of space occurences crossed by the segment.

ReturnType

Boolean

Example

The following sample enables to list the segments crossing spaces FZ1 and FZ2.

let ListSpace(List)
let segment_name(String)
let space_name(String)
let space_occurrence(ProductOccurrence)

segment_name=my_segment.Name

if (  segment_name.Search("FZ1",1,true)  >  0  )
{
	my_segment.ListCrossedSpaces(ListSpace)
	for space_occurrence inside ListSpace 
	{
		space_name = space_occurrence.Name
		if (  space_name.Search("FZ1",1,true)  >  0  )
		 {
		 Message(segment_name+" in  space "+space_occurrence.Name  )	 
		 }
	}
}

if (  segment_name.Search("FZ2",1,true)  >  0  )
{
	my_segment.ListCrossedSpaces(ListSpace)
	for space_occurrence inside ListSpace 
	{
		space_name = space_occurrence.Name
		if (  space_name.Search("FZ2",1,true)  >  0  )
		 {
		 Message(segment_name+" in  space "+space_occurrence.Name  )	 
		 }
	}	
}

Segment.ListSecondaryConnectionPositions()

The Segment.ListSecondaryConnectionPositions() method can be used in Quality Rules Reuse.

Signature

Segment.ListSecondaryConnectionPositions(SecondaryCnxType : String, oListOffsetfromSegStart : List, oListOffsetfromSegEnd : List, oListOfConnectedSegment : List]) : Boolean

Arguments

Name Input/Output Required? Type Comment
Segment Input Yes Segment -
SecondaryCnxType Input Yes String Type of secondary connection to search. Valid input strings are "ProxyBranchPoint", "DistantDeviceCnx" and "All".
oListOffsetfromSegStart Output Yes List Lists the distances from the "Start" extremity for all secondary connection positions on the primary segments.

The secondary connection positions output depends on the SecondaryCnxType input.

oListOffsetfromSegEnd Output Yes List Lists the distances from the "End" extremity for all the secondary connection positions on the primary segments.

The secondary connection positions output depends on the SecondaryCnxType input.

oListOfConnectedSegment Output No List List of lists which contain the segments connected through the secondary connections (used only for proxy branch points).

If the listed secondary connections are "DistantDeviceCnx", the list is NULL.

ReturnType

Boolean

Example 1

The following sample illustrates how to retrieve:

  • The proxy branch points positioned on a segment
  • The distance separating the proxy branch points from the start and the end of the segment
  • The segments connected through secondary connections
Seg: Segment

//------------------------------------------------------------------------------
// Check, using exposed ListSecondaryConnectionPositions type
//-----------------------------------------------------------------------------

/* Check  created by SSA2 2/22/2016 */ 
let listSeg (LIST)
let listFromStart (LIST)
let listFromEnd (LIST)
let index (INTEGER)
let index2 (INTEGER)
let index3 (INTEGER)
let size (INTEGER)
let size2 (INTEGER)
let size3 (INTEGER)
let sMessage (STRING)
let len (Length)
let listOfSegments(LIST)
let result (Boolean)
let SegConnected (Segment)

set sMessage = Seg.Name
result = Seg->ListSecondaryConnectionPositions("ProxyBranchPoint", listFromStart, listFromEnd, listOfSegments)

if(true == result) set sMessage = sMessage + ": Result = true"
else set sMessage = sMessage + ": Result = true"

set size2 = listFromStart.Size()
set sMessage = sMessage + ", Number of Proxy branch points = " + ToString(size2)

set index2 = 1
if( (1 <= size2) and (size2 == listFromEnd.Size()) )
{
	for index2 while index2 <= size2
	{
		set len = listFromStart.GetItem(index2)
		sMessage = sMessage + "Length From start (" + ToString(index2) + ") = "  + ToString(len) + ", "
		
		set len = listFromEnd.GetItem(index2)
		sMessage = sMessage + "Length From End (" + ToString(index2) + ") = "  + ToString(len) + ", "

		if(NULL <> listOfSegments)
		{
			sMessage = sMessage + "List of Segments  = "

			/*List of Connected segment @ Proxy BranchPoint */
			set index3 = 1
			set size3 = listOfSegments->Size()
			for index3 while index3<=size3
			{
				set listSeg = listOfSegments.GetItem(index3)
				if(NULL <> listSeg)
				{
					set index = 1
					size = listSeg.Size()
					for index while index <= size
					{
						set SegConnected = listSeg.GetItem(index1)
						if(NULL <> SegConnected) sMessage = sMessage + SegConnected.Name + ", "
						else sMessage = sMessage + ", "
					}
				}
				else sMessage = sMessage + ", "
			}
		}
		else sMessage = sMessage + "List of Segments  = NULL"
	}			
}
Notify(sMessage)

Example 2

The following example illustrates how to retrieve:

  • The position of segments belonging to secondary branches and connected to a primary branch through proxy branch points
  • The position of the device distant links on a source segment

let ListChild (LIST)
let listOffsetfromStart (LIST)
let listOffsetfromEnd (LIST)
let seg (Segment)
let bVal(Boolean)
let rPosn(Real)
let enumVal(string)
set ListChild = Branch.Children
Message ("#", ListChild->Size())

set seg = ListChild->GetItem(1) 
if(NULL <> seg)
{
	//  process Proxy branch points 
	//  ----------------------------
    set enumVal="ProxyBranchPoint"
	set bVal = seg.ListSecondaryConnectionPositions(enumVal, listOffsetfromStart, listOffsetfromEnd)
	if(bVal <> FALSE)
	{
		Message ("Nb of ProxyBranchPoint positions identified on Primary Segment  : #", listOffsetfromStart->Size())	
		rPosn = listOffsetfromStart->GetItem(1);
		Message ("First ProxyBranchPoint position is identifiedfrom Start at a distance  : #", rPosn)	
	}
	listOffsetfromStart.RemoveAll();
	listOffsetfromEnd.RemoveAll();
	
	//  process Distant device connexion
	//  ---------------------------------
    set enumVal="DistantDeviceCnx"
	set bVal = seg.ListSecondaryConnectionPositions(DistantCnx, listOffsetfromStart, listOffsetfromEnd)
	if(bVal <> FALSE)
	{
		Message ("Nb of Device Distant Cnx positions identified on Primary Segment  : #", listOffsetfromEnd->Size())		
		rPosn = listOffsetfromEnd->GetItem(1);
		Message ("First Distant Cnx position is identifiedfrom End at a distance  : #", rPosn)	
	}
	set segEnd =  ListSegChild->GetItem(1)
}

Segment.SetProfile

The Segment.SetProfile method can be used in Quality Rules Reuse. It allows to define a profile type on a segment.

Signature

Segment.SetProfile(Profile : ElecProfile) : Boolean

Arguments

Name Input / Output Required? Type Comment
Profile Input Yes ElecProfile -

ReturnType

Boolean

The method returns FALSE if the branch cannot be built correctly with the new profile.

SegmentExtremity.GetNode

This method retrieves the node connected at a segment extremity.

Signature

GetNode(oNode : Elec3DNetworkNode) : Boolean

Arguments

Name Input / Output Required? Type Comment
oNode Output Yes Elec3DNetworkNode The node corresponding to the segment extremity.

ReturnType

Boolean

The method returns FALSE if the search for the node fails.

SharedEquipmentPartOccurrence.CheckLockAngle()

Signature

SharedEquipmentPartOccurrence.CheckLockAngle(ReferenceElement : ProductOccurrence, Check : Boolean, Angle : ANGLE) : Integer

Arguments

Name Input/Output Required? Type Comment
ReferenceElement In ProductOccurrence -
Check Out Boolean -
Angle Out ANGLE -

ReturnType

Integer

SharedEquipmentPartOccurrence.ComputeGlobalOrientation()

Signature

SharedEquipmentPartOccurrence.ComputeGlobalOrientation(AngleAxisZ : ANGLE, AngleXYPlane : ANGLE, ReferenceAxis : Axis System [, RefAxisOccurrence : ProductOccurrence]) : Integer

Arguments

Name Input/Output Required? Type Comment
AngleAxisZ Out ANGLE -
AngleXYPlane Out ANGLE -
ReferenceAxis In AxisSystem -
RefAxisOccurrence In ProductOccurrence -

ReturnType

Integer

SharedEquipmentPartOccurrence.ComputeOrientation()

Signature

SharedEquipmentPartOccurrence.ComputeOrientation(InputReferenceElement : ProductOccurrence, Angle : ANGLE, ComputedReferenceElement : ProductOccurrence) : Integer

Arguments

Name Input/Output Required? Type Comment
InputReferenceElement In ProductOccurrence -
Angle Out ANGLE -
ComputedReferenceElement Out ProductOccurrence -

ReturnType

Integer

SharedSupportPartOccurence.ListArc

This method retrieves the arcs corresponding to the segments routed inside a support occurrence.

Signature

 ListArc(iSection : Integer, oListArc : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
oListArc Output Yes List The list of arcs routed inside the support.
iSection Input Optional Integer

The section number.

If iSection is not set: all arcs are retrieved.

ReturnType

Boolean

The method returns FALSE if the search for arcs fails.

Wire.ComputedMinAngle()

The Wire.ComputedMinAngle() method can be used in Quality Rules Reuse.

Signature

Wire.ComputedMinAngle(MinBendAngle : ANGLE, Segment1 : Segment, Segment2 : Segment) : Boolean

Arguments

Name Input / Output Required? Type Comment
MinBendAngle Out Yes ANGLE None
Segment1 Out Yes Segment None
Segment2 Out Yes Segment None

ReturnType

Boolean

Wire.ComputedMinBendRadius()

The Wire.ComputedMinBendRadius() method can be used in Quality Rules Reuse.

Signature

Wire.ComputedMinBendRadius(MinBendRadius : LENGTH, Segment : Segment) : Boolean

Arguments

Name Input / Output Required? Type Comment
MinBendRadius Out Yes LENGTH None
Segment Out Yes Segment None

ReturnType

Boolean

Wire.FromTo()

The Wire.FromTo() method can be used in Quality Rules Reuse.

Signature

Wire.FromTo(From Product : VPMInstance, FromConnectionPointName : String, To Product : VPMInstance, ToConnectionPointName : String) : Boolean

Arguments

Name Input / Output Required? Type Comment
From Product Out Yes VPMInstance None
FromConnectionPointName Out Yes String None
To Product Out Yes VPMInstance None
ToConnectionPointName Out Yes String None

ReturnType

Boolean

Wire.GetRouteBendInformation()

The Wire.GetRouteBendInformation() method can be used in Quality Rules Reuse.

Signature

Wire.GetRouteBendInformation(oListBendAngleValues : List, oListEntrySegmentsOnBend : List, oListExitSegmentsOnBend : List) : Boolean

Arguments

Name Input/Output Required? Type Comment
oListBendAngleValues Out Yes List -
oListEntrySegmentsOnBend Out Yes List -
oListExitSegmentsOnBend Out Yes List -

ReturnType

Boolean