Electrical Functions

This topic provides you with information about electrical user functions.

Before you begin, activate the ElectricalMeasure package:

  1. Select Me > Preferences > General > Parameters and Measures > Knowledge Environment tab.
  2. From the list of available packages, select Electrical Functions and click the down arrow to load this package.
  3. Click OK to validate.

This page discusses:

CreateAdvancedConnectionPoint

The CreateAdvancedConnectionPoint user function can be used in Quality Rules Reuse.

Signature

CreateAdvancedConnectionPoint(DeviceReference : VPMReference, TypeOfConnectionPt : String, ListOfGeometries : List [, NameOfCnctPt : String]) : Boolean

Arguments

Name Input / Output Required? Type Comment
DeviceReference In Yes VPM Reference Device reference in which the connection point is to be created.
TypeOfConnectionPt In Yes String Type of connection point to be created. Only the following strings can be used to create the type of connection points:
  • "Cavity"
  • "CavityConnectionPoint"
  • "ConnectorConnectionPoint"
  • "BackshellConnectionPoint"
  • "ShellConnectionPoint"
  • "SegmentConnectionPoint"
  • "SegmentPositionPoint"
ListOfGeometries In Yes List List of geometries to be set as joint parameter of advanced electrical connection points. The list should not contain NULL or empty element in intermediate positions. It can have up to four elements (depending on type of connection points being created) respectively for:
  • Representation
  • Contact /Point for segment connection point
  • Coincidence / Tangency for segment connection point
  • Orientation
Representation and contact are mandatory arguments.
NameOfCnctPt In Optional String Optional argument. Name of the connection point to be created. If the argument is not passed, the connection point will be created with a default name.

ReturnType

Boolean

This is the return value from the function which indicates the result of execution.

TRUE: Only if the connection point is successfully created.

FALSE: If the connection point creation fails. The reasons of function failure can be:

  • The input VPMReference is not a device i.e. it does not have an electrical extension.
  • The connection point type input is not allowed or compatible with input device reference.
  • The geometries are already published as connection points.

Example

You can create and execute the following rule. The rule creates a segment connection point using the advanced connection point method on single insert connector reference.

DevInst : VPMReference

Let index (INTEGER)
Let size (INTEGER)
Let sMessgae (STRING)
Let sName (STRING)
Let result (Boolean)
Let plane (Plane)
Let point (Point)
Let ListObjects (LIST)
Let ListGeometries (LIST)

set sName = ""
/* Find the Point*\
ListObjects = DevInst->Query("Point", "")
index = 1
size = ListObjects.Size()
for index while index <= size
{
   set point = ListObjects->GetItem(index)
  	if(NULL <> point)
   {
       set sName = point.Name
       if(sName == "Point.2")    
       {
         ListGeometries.Append(point) /* For representation */
           ListGeometries.Append(point) /* For Contact */
           set size = 0
       }
   }
 }

/* Find the plane */
   index = 1
   ListObjects.RemoveAll()
   ListObjects = DevInst->Query("Plane", "")
   for index while index <= ListObjects.Size()
   {
     set plane = ListObjects->GetItem(index)
      if(NULL <> plane)
      {
        set sName = plane .Name
        if (sName == "Plane.1")
        {
         ListGeometries.Append(plane ) /* For Tangency */
        }
      }
   }

/* Create the connection point */
result = CreateAdvancedConnectionPoint(DevInst, "SegmentConnectionPoint", ListGeometries)
if (result == true) Message("Advance connection Point created successfully")

CreateBranch

The CreateBranch function allows to add a new branch in an existing branch geometry.

Signature

CreateBranch(ParentBranchGeometry : ElectricalBranchGeometryOccurrence, ListOfRouteElements : List, NewBranch : Branch) : Boolean

Arguments

Name Input / Output Required? Type Comment
ParentBranchGeometry Input Yes ElectricalBranchGeometryOccurrence The electrical geometry under which the new branch is added.
ListOfRouteElements Input Yes List The list of the Elec3DRouteElements defining the route of the new branch.
NewBranch Output Yes Branch The new branch routed through the route elements of the list.

ReturnType

Boolean

The method returns FALSE if the branch is not created.

CreateCircularProfile

The CreateCircularProfile function allows to define a profile of Circle type on a branch.

Signature

CreateCircularProfile(Diameter : LENGTH, NewProfile :ElecCircularProfile) : Boolean

Arguments

Name Input / Output Required? Type Comment
Diameter Input Yes LENGTH The diameter of the circle.
NewProfile Output Yes ElecCircularProfile The new profile with its type and dimensions set as input.

ReturnType

Boolean

The method returns FALSE if the profile is not set correctly.

CreateDeviceRouteElement

The CreateDeviceRouteElement function allows to add a new device to a branch's route.

Signature

CreateDeviceRouteElement(Device: ProductOccurrence, ConnectionPoint : ElecPort, NewDeviceRouteElement : Elec3DDeviceRouteElement) : Boolean

Arguments

Name Input / Output Required? Type Comment
Device Input Yes ProductOccurence -
ConnectionPoint Input Yes ElecPort The type can be:
  • Elec3DSegmentConnectionPoint
  • Elec3DCavity
  • Elec3DCavityV5
  • Elec3DSegmentConnectionPointV5
NewElecDeviceRouteElement Output Yes Elec3DDeviceRouteElement The new device added to the branch route.

ReturnType

Boolean

The method returns FALSE if the device is not defined properly.

CreateEllipticalProfile

The CreateEllipticalProfile function allows to define a profile of Ellipse type on a branch.

Signature

CreateEllipticalProfile(MajorAxis : LENGTH, MinorAxis :  LENGTH, NewProfile : ElecEllipticalProfile) : Boolean

Arguments

Name Input / Output Required? Type Comment
MajorAxis Input Yes LENGTH The major axis of the ellipse.
MinorAxis Input Yes LENGTH The minor axis of the ellipse.
NewProfile Output Yes ElecEllipticalProfile The new profile with its type and dimensions set as input.

ReturnType

Boolean

The method returns FALSE if the profile is not set correctly.

CreatePath

The CreatePath function allows to create a network path based on a list of connected segments.

Signature

CreatePath(iListPathObjects : List, o3DNetworkPath : Elec3DNetwotkPath) : Integer

Arguments

Name Input / Output Required? Type Comment
iListPathObjects Input Yes List List of connected segments
o3DNetworkPath Output Yes Elec3DNetworkPath The network path

ReturnType

Integer

The method returns FALSE if the creation fails.

Example

The following sample illustrates how to create a network path based on a list of segments.

// create path from the selected segments
let ListInputElem(List)
let  myRoutePath(Elec3DNetworkPath)

Notify( "path element 1 : ",SGT1.Name)
Notify( "path element 2 : ",SGT2.Name)
Notify( "path element 3 : ",SGT3.Name)
Notify( "path element 4 : ",SGT4.Name)

ListInputElem.AddItem(SGT1,1)
ListInputElem.AddItem(SGT2,2)
ListInputElem.AddItem(SGT3,3)
ListInputElem.AddItem(SGT4,4)

CreatePath(ListInputElem,myRoutePath)

// reset graph
ResetElectricalNetworkGraph()

CreatePointRouteElement

The CreatePointRouteElement function allows to add a new point to a branch's route.

Signature

CreatePointRouteElement(InputPoint : Feature, NewPointRouteElement : Elec3DPointRouteElement) : Boolean

Arguments

Name Input / Output Required? Type Comment
InputPoint Input Yes Feature Can be: a point, a branch point, or a segment extremity.
NewElecPointRouteElement Output Yes Elec3DPointRouteElement The new point added to the branch route.

ReturnType

Boolean

The method returns FALSE if the route point is not defined properly.

CreateRectangularProfile

The CreateRectangularProfile function allows to define a profile of Rectangular type on a branch.

Signature

CreateRectangularProfile(Width : LENGTH,  Height : LENGTH,  NewProfile : ElecRectangularProfile) : Boolean

Arguments

Name Input / Output Required? Type Comment
Width Input Yes LENGTH The width of the rectangle.
Height Input Yes LENGTH The height of the rectangle.
NewProfile Output Yes ElecRectangularProfile The new profile with its type and dimensions set as input.

ReturnType

Boolean

The method returns FALSE if the profile is not set correctly.

CreateStandardConnectionPoint

The CreateStandardConnectionPoint user function can be used in Quality Rules Reuse.

Signature

CreateStandardConnectionPoint(DeviceReference : VPMReference, TypeOfConnectionPt : String, AxisSystem : AxisSystem, NameOfCnctPt : String) : Boolean

Arguments

Name Input / Output Required? Type Comment
DeviceReference In Yes VPM Reference Device reference in which the connection point is to be created.
TypeOfConnectionPt In Yes String Type of connection point to be created. Only the following strings can be used to create the type of connection points:
  • "Cavity"
  • "CavityConnectionPoint"
  • "ConnectorConnectionPoint"
  • "BackshellConnectionPoint"
  • "ShellConnectionPoint"
  • "SegmentConnectionPoint"
  • "SegmentPositionPoint"
AxisSystem In Yes AxisSystem To be set as the representation of the standard electrical connection point.
NameOfCnctPt In Yes String Optional argument. Name of the connection point to be created. If the argument is not passed, the connection point will be created with a default name.

ReturnType

Boolean

This is the return value from the function which indicates the result of execution.

TRUE: Only if the connection point is successfully created.

FALSE: If the connection point creation fails. The reasons of function failure can be:

  • The input VPMReference is not a device i.e. it does not have an electrical extension.
  • The connection point type input is not allowed or compatible with input device reference.
  • The geometries are already published as connection points.

Example

You can create and execute the following rule. This rule creates a cavity using the CreateStandardConnectionPoint function on a single insert connector reference.

DevInst : VPMReference

Let Ref(VPMReference)
Let Axis (AxisSystem)
Let ListAxis (List)
Let index (INTEGER)
Let size (INTEGER)
Let sName (STRING)
Let result (Boolean)

set index = 1
ListAxis = DevInst->Query("AxisSystem", "")
for index while index <= ListAxis.Size()
{
       set Axis = ListAxis->GetItem(index)
       if(NULL <>Axis)
       {			
          set sName =Axis.Name
			       if(0 == sName.Search("Cavity"))
          {
             result = CreateStandardConnectionPoint(Ref, "Cavity", Axis)
				         if(result == false)
                Message = "Standard Connection Point created successfully"
           }
       }
    }
}

CreateSupportRouteElement

The CreateSupportRouteElement function allows to add a new support to a branch's route.

Signature

CreateSupportRouteElement(Support : ProductOccurrence, IndexOfSection : Integer, NewDeviceRouteElement : Elec3DSupportRouteElement) : Boolean

Arguments

Name Input / Output Required? Type Comment
Support Input Yes ProductOccurence -
IndexOfSection Input Yes Integer -
NewElecDeviceRouteElement Output Yes Elec3DSupportRouteElement The new support added to the branch route.

ReturnType

Boolean

The method returns FALSE if the support is not defined properly.

CreateTruncatedRectangularProfile

The CreateTruncatedRectangularProfile function allows to define a profile of Truncated Rectangle type on a branch.

Signature

CreateRectangleProfile(MajorHeight : Length, MajorWidth : Length, MinorHeight : Length, MinorWidth : LENGTH, CornerPosition : string, NewProfile : ElecTruncatedRectangularProfile) : Boolean

Arguments

Name Input / Output Required? Type Comment
MajorWidth Input Yes LENGTH The major width of the rectangle.
MajorHeight Input Yes LENGTH The major height of the rectangle.
MinorWidth Input Yes LENGTH The minor width of the rectangle.
MinorHeight Input Yes LENGTH The minor height width of the rectangle.
CornerPosition Input Yes String The corner position: top-left, top-right, bottom-left, or bottom-right.
NewProfile Output Yes ElecTruncatedRectangularProfile The new profile with its type and dimensions set as input.

ReturnType

Boolean

The method returns FALSE if the profile is not set correctly.

DistanceWireProduct

The DistanceWireProduct user function can be used in Quality Rules Reuse.

Signature

DistanceWireProduct(Wire : Feature, Object : Feature) : LENGTH

Arguments

Name Input / Output Required? Type Comment
Wire In Yes Feature None
Object In Yes Feature Object can be:
  • A product instance (For example, a device instance)
  • A geometrical feature (For example, a point)

ReturnType

LENGTH

Example 1

The DistanceWireProduct user function can be used with the f(x) command to display the distance between a wire and a component in the session. This formula: DistanceWireProduct(EB.1\Wire.1 ,GB1.1\Muffler.1 ) returns the following value: 171.964mm.

Example 2

The DistanceWireProduct user function can be used in Quality Rules Reuse to find all the wires in the session that have a minimum distance to defined components smaller than a critical value chosen by the user. The components can be defined as heat-resistant. Properties have been added to the product (load the ElectricalMeasure package) and to the wires (set the Separation Code to NOT_HEAT_RESISTANT). DistanceWireProduct(EB.1\Wire.1 ,GB1.1\Muffler.1 ) returns the following value: 171.964mm. A check is defined as follows:

/*Check created by xxx 11/27/2007*/ 
(Object > HasAttribute('Zone') ) and 
(Object > GetAttributeString('Zone')== 'HOT' and 
mywire\Elec_Sep_Cod == 'NOT_HEAT_RESISTANT') => 
( DistanceWireProduct (mywire,Object)> 130.00mm)

Updating the session displays a status light on the check. A report is generated showing the check result: some wires verify the condition, other don't.

Example 3

The DistanceWireProduct user function can be used in Engineering Rules Capture to define a rule that displays a warning message if a minimum distance between a wire and an object is smaller than a critical value defined by the user.

if( DistanceWireProduct (EB.1\Wire.22 ,GB1.1\Muffler.1
)<Critical_Distance 
and Muffler\Properties\Zone == "HOT" and 'EB1\Wire.22\Separation
Code'
== "NOT_HEAT_RESISTANT" 
Message("> WARNING: # is not heat-resistant and the minimum
distance with # is smaller than the critical distance #. 
",'Wire.22\Part Number'
, 'Muffler\PartNumber' 
,Critical_Distance)

Running this rule displays the following message:

Rule.2: Information 
WARNING: Wire.22 is not heat-resistant and the minimum distance with Muffler is smaller than the critical distance 303.648mm.

Example 4

Still in Engineering Rules Capture, an action can be defined using the DistanceWireProduct user function, to know the distance between a wire and an object selected in the tree.

a: Wire, b: Product
Message("The distance between the wire '#' and the product
'#' is #.", 
a.Name,b.Name, DistanceWireProduct(a,b) )

Run the action using the Action.1 context menu: select a wire and a product in the tree, and then validate.

Running this rule displays the following message:

Action.1: Information 
The distance between the wire 'Wire.1' and the product 'Muffler.1' is 171.964mm

Elec_DistanceCommon

The Elec_DistanceCommon user function can be used in Quality Rules Reuse.

Signature

Elec_DistanceCommon(FirstWire : Feature, SecondWire : Feature) : LENGTH

Arguments

Name Input / Output Required? Type Comment
FirstWire In Yes Feature None
SecondWire In Yes Feature None

ReturnType

LENGTH

Example

The Elec_DistanceCommon user function can be used in Quality Rules Reuse to find all the couples of wires in the session that have a common length greater than a given value.

/*Rule created by xxx 11/27/2007*/ 
if(a>b) and Elec_DistanceCommon (a,b)> 400mm) 
Message("# and # have a common length. 
It is equal to",a.Name,b.Name,round(Elec_DistanceCommon(a,b)*1000),"mm.")

Example 2

In Engineering Rules Capture, it can be used to define a rule giving the common length of two specific wires sharing properties.

/*Rule created by xxx 11/27/2007*/ 
if(Elec_DistanceCommon('Wire Harness1.1\Wire-check','Wire Harness1.1\Wire-minus3')>400mm)
Message("The specified wires,",'Wire_Harness1\Wire-check1\Reference_designator'," and
",'PN-AMP-3403B.2\Part_Number',",whose separation code is set to Wet, have a common length greater than 400mm: namely "
,(Elec_DistanceCommon('Wire Harness1.1\Wire-check1','Wire Harness1.1\Wire-minus3')))

Applying the rule displays the following message if the condition is met:

The specified wires, Wire-check1 and PN-AMP-3403B.2, whose separation code is set to Wet, have a common length greater than 400 mm: namely 407.069mm

Example 3

Still in Engineering Rules Capture, to verify that two wires selected in the tree have a common length, the following action can be defined:

/**/ Message("The common length between # and # is equal to "
,a.Name,b.Name, Elec_DistanceCommon(a,b),".")

Select two wires in the tree and click OK to validate.

Running this rule displays the following message:

The common length between Wire-minus2 and Wire-check1 is equal to 332.17mm.

ElectricalConnect

The ElectricalConnect function is exposed on a device instance and is used to connect two device instances.

Signature

ElectricalConnect(DeviceInstance : VPMInstance, ConnectionPointName : String, ToConnectObject : VPMInstance, ToConnectionPointName : String) : Boolean

Arguments

Name Input / Output Required? Type Comment
DeviceInstance In Yes VPMInstance None
ConnectionPointName In Yes String None
ToConnectObject In Yes VPMInstance None
ToConnectionPointName In Yes String None

ReturnType

Boolean

Example

Dev1: PLMProductInstanceDS 
Dev2: PLMProductInstanceDS 


Let Dev1Name(STRING) 
Let Dev2Name(STRING) 
Let bConnected(Boolean)
Dev1Name = Dev1.V_Name (Title)
Dev2Name = Dev2.V_Name (Title)

bConnected = ElectricalConnect (Dev1,"BackshellCnctPt.1",Dev2,"BackshellCnctPt.1") if(bConnected == true) { Message("Connected") }

ElectricalDisconnect

The ElectricalDisconnect function is exposed on a device instance and is used to disconnect two device instances.

Signature

ElectricalDisconnect(DeviceInstance : VPMInstance, ConnectionPointName : String) : Boolean

Arguments

Name Input / Output Required? Type Comment
DeviceInstance In Yes VPMInstance None
ConnectionPointName In Yes String None

ReturnType

Boolean

Example

Dev1: PLMProductInstanceDS 

Let Dev1Name(STRING) 
Let bDisconnected(Boolean) 
Dev1Name = Dev1.V_Name (Title) 

bDisconnected = ElectricalDisconnect (Dev1,"BackshellCnctPt.1")
if(bDisconnected == true) 
{
Message("Disconnected") 
}

ElectricalDisconnectBranch

The ElectricalDisconnectBranch function is exposed on a device instance. It can be used to disconnect electrically and geometrically branches connected to an electrical device. The branch shape is not modified by the function.

Signature

ElectricalDisconnect(DeviceInstance : VPMInstance, ConnectionPointName : String) : Boolean

Arguments

Name Input / Output Required? Type Comment
DeviceInstance In Yes VPMInstance None
ConnectionPointName In Optional String If connection point name is not set: all the branches are disconnected.

ReturnType

Boolean

This is the return value from the function which indicates the result of execution.

TRUE: if the disconnection is successfully performed.

FALSE: if the disconnection fails.

Example 1

Device: PLMProductInstanceDS 

/* disconnect all branches */

Let bDisconnected(Boolean) 
bDisconnected = ElectricalDisconnectBranch (Device)
if(bDisconnected == true) 
{
   Message("Disconnected") 
}

Example 2

Device: PLMProductInstanceDS 

/* disconnect branch connected at a specific connection point  */

Let ConnectionPointID(STRING) 
Let bDisconnected(Boolean)
ConnectionPointID =”SegmentCnct.1”
 
bDisconnected = ElectricalDisconnectBranch ( Device, ConnectionPointID )
if(bDisconnected == true) 
{
   Message("Disconnected") 
}

GetConnectedArcs

This function retrieves all the nodes (and their associated arcs) connected to a specific electrical port of a device occurrence.

A device node is computed on an electrical port only if the device electrical port is connected to the branch extremities.

Signature

GetConnectedArcs(iDeviceOccurrence : ProductOccurrence, iElecPort : VPMPort, oConnectedNode : Elec3DDeviceNode, oListConnectedArcs : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
iDeviceOccurrence In Yes ProductOccurrence Input device occurrence.
iElecPort In Yes VPMPort Input electrical device port.
oConnectedNode Out Yes Elec3DDeviceNode The node corresponding to segment extremities connected to the device electrical port.
oListConnectedArcs Out Yes List The arcs connected to the exposed node.

ReturnType

Boolean

The function returns FALSE if :

  • The input occurrence is not an electrical device occurrence.
  • The input electrical port is not valid:
    • The port has not the right type.
    • The port is not connected to the input device occurrence.
  • The search for segment extremities connected to port fails.

Example

The following sample illustrates how to retrieve the node and arcs connected to the segment connection point of a connector occurrence.

For each arc retrieved as output in the arcs list, the Elec3DNetworkArc.GetComponent method is used to retrieve the associated segment.

 /* Retrieve not connected segment connection point of a selected device  */

let index(Integer)

let ConnectorRef(Elec3DSingleInsertConnector)
let BCP(Elec3DSegmentConnectionPoint)
let  BCPNode(Elec3DDeviceNode)
let  ListNetworkArc(List)
let nb_arc(Integer)
let i_arc(Integer)
let NetworkArc(Elec3DNetworkArc)
let ArcFeature(Feature)
let ArcSegment(Segment)
let ArcBranch(Branch)
let LElecPortType(List)
let LSegmentConnectionPoint(List)
let nb_bcp(Integer)
let nb_connected(Integer)

set ConnectorRef=myConnectorOcc.Reference
LElecPortType.Append("Elec3DSegmentConnectionPoint")
ListElectricalConnectionPoints(ConnectorRef,LElecPortType,LSegmentConnectionPoint)
nb_bcp=LSegmentConnectionPoint.Size()

nb_connected=0
index=1
for index while index <= nb_bcp
{
	set BCP = LSegmentConnectionPoint->GetItem(index) 
	
	GetConnectedArcs(myConnectorOcc,BCP,BCPNode, ListNetworkArc)
	
	if ( BCPNode ==  NULL)   // not connected
	{
		// notify segment connection point status : not connected 
		Notify ( BCP.V_FunctionalName," is not connected to branch ")	
	}
	else  // connected
	{
		nb_connected = nb_connected + 1
		
		//  --- number of arc connected node  
		nb_arc = ListNetworkArc.Size()
				
		i_arc=1
		for i_arc while i_arc <= nb_arc
		{
			set NetworkArc = ListNetworkArc->GetItem(i_arc)
			// retrieve the arc component : a segment
			NetworkArc.GetComponent(ArcFeature)
			set ArcSegment=ArcFeature
			// retireve the branch from segment 
			set ArcBranch=ArcSegment.Owner
			// notify segment connection status point  : connected 
			Notify (  BCP.V_FunctionalName, " connected to ",ArcBranch.Name,"/",ArcFeature.Name)
		}
	} 
	index = index+1
}

// display the status 
if ( nb_bcp == nb_connected )  Message (  "   ok : all segment connection points are connected to branch " )
else Message (  "   warning :  segment connection points not connected to branch " )

GetConnectedDevice

This function retrieves the device connected to a specific electrical port of a device occurrence.

Signature

 GetConnectedDevice(iDeviceOccurrence : ProductOccurrence, iElectricalPort : VPMPort, oConnectedOccurrence : ProductOccurrence, oConnectedPort : VPMPort) : Boolean

Arguments

Name Input / Output Required? Type Comment
iDeviceOccurrence In Yes ProductOccurrence Input device occurrence
iElectricalPort In Yes VPMPort List of electrical ports belonging to the current device reference.
oConnectedOccurrence Out Yes ProductOccurence The connected device occurrence.

The element may be a device occurrence or a NULL object if no device is connected to the corresponding port.

oConnectedPort Out Yes VPMPort The connected electrical port.

Element may be an electrical port or a NULL object if no device is connected to the input port.

ReturnType

Boolean

The function returns FALSE if :

  • Input occurrence is not an electrical device occurrence.
  • Any input port is not an electrical port.
  • The search for connection fails.

Example

The following sample illustrates how to retrieve a device connected to the cavity connection point of a connector.

/* check single insert connector not plugged into cavity   */ 
/* input :  iSingleConnectorOcc  Elec3DSingleInsertConnectorOccurrence */

let LElecPortType(List)

let iSingleConnectorRef(Elec3DSingleInsertConnector)
let LCavityCnctPt(List)
let nb_cavity_cnctpt(Integer)
let CavityCnctpt(Elec3DCavityConnectionPoint)

let ElecConnectedDeviceOcc(ProductOccurrence)
let ConnectedCavity(VPMPort)

set iSingleConnectorRef=iSingleConnectorOcc.Reference

/* retrieve cavity connection point on connector reference  */
LElecPortType.Append("Elec3DCavityConnectionPoint")
ListElectricalConnectionPoints(iSingleConnectorRef,LElecPortType,LCavityCnctPt)
nb_cavity_cnctpt=LCavityCnctPt.Size()
if ( nb_cavity_cnctpt == 1 )  set CavityCnctpt = LCavityCnctPt->GetItem(1)
	
/* retrieve device connector to cavity connection point of sincle connector */
GetConnectedDevice(iSingleConnectorOcc,CavityCnctpt,ElecConnectedDeviceOcc,ConnectedCavity)

if (  ElecConnectedDeviceOcc == NULL )
{  
 Message("  Connector : ",iSingleConnectorOcc.Name," is not plugged")
}
else Notify ( "  Connector : ",iSingleConnectorOcc.Name," is  plugged")

GetLogicalRoutable

In the context of a logical to physical synchronization, this function retrieves the logical routable (wire or cable) linked with a physical routable (conductor or conductor group).

Exposing the link between your logical and physical conductors allows you to check the consistency of your logical and physical content.

Important: The function retrieves the information only if your logical and physical content is opened in your session.

Signature

GetLogicalRoutable(PhysicalRoutable : Feature, LogicalRoutable : EleLogicalConductorOcc) : Boolean

Arguments

Name Input / Output Required? Type Comment
PhysicalRoutable In Yes Feature The type of the feature must be Conductor or ConductorGroup.
LogicalRoutable out Yes EleLogicalConductorOcc -

ReturnType

Boolean

The function returns TRUE when it is successfully executed, even if no linked logical routable is found.

The function returns FALSE if the logical content is not opened in session.

Example

let bool(BOOLEAN)
let logicalConductor(EleLogicalConductor)
let sMessage(STRING)
bool = Object.GetLogicalConductor( Object, logicalConductor) 
if(NULL <> logicalConductor)
{
  sMessage="Name of Logical Conductor: "+logicalConductor.Name
}
else
{
  sMessage="Logical Conductor not found!!"
}
Notify(sMessage)

GetPhysicalRoutable

In the context of a logical to physical synchronization, this function retrieves the physical routable (conductor or conductor group) linked with a logical routable (wire or cable).

Exposing the link between your logical and physical conductors allows you to check the consistency of your logical and physical content.

Important: The function retrieves the information only if your logical and physical content is opened in your session.

Signature

GetPhysicalRoutable(LogicalRoutable : EleLogicalConductorOcc, PhysicalRoutable : Feature) : Boolean

Arguments

Name Input / Output Required? Type Comment
LogicalRoutable In Yes EleLogicalConductorOcc -
PhysicalRoutable out Yes Feature The type of the feature must be Conductor or ConductorGroup.

ReturnType

Boolean

The function returns TRUE when it is successfully executed, even if no linked physical routable is found.

The function returns FALSE if the physical content is not opened in session.

Example

let bool(BOOLEAN)
let physicalConductor(Conductor)
let sMessage(STRING)
bool = Object.GetPhysicalConductor( Object, physicalConductor) 
if(NULL <> physicalConductor)
{
  sMessage="Name of Physical Conductor: "+physicalConductor.Name
}
else
{
  sMessage="Logical Conductor not found!!"
}
Notify(sMessage)

InitContext

Signature

InitContext(VPMReference : VPMReference) : Boolean

Arguments

Name Input/Output Required? Type Comment
VPMReference In Yes VPMReference -

ReturnType

Boolean

InstanciateProtectionCenteredOnPoint

The InstanciateProtectionCenteredOnPoint function is used to instantiate a protection on segments centered on a given point.

Signature

InstanciateProtectionCenteredOnPoint(Segment : Segment, ProtectionType : String, Length : LENGTH, Point : Point, Protection : InternalProtection) : Boolean

Arguments

Name Input / Output Required? Type Comment
Segment In Yes Segment The segment the protection is instantiated on.
ProtectionType In Yes String The type of the protection (Adaptive, Fixed, Tape, CorrugatedTube).
Length In Yes LENGTH The length of instantiated protections on both sides of the point.
Point In Yes Point The point the protection is centered on. This point can be either a protection extremity or a segment extremity.
Protection Out Yes InternalProtection The instantiated protection.
Note: The returned protection can be adapted by setting its part number, its internal diameter (for fixed protections), and its width.

ReturnType

Boolean

Example

/* Check  created by ie6 9/26/2013 */ 
Let Ref(VPMReference)
Let Inst(VPMInstance)
let Protection(internalProtection)
let Ext1(SegmentExtremity)
let Ext2(SegmentExtremity)

let Protectiontype(String)
let ResultExt(Boolean)
let ResultIP(Boolean)
let Protectionlength(Real)
let InputSegment(Segment)
let Name(String)
let CenterPoint(Point)
let SegOwner(Feature)
let sSegOwnerName(String)
let sMessage(String)
let BranchOwner(Feature)
let sBranchOwnerName(String)
Let ListObjects (LIST)
let sMidPointName(String)
let index (INTEGER)

set Protectionlength = 50mm
set Protectiontype = "InternalTape"
SegOwner= Obj.Owner
sSegOwnerName = SegOwner.Name
set sMessage = "Owner of this segment is " + sSegOwnerName
/*Message(sMessage)*/
ResultExt=Obj.Elec_BundleSegmentExtremities(Ext1,Ext2)
Name=Obj.Name

BranchOwner=SegOwner.Owner
sBranchOwnerName = BranchOwner.Name
set sMessage = "Owner of this Branch is " + sBranchOwnerName 
/*Message(sMessage)*/

set Inst=BranchOwner
set Ref = Inst.Reference
if (NULL <> Ref )
{
	set index = 1
	ListObjects=Ref->Query("Point","")
	for index while index <= ListObjects.Size()
	{

		set CenterPoint= ListObjects->GetItem(index)
		if(NULL <>CenterPoint)
		{
			set sMidPointName=CenterPoint.Name
			if(0 == sMidPointName.Search("MidPoint"))
			{

  			    ResultIP=InstanciateProtectionCenteredOnPoint(InputSegment,Protectiontype,Protectionlength,CenterPoint,Protection)
                                                    if(ResultIP<>True)
                                                           Message("Protection not instantiated")
                                                    else
                                                          Message("Protection instantiated")
                                                         
			}
		}
	}
}
else set sMessage = "Reference not found"
/*ResultIP=InstanciateProtectionCenteredOnPoint(InputSegment,Protectiontype,Protectionlength,CenterPoint,Protection)
if(ResultIP<>True)
	Message("Protection not instantiated")*/

InstantiateProtectionExtremityToExtremity

The InstantiateProtectionExtremityToExtremity function instantiates a protection on a segment between its extremities with input offsets from respective extremities.

Signature

InstantiateProtectionExtremityToExtremity(Segment : Segment, ProtectionType : String, LengthfrmExt1 :LENGTH, LengthfrmExt2 : LENGTH, Protection : InternalProtection) : Boolean

Arguments

Name Input / Output Required? Type Comment
Segment In Yes Segment The Segment on which the protection is instantiated.
ProtectionType In Yes String The type of the protection (Adaptive, Fixed, Tape, CorrugatedTube).
LengthfrmExt1 In Yes LENGTH The offset length of the instantiated protections from the start extremity of the segment.
LengthfrmExt2 In Yes LENGTH The offset length of the instantiated protections from the end extremity of the segment.
Protection Out Yes InternalProtection The instantiated protection.

ReturnType

Boolean

Example

let Protection(InternalProtection)
let ProtectionType(STRING)
let resultIP(BOOLEAN)
let Name(STRING)
let length1(LENGTH)
let length2(LENGTH)

set length1 = 5mm
set length2 = 5mm


Name = Obj.Name

if(Name == "TapeSegment")
{
	ProtectionType= "InternalTape"
		resultIP = InstantiateProtectionExtremityToExtremity(Obj,ProtectionType,length1, length2, Protection)
	if(resultIP<>True)
	Message("Protection for Internal Tape is not instantiated")
	else
	Message("Protection for Internal Tape is instantiated")
}

set length1 = 10mm
set length2 = 10mm


if(Name == "AdaptiveSegment")
{
	ProtectionType= "InternalAdaptive"
	resultIP=InstantiateProtectionExtremityToExtremity(Obj,ProtectionType,length1, length2,Protection)
	if(resultIP<>True)
	Message("Protection for Internal Tape is not instantiated")
	else
	Message("Protection for Adaptive Segment is  instantiated")
}

set length1 = 15mm
set length2 = 15mm

if(Name == "CorrugateSegment")
{
	ProtectionType= "InternalCorrugate"
	resultIP=InstantiateProtectionExtremityToExtremity(Obj,ProtectionType,length1, length2,Protection)
	if(resultIP<>True)
	Message("Protection for Corrugate Segment is not instantiated")
	else
	Message("Protection for Corrugate Segment is  instantiated")
}
set length1 = 20mm
set length2 = 20mm


if(Name == "FixedSegment")
{
	ProtectionType= "InternalFixed"
	resultIP=InstantiateProtectionExtremityToExtremity(Obj,ProtectionType,length1, length2,Protection)
	if(resultIP<>True)
	Message("Protection for Internal Tape is not instantiated")
	else
	Message("Protection for Fixed Segment is  instantiated")

	
}

InstanciateProtectionOnProtection

The InstanciateProtectionOnProtection function is exposed on an internal protection to instantiate the internal protection of a given type.

Signature

InstanciateProtectionOnProtection(ProtectionType : String, Protection : InternalProtection, Length : LENGTH, ListOfProtection : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
ProtectionType In Yes String Type of protection to be instantiated.
Protection In Yes InternalProtection The protection on which other protections are instantiated.
Length In Yes LENGTH Length of the protection to be instantiated
ListOfProtection Out Yes List List of protections which are instantiated on the given protection's segment

ReturnType

Boolean

Example

ProtectionObj : InternalProtection

let result(BOOLEAN)
let Type(STRING)
let Length(Length)
let ListOfProtections(LIST)

Type = "InternalTape"
Length = 20mm

if(ProtectionObj.Name == "Tape.1")
{
	result = InstanciateProtectionOnProtection (Type, ProtectionObj, Length, ListOfProtections)
	if(result <> true)
	{
		Message("Internal protection instanciation Failed on #",ProtectionObj.Name)
	}
}

InstanciateProtectionOnSegmentExtremity

The InstanciateProtectionOnSegmentExtremity user function is used to create an instance of a internal protection of a given type on a branchable of a given extremity of desired length.

Signature

InstanciateProtectionOnSegmentExtremity(SegmentExtremity : SegmentExtremity, ProtectionType : String, Length : LENGTH, Protection : InternalProtection) : Boolean

Arguments

Name Input / Output Required? Type Comment
SegmentExtremity In Yes SegmentExtremity Referring segment extremity to which, the protection is to be instantiated on its parent Segment.
ProtectionType In Yes String Type of protection to be instantiated.
Length In Yes Length Length of protection to be instantiated.
Protection Out Yes InternalProtection Return the instantiated protection.

ReturnType

Boolean

Example

Seg : Segment

let result(BOOLEAN)
let SegExt1(SegmentExtremity)
let SegExt2(SegmentExtremity)
let lengthOfProtection(Length)
let ProtectionType(String)
let oProtection(InternalProtection)

set lengthOfProtection = 10mm
set result = False
if(Seg.Name == "Segment.1")
{
	ProtectionType= "InternalAdaptive"
	
	result = Seg->Elec_BundleSegmentExtremities(SegExt1, SegExt2)
	set result = False
	
	if(SegExt1.Name == "SegmentEnd.1")
	result = InstanciateProtectionOnSegmentExtremity( SegExt1, ProtectionType, lengthOfProtection, oProtection)
	
	if(result <> True) 
	Message("Protection not instantiated on the SegmentExtremity, #", SegExt1.Name )
	
	set result = False
	
	if(SegExt2.Name == "SegmentEnd.2")
	result = InstanciateProtectionOnSegmentExtremity( SegExt2, ProtectionType, lengthOfProtection, oProtection)
	
	if(result <> True) 
	Message("Protection not instantiated on the SegmentExtremity, #", SegExt2.Name )
}

IsDeviceConnexionPossible

Signature

IsDeviceConnexionPossible(ElectricalDeviceOccurrence : ProductOccurrence, ElectricalDeviceOccurrence : ProductOccurrence, bIsConnextionPossible : Boolean) : Boolean

Arguments

Name Input/Output Required? Type Comment
ElectricalDeviceOccurrence In ProductOccurrence -
ElectricalDeviceOccurrence In ProductOccurrence -
bIsConnextionPossible Out Boolean -

ReturnType

Boolean

LinkedSpecification

The LinkedSpecification user function is used to get the specification of a conductor or a conductor group from its instance.

Signature

LinkedSpecification(Instance : VPMInstance, Conductor : Conductor) : Boolean
LinkedSpecification(Instance : VPMInstance, ConductorGroup : ConductorGroup) : Boolean

Arguments

Name Input / Output Required? Type Comment
Instance In Yes VPMInstance The input instance of the conductor or conductor group.
Conductor or ConductorGroup Out Yes Conductor or ConductorGroup Returns the representation of the input Conductor or ConductorGroup.

ReturnType

Boolean

Example

ElecSystem : VPMInstance

let sRelatedInstance(STRING)
let condSpec(Conductor)
let sCondSpec(String)
let condGrpSpec(ConductorGroup)
let sCondGrpSpec(String)
let bVal(Boolean)

set  sRelatedInstance = ElecSystem.Name

if ( sRelatedInstance == "Conductor01")
{
bVal = LinkedSpecification(ElecSystem, condSpec)
set  sCondSpec = condSpec.Name
if((true <> bVal) or ( sCondSpec <> "ConductorSpec01_01"))
Message("No Related Spec found for #", sRelatedInstance)	
}


if ( sRelatedInstance == "ConductorGroup01.1")
{
bVal = LinkedSpecification(ElecSystem, condGrpSpec)
set  sCondGrpSpec = condGrpSpec.Name
if((true <> bVal) or ( sCondGrpSpec <> "ConductorGroupSpec02_01.1"))
Message("No Related Spec found for #", sRelatedInstance)	
}

ListAllOuterLayerObjects

The ListAllOuterLayerObjects user function is exposed to list all the protections or supports covering a segment extremity or a given location of a branch.

Signature

ListAllOuterLayerObjects(SegmentExtremity : Feature, Offset : Real, ListOfAllCoveringProducts(Protections/Supports) : List [, TypeToList : Integer]) : Boolean
Note: Optional argument: TypeToList. The default argument of type integer will be added in the signature for which valid values are:
  • 1 = all types of protections
  • 2 = supports

If this argument is not passed or any other value is passed, all the outer layer objects will be returned.

Arguments

Name Input / Output Required? Type Comment
SegmentExtremity In Yes Feature None
Offsetratio In Yes Real Used to list the covering elements not present at a segment extremity but present at an offset from the segment extremity.
ListOfAllCoveringProducts(Protections/Supports) Out Yes List None
TypeToList In No Integer Optional

ReturnType

Boolean

Example

A check (in KWE advanced language) to determine the protective coverings and supports at 150 mm from end 1 (Extremity 1) of the segment is written as follows:

mysegment:Segment

let ListCovering(List) 
let ListCovered(List) 
let return(Boolean) 
let NbCovering(INTEGER) 
let NbCovered(INTEGER) 
let Offset(Real)
let CoveringObject(String) 
let CoveredObject(String)
let i(INTEGER) 
let Offset(Real) 
let Extremity1(BundleSegmentExtremity) 
let Extremity2(BundleSegmentExtremity)

Message("OBJECT = #",mysegment > Name())

mysegment.Elec_BundleSegmentExtremities(Extremity1,Extremity2)

Message("#### TEST ListAllOuterLayerObjects ####") 
Offset = 150
return =
ListAllOuterLayerObjects(Extremity1,Offset,ListCovering)
NbCovering = ListCovering_>Size() 
Message("Number of covering objects = "",NbCovering) 
i = 1 
for i while i<=NbCovering 
{ 
CoveringObject
= ListCovering > GetItem(i) 
Message("Covering Object: #",CoveringObject) 
}

ListCables

This function retrieves the list of cables currently in session and using an input device occurrence as an end or as an intermediate junction device.

Signature

ListCables(DeviceOccurrence: ProductOccurrence, ListCables: List, ListPorts: List): Integer

Arguments

Name Input/Output Required? Type Comment
DeviceOccurrence In ProductOccurrence Input device occurrence
ListCables Out List List of cables using the input device as an end or as an intermediate junction device.

The size corresponds to the size of the mapped ListPorts and index.

ListPorts Out List List of ports used by the cables.

The size corresponds to the size of the mapped ListCables and index.

The argument can contain NULL values if the cable is directly connected to the device without using any port.

ReturnType

Integer

The function returns 0 if an error is detected.

The function returns 1 if it succeeds.

ListConnectedDevices

This function retrieves all the device occurrences connected to the electrical port(s) of a device occurrence.

Signature

ListConnectedDevices(iDeviceOccurrence : ProductOccurrence, iListElectricalPort : List, oListConnectedOccurrence : List, oListConnectedPort : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
iDeviceOccurrence In Yes ProductOccurrence Input device occurrence
ListOfCnctPoints In Yes List List of electrical ports belonging to the current device reference.
oListConnectedOccurrence Out Yes List List of connected device occurrences.

Element of list may be a device occurrence or a NULL object if no device is connected to the corresponding input port.

oListConnectedPort Out Yes List List of the connected electrical ports of the connected device.

Element of list may be an electrical port or a NULL object if no device is connected to the port.

ReturnType

Boolean

The function returns FALSE if :

  • Input occurrence is not an electrical device occurrence.
  • Any input port is not an electrical port.
  • The search for connection fails.

Example

The following sample illustrates how to list the devices connected to the cavities of an equipment.

/* check number of free cavities on mounting equipment  */ 
/*  input  iMountingEqtOcc :  MountingEquipmentOccurrence */ 

let LElecPortType(List)

let iMountingEqtRef(MountingEquipment)
let LCavities(List)
let nb_cavity(Integer)
let ElecCavity(Elec3DCavity)

let ElecConnectedDeviceOcc(Elec3DSingleInsertConnectorOccurrence)
let ElecConnectedCavityCnctPt(Elec3DCavityConnectionPoint)
let nb_connected(Integer)
let index(Integer)

let LConnectedDevices(List)
let LConnectedCavityConnectionPoint(List)

set iMountingEqtRef=iMountingEqtOcc.Reference

/* retrieve cavities on mounting equipment reference  */
LElecPortType.Append("Elec3DCavity")
ListElectricalConnectionPoints(iMountingEqtRef,LElecPortType,LCavities)
nb_cavity=LCavities.Size()

/* retrieve connected cavities on mounting equipment occurrence */
nb_connected = 0
ListConnectedDevices(iMountingEqtOcc,LCavities,LConnectedDevices,LConnectedCavityConnectionPoint)

index=1
for index while index <= nb_cavity
{
	set ElecCavity = LCavities->GetItem(index)  
	set ElecConnectedDeviceOcc=LConnectedDevices->GetItem(index)
	set ElecConnectedCavityCnctPt=LConnectedCavityConnectionPoint->GetItem(index)
	if (  ElecConnectedDeviceOcc<>NULL AND  ElecConnectedCavityCnctPt <> NULL  )
	{
		nb_connected=nb_connected+1
		Notify( " cavity : ", ElecCavity.V_FunctionalName," connected to : ",ElecConnectedDeviceOcc.Name,"/",ElecConnectedCavityCnctPt.V_FunctionalName)
	}
	else
	{
		Notify( " cavity : ", ElecCavity.V_FunctionalName," not connected  ")
	}
}

if (  nb_cavity-nb_connected  > 0 )
{  
	Message("  Equipment : ",iMountingEqtOcc.Name," has ", nb_cavity-nb_connected," free cavities")
}

ListConnectedNodes

This function retrieves all the nodes (and their associated arcs) connected to a device occurrence.

A device node is computed on an electrical port only if the device electrical port is connected to the branch extremities.

Signature

ListConnectedNodes(iDeviceOccurrence : ProductOccurrence,  oListConnectedNodes : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
iDeviceOccurrence In Yes ProductOccurrence Input device occurrence
oListConnectedNodes Out Yes List The nodes corresponding to the segment extremities connected to the device electrical ports.

ReturnType

Boolean

The function returns FALSE if :

  • The input occurrence is not an electrical device occurrence.
  • The search for connected segment extremities fails.

Sample

The following sample illustrates how to retrieve the segments connected to cavities or segment connection points.

For each node, the Elec3DDeviceNode.GetComponents method is used to retrieve:

  • The device occurrence
  • The connection point
  • The segment extremities. For each extremity, the segment and branch are retrieved.

/* Retrieve the segments connected to a selected device  */


let  NodeList(List)
let  myNode(Elec3DDeviceNode) // init device node 

let NodeOccurrence(ProductOccurrence)
let NodeCnctPt(VPMPort)
let  NodeFeatures(List)
let  nb_elem(Integer)
let i_elem(Integer)

let  nb_node(Integer)
let  index(Integer)
let  Bns_ext(SegmentExtremity)
let  Bns(Segment)
let  Bns_branch(Branch) 

//  
// retrieve connected nodes ( segment connection points or cavities connected to segment extremity ) 
ListConnectedNodes(myDeviceOccurrence,NodeList)   
nb_node=NodeList.Size()

index=1
for index while index <= nb_node
{
	set myNode= NodeList->GetItem(index)  // node 
	
	if ( myNode <> NULL )
	{
		// retrieve the node components : device occurrence - connection point - segment extremities connected 
		myNode->GetComponents(NodeOccurrence,NodeCnctPt,NodeFeatures)
		nb_elem = NodeFeatures.Size()
		i_elem=1
		for i_elem while i_elem <= nb_elem 
		{
			set Bns_ext= NodeFeatures->GetItem(i_elem)  //  segment extremity expected
			if (  Bns_ext <> NULL )
			{
				set Bns=Bns_ext.Owner
				set Bns_branch=Bns.Owner
				Notify (  "Connection point : ",NodeCnctPt.V_FunctionalName, " connected to ",  Bns_branch.Name,"/",   Bns.Name  )
			}			
			i_elem=i_elem+1
		}
	}
	index = index+1
}	
 

Message ( " number of connection point connected to branch :",nb_node )

ListDirectlyCoveredObjects

The ListDirectlyCoveredObjects user function can be used in Quality Rules Reuse.

Signature

ListDirectlyCoveredObjects((Protection/Support) : Feature, ListOfCoveredProducts(Segments/Protections/Supports) : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
(Protection/Support) In Yes Feature None
ListOfCoveredProducts(Segments/Protections/Supports) Out Yes List None

ReturnType

Boolean

Example

  • Tape A is placed directly over the segment.
  • Corrugated tubes B and C are linked to the segment, and corrugated tube B covers tube C.
  • Standard support D is linked to the segment.

A check (in KWE advanced language) to determine the list of segments, protective coverings and supports under corrugated tube C is written as follows:

myprotection:Protectionlet ListCovered(List) 

let return(Boolean)
let NbCovered(INTEGER) 
let Offset(Real)
let CoveredObject(String)
let i(INTEGER)

return = ListDirectlyCoveredObjects(mysegment, ListCovered) 
NbCovered = ListCovered > Size() 
Message("Component analyzed: #",myprotection > Name()) 
Message("Number of objects
covered = #",NbCovered) 
i = 1
for i while i<=NbCovered{
CoveredObject = ListCovered > GetItem(i) 
Message("Covered Object: #",CoveriedObject)

Running this check returns:

  • The name of the analyzed component, in our case, corrugated tube C.
  • The number of objects covered by corrugated tube C: Information: Number of objects covered = 1
  • Followed by the name of this component: the segment.

ListDirectlyOuterLayerObjects

The ListDirectlyOuterLayerObjects user function can be used in Quality Rules Reuse.

Signature

ListDirectlyOuterLayerObjects((Segment/Protection/Support) : Feature, ListOfCoveringProducts(Protections/Supports) : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
(Segment/Protection/Support) In Yes Feature None
ListOfCoveringProducts(Protections/Supports) Out Yes List None

ReturnType

Boolean

Example

  • Tape A is placed directly over the segment.
  • Corrugated tubes B and C are linked to the segment, and corrugated tube B covers tube C.
  • Standard support D is linked to the segment.

A check (in KWE advanced language) to determine the list of outer layers that directly cover the segment in the example is written as follows:

mysegment:Segment

let ListOuterLayer(List) 
let return(Boolean) 
let NbOuterLayer(INTEGER) 
let Offset(Real) 
let OuterLayerObject(String)
let i(INTEGER)

return = ListDirectlyOuterLayerObjects(mysegment, ListOuterLayer) 
NbOuterLayer = ListOuterLayer > Size()
Message("Component analyzed: #",mysegment > Name())
Message("Number of outer layers = #",NbOuterLayer) 
i = 1 for i
while i<=NbOuterLayer{
OuterLayerObject = ListOuterLayer > GetItem(i) 
Message("Outer Layer: #",OuterLayerObject) }

Running this check returns:

  • The name of the analyzed component, in our case, the segment.
  • The number of outer layers over the segment: Information: Number of outer layers = 3. Only three are found because corrugated tube B does not directly cover the segment since it covers corrugated tube C.
  • Followed by the names of these components: Information Outer Layer: Tube_20x3-2004_10_27-10_01_49_842.1

ListElectricalConnectedObjects

The ListElectricalConnectedObjects function is exposed on device instances and is used to get the list of objects connected with the device instance.

Signature

ListElectricalConnectedObjects(DeviceInstance : VPMInstance, ConnectionPointName : String, ListConnectedDevice : List, ListConnectedConnectionPoint : List, ListConnectionActivity : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
DeviceInstance In Yes VPMInstance None
ConnectionPointName In Yes String None
ListConnectedDevice Out Yes List A list of devices connected with MCX.
ListConnectedConnectionPoint Out Yes List A list of connection points used to connect the devices.
ListConnectionActivity Out Yes List A list of the activity of the MCX used to connect devices.

If the related MCX is activated, then the value is 1.

If the related MCX is deactivated, then value is 0.

ReturnType

Boolean

Example

For a common example about ListElectricalConnectionPointsNames and ListElectricalConnectedObjects, see ListElectricalConnectionPointsNames below.

ListElectricalConnectionPoints

The ListElectricalConnectionPoints function is exposed on device references and allows to retrieve electrical connection points of a specific type.

Signature

ListElectricalConnectionPoints(Reference : VPMReference, TypesToList : List, ListOfCnctPoints : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
Reference Input Yes VPMReference

Reference for which connection points are listed.

Supported reference types: equipment, electrical device, electrical branch geometry, piping part (with electrical behavior).

TypesToList Input Yes List List of connection point types to find in input reference.

This list should contain names of knowledge types of desired connection points. For example, Elec3DCavity.

ListOfCnctPoints Output Yes List List of connection points of input type.

Can be NULL if the connection point of desired type is not found.

ReturnType

Boolean

The function returns TRUE if the input reference is valid and if the types' names in TypesToList are correct, even if the connection point of desired type is not found.

The function returns FALSE if:

  • Input reference is not supported.
  • A connection point type's name in TypesToList is invalid.
  • Search for connection points fails.

Valid Names for Connection Points Types

TypeToList Valid Names
Elec3DCavity, Elec3DCavityV5, Elec3DConnectorConnectionPoint, Elec3DConnectorConnectionPointV5, Elec3DBackShellConnectionPoint, Elec3DBackShellConnectionPointV5, Elec3DShellConnectionPoint, Elec3DShellConnectionPointV5, Elec3DSegmentConnectionPoint, Elec3DSegmentConnectionPointV5, Elec3DCavityConnectionPoint, Elec3DCavityConnectionPointV5 Electrical device (shell, backshell, mounting equipment, contact, filler plug, single insert connector, multi insert connector, stud, splice, terminal strip and terminal block), equipment, piping part (with electrical behavior).
Elec3DSegmentPositionPoint, Elec3DSegmentPositionPointV5 Splice reference
Elec3DSplicePositionPoint, Elec3DSplicePositionPointV5 Electrical branch geometry

Example

let typesToList(List)
let listOfCnctPt1(List)
let cnCtPt (ElecPort)
let index(Integer)
let size(Integer)
let sName (String)
let sMessage (String)
let bool (Boolean)

/* Start:----- EQT ----------*/
/* Creation of input type name list */
/* Case 1 */
typesToList.Append("Elec3DCavity")

/* Case 2: Comment above lines and uncomment */
/* typesToList.Append("Elec3DCavityV5") */

/* Case 3: Comment above lines and uncomment */
/*typesToList.Append("Elec3DCavityConnectionPoint")*/

/* Case 4: Comment above lines and uncomment */
/*typesToList.Append("Elec3DCavityConnectionPointV5")*/

/* Case 5: Comment above lines and uncomment */
/*typesToList.Append("Elec3DCavity") 
typesToList.Append("Elec3DCavityV5") 
typesToList.Append("Elec3DCavityConnectionPoint")*/

/* Case 6: Comment above lines and uncomment */
/*typesToList.Append("PipingPort")*/
/* End: ----- EQT ----------*/

/* Start:----- Splice ----------*/
/* Creation of input type name list */
/* Case 7 Comment above lines and uncomment */
/*typesToList.Append("Elec3DSegmentConnectionPoint")*/

/* Case 8: Comment above lines and uncomment */
/* typesToList.Append("Elec3DSegmentPositionPoint") */

/* Case 9: Comment above lines and uncomment */
/*typesToList.Append("Elec3DSegmentConnectionPoint")
typesToList.Append("Elec3DSegmentPositionPoint") */

/* Case 10: Comment above lines and uncomment */
/*typesToList.Append("Elec3DSplicePositionPoint")*/
/* End: ----- Splice ----------*/

/* Start:----- PipingPort ----------*/
/* Creation of input type name list */
/* Case 11 Comment above lines and uncomment */
/*typesToList.Append("Elec3DCavity")*/

/* Case 12: Comment above lines and uncomment */
/* typesToList.Append("Elec3DCavityConnectionPoint") */

/* Case 13: Comment above lines and uncomment */
/*typesToList.Append("Elec3DSegmentConnectionPoint")*/
/* End: ----- PipingPort ----------*/

/* Start:----- EBG ----------*/
/* Creation of input type name list */
/* Case 14 Comment above lines and uncomment */
/*typesToList.Append("Elec3DCavityV5")*/

/* Case 15: Comment above lines and uncomment */
/* typesToList.Append("Elec3DSplicePositionPoint") */
/* End: ----- EBG ----------*/

Notify("---------------------------------------------------")
Notify("Reference Treated : #", ref.Name)
bool = ListElectricalConnectionPoints (ref, typesToList, listOfCnctPt1)
if(bool == TRUE)
{
	set index = 1
	size = listOfCnctPt1.Size()
	Notify("Result = True, Elements in list - #", size)

	sMessage = " ("
	for index while index <= size
	{
		sName = "NULL"
		set cnCtPt = listOfCnctPt1->GetItem(index)
		if(cnCtPt <> NULL)
		{
			set sName = cnCtPt.V_FunctionalName
		}
		sMessage = sMessage + sName + ","
		
	}
	sMessage = sMessage + ")"
	Notify(sMessage)
}	
else
{
		Notify("Result = ListElectricalConnectionPoint fails: May be Input list of type is incorrect")
}

ListElectricalConnectionPointsNames

The ListElectricalConnectionPointsNames function is exposed on device instances and is used to get the list of connection point names and the list of connection types in the device instance.

Signature

ListElectricalConnectionPointsNames(DeviceInstance : VPMInstance, ListOfNames : List, ListOfTypeNames : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
DeviceInstance In Yes VPMInstance None
ListOfNames Out Yes List None
ListOfTypeNames Out Yes List None

ReturnType

Boolean

Example

Here is a common example for ListElectricalConnectionPointsNames and ListElectricalConnectedObjects:

Dev1: PLMProductInstanceDS 

let ListCxn(LIST) 
let ListCxnType(LIST)
let ListConnectedDev(LIST) 
let ListConnectedCxnPtNames(LIST) 
let ListCxnActivity(LIST) 
let Size (Integer) 
let i(Integer) 
let iCxn(Integer) 
let sizeCxn(Integer) 
let Boolean(Boolean) 
let NewLine(STRING) 
let CxnName(STRING) 
let CxnType(STRING)
let sMessage(STRING) 
let ConnectedDev(FEATURE) 
let ConnectedCxn(STRING) 

NewLine = "" 
sMessage = "" Boolean = ListElectricalConnectionPointsNames (Dev1, ListCxn, ListCxnType)
if(Boolean == true) 
{ 
      sMessage = sMessage + " 
      " + Dev1.V_Name (Title) + NewLine 
      Size = ListCxn->Size()
      if(Size == ListCxnType->Size()) 
      {
         sMessage = sMessage + "Number of connection Points = 
         " + ToString(Size) + NewLine 
         i = 1 
         for i while i<= Size 
         { 
            CxnName = ListCxn->GetItem(i) 
            CxnType = ListCxnType->GetItem(i) 
            Boolean = ListElectricalConnectedObjects (Dev1,CxnName, ListConnectedDev, ListConnectedCxnPtNames, ListCxnActivity) 
            
           if(true == Boolean) 
           {
              sizeCxn = ListConnectedDev->Size() 
              if( (sizeCxn == ListConnectedCxnPtNames->Size()) AND (sizeCxn == ListCxnActivity->Size()) ) 
              {
              sMessage = sMessage + ToString(i) + ": " + CxnName + " (" + CxnType + ") 
              Connected to - " + ConnectedDev.Name + " -> " + ConnectedCxn + NewLine 
              iCxn = 1
              for iCxn while iCxn <= sizeCxn 
              { 
                 set ConnectedDev = ListConnectedDev->GetItem(iCxn) 
                 if(NULL <> ConnectedDev) 
                 {
                    set ConnectedCxn = ListConnectedCxnPtNames->GetItem(iCxn)
                    bCxnActivity = ListCxnActivity->GetItem(iCxn)
                    if(true == bCxnActivity) 
                       sCxnActivity = "true"
                    else
                       sCxnActivity = "false" 
                    sMessage = sMessage + NewLine + ToString(iCxn) + 
                    ConnectedDev.Name + " -> " + ConnectedCxn + "Activity" + sCxnActivity + NewLine 
                 }
              }
              sMessage = sMessage + NewLine 
           } 
        } 
        else 
           sMessage = sMessage + ToString(i) + ": " + CxnName + " (" + CxnType + ") 
        Not Connected" + NewLine 
     }
   } 
   Message("#",sMessage) 
}

ListElectricalWires

The ListElectricalWires function is exposed on device instances and is used to get the list of conductors connected to the device and the list of connection point names with which the conductor is connected to the device instance.

Signature

ListElectricalWires(DeviceInstance : VPMInstance, ListOfWires : List, ListOfConnectionPointName : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
DeviceInstance In Yes VPMInstance None
ListOfWires Out Yes List None
ListOfConnectionPointName Out Yes List None

ReturnType

Boolean

Example

SIC: PLMProductInstanceDS 

Let bln(Boolean) 
Let ListOfWires(List)
Let ListCnctPtName(List) 

bln = ListElectricalWires (SIC,ListOfWires,ListCnctPtName) 
if(1==ListOfWires.Size())
{
   Message("One wire connected to the input device") 
}

ListOuterLayerProtections

The ListOuterLayerProtections user function is exposed on a point and lists all the protections overlapping the point.

Signature

ListOuterLayerProtections(Point : Point, ListOfProtections : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
Point In Yes Point The point on which covering protections are retrieved.
ListOfProtections Out Yes List Returns the list of protections covering the input point.

ReturnType

Boolean

Example

Point : Point

let ListOfProtections(LIST)
let NbProt(INTEGER)
let Protection1(String)
let Protection2(String)
let result(Boolean)
let Prot1(InternalProtection)
let Prot2(InternalProtection)

if(Point.Name == "Point.5")
{
	result = ListOuterLayerProtections (Point, ListOfProtections)
	if(result <> true)
	{
		Message("Outer Layer Protections Not found on #",Point.Name)
	}
	NbProt = ListOfProtections->Size()
	if(NbProt <> 2)
	{
		Message("Incorrect number of Outer Layer Protections # found on #",NbProt,Point.Name)
	}
	Prot1 = ListOfProtections->GetItem(1)
	Protection1 = Prot1.Name
	Prot2 =  ListOfProtections->GetItem(2)
	Protection2 = Prot2.Name
	if(("Tape.1"<>Protection1 ) OR ( "Adaptive diameter.1" <>Protection2 ))
	{
		Message("Incorrect Outer Layer Protection # # found on #",Protection1,Protection2,Point.Name)	
	}
}

ListProtectionsFromExtremity

The ListProtectionsFromExtremity user function is exposed on a segment extremity and lists all the protection overlapping the segment extremity.

Signature

ListProtectionsFromExtremity(SegmentExtremity : SegmentExtremity, ListOfProtection : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
SegmentExtremity In Yes SegmentExtremity The segment extremity on which covering protections are retrieved.
ListOfProtection Out Yes List Returns the list of protections covering the input segment extremity.

ReturnType

Boolean

Example

Seg : Segment

let result(BOOLEAN)
let ListOfProtection(List)
let NbProt(INTEGER)
let SegExt1(SegmentExtremity)
let SegExt2(SegmentExtremity)
let Protection(STRING)
let Prot(InternalProtection)

if(Seg.Name == "Segment.2")
{
	result = Seg->Elec_BundleSegmentExtremities(SegExt1, SegExt2)
	if(SegExt1.Name == "SegmentExtremity.1")
	{
		result = ListProtectionsFromExtremity (SegExt1, ListOfProtection)
		if(result <> true)
		{
			Message("Protections not found on #",SegExt1.Name)
		}
		NbProt = ListOfProtection->Size()
		if(NbProt <> 1)
		{
			Message("Incorrect number of Protections # found on #",NbProt,SegExt1.Name)
		}
		Prot = ListOfProtection->GetItem(1)
		Protection = Prot.Name
		if("Corrugated tube.1"<>Protection)
		{
			Message("Incorrect Protection # found on #",Protection,SegExt1.Name)
		}		
	}
}

ListRoutes

This function retrieves the list of cable routes currently in session and using the input device occurrence as an end device.

Signature

ListRoutes(DeviceOccurrence: ProductOccurrence, ListRoutes: List, ListPorts: List): Integer

Arguments

Name Input/Output Required? Type Comment
DeviceOccurrence In ProductOccurrence Input device occurrence
ListRoutes Out List List of cable routes using the input device as an end device.

The size corresponds to the size of the mapped ListPorts and index.

ListPorts Out List List of ports used by the cable routes.

The size corresponds to the size of the mapped ListRoutes and index.

The argument can contain NULL values if the cable route is directly connected to the device without using a port.

ReturnType

Integer

The function returns 0 if an error is detected.

The function returns 1 if it succeeds.

ListUsedSupports

The ListUsedSupports user function can be used in Quality Rules Reuse.

Signature

ListUsedSupports(Segment : Segment, Supports : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
Segment In Yes Segment None
Supports Out Yes List None

ReturnType

Boolean

Example

A rule (in KWE advanced language) to determine the number and names of the supports through which each segment is routed is written as follows:

bns : Segment

let SupportList(List) 
let return(Boolean) 
let i(INTEGER) 
let UsedSupport(String)
let NbUsedSupports(INTEGER)

return = ListUsedSupports(bns, SupportList)
Message("Segment: #",bns > Name()) 
NbUsedSupports = SupportList > Size() 
Message("No. Used Supports = #",NbUsedSupports) 
i = 1
for i while i<=NbUsedSupports{ 
UsedSupport = SupportList > GetItem(i)
Message("Used Support: #",UsedSupport )
}

Solving this rule returns:

  • The name of the analyzed segment.
  • The number of supports through which the segment is routed Information No. Used Supports = 7 . Only three are found because corrugated tube B does not directly cover the segment since it covers corrugated tube C.
  • Followed by the names of these supports Information Used Support : Plastic-A.14

ListUsedSupportsWithAbscissa

The ListUsedSupportsWithAbscissa user function can be used in Quality Rules Reuse.

Signature

ListUsedSupportsWithAbscissa(Segment/Branch : Feature, Supports : List, EntryPointAbscissa : List, ExitPointAbscissa : List) : Boolean

Arguments

Name Input / Output Required? Type Comment
Segment/Branch In Yes Feature None
Supports Out Yes List None
EntryPointAbscissa Out Yes List None
ExitPointAbscissa Out Yes List None

ReturnType

Boolean

Example

An expert rule (created using Quality Rules Reuse) to determine the list of all the supports located along all segments in the document that also outputs support entry and exit point coordinates is written as follows:

bs:Branchlet SptList(List)

let inList(List) 
let outList(List) 
let ret(Boolean) 
let i(INTEGER) 
ret = ListUsedSupportsWithAbscissa (bs,SptList, outList, inList)

Message("BS=",bs > Name())
i=1
for i while i<=(SptList > Size()){ 
Message("Abs In #, Abs Out #",outList > GetItem(i), inList > GetItem(i)) 
}

ResetElectricalNetworkGraph()

This function allows to reset in the cache all the information related to your network.

Signature

ResetElectricalNetworkGraph():  Boolean

Arguments

There are no arguments for this function.

ReturnType

Boolean

The method returns FALSE if the function fails.

Elec3DCable.AddJunctionDeviceAfterPosition()

Signature

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

Arguments

Name Input/Output Required? Type Comment
Position In Integer -
JunctionDeviceOcc In ProductOccurrence -
JunctionPort In Elec3DJunctionPoint -

ReturnType

Integer

Elec3DCable.ClearAllJunctionAssociation()

Signature

Elec3DCable.ClearAllJunctionAssociation() : Integer

ReturnType

Integer

Elec3DCable.GetCableReference()

Signature

Elec3DCable.GetCableReference(CableReference : Elec3DCableReference) : Integer

Arguments

Name Input/Output Required? Type Comment
CableReference Out Elec3DCableReference -

ReturnType

Integer

Elec3DCable.GetCuttingLength()

Retrieves the value of cutting length attribute.

Signature

Elec3DCable.GetCuttingLength(oCuttingLength : LENGTH) : Integer

Arguments

Name Input/Output Required? Type Comment
oCuttingLength Out LENGTH Retrieves the value of cutting length attribute.

ReturnType

Integer

Elec3DCable.GetCuttingLengthItinerarySnap()

Retrieves the value of cutting length itinerary snap attribute

Signature

Elec3DCable.GetCuttingLengthItinerarySnap(oCuttingLengthItinerary : List) : Integer

Arguments

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

ReturnType

Integer

Elec3DCable.GetCuttingLengthMode()

Retrieves the value of cutting length mode attribute.

Signature

Elec3DCable.GetCuttingLengthMode(oCuttingLengthMode : CuttingLengthMode) : Integer

Arguments

Name Input/Output Required? Type Comment
oCuttingLengthMode Out CuttingLengthMode Retrieves the value of cutting length mode attribute.

ReturnType

Integer

Elec3DCable.GetCuttingLengthTolerance()

Retrieves the value of cutting length tolerance attribute.

Signature

Elec3DCable.GetCuttingLengthTolerance(oCuttingLengthTolerance : Real) : Integer

Arguments

Name Input/Output Required? Type Comment
oCuttingLengthTolerance Out Real Retrieves the value of cutting length tolerance attribute.

ReturnType

Integer

Elec3DCable.GetExtraLengthFrom()

Retrieves the value of extra length from attribute.

Signature

Elec3DCable.GetExtraLengthFrom(oExtraLength : LENGTH) : Integer

Arguments

Name Input/Output Required? Type Comment
oExtraLength Out LENGTH Retrieves the value of extra length from attribute.

ReturnType

Integer

Elec3DCable.GetExtraLengthTo()

Retrieves the value of extra length to attribute.

Signature

Elec3DCable.GetExtraLengthTo(oExtraLength : LENGTH) : Integer

Arguments

Name Input/Output Required? Type Comment
oExtraLength Out LENGTH Retrieves the value of extra length to attribute.

ReturnType

Integer

Elec3DCable.GetFrom()

Signature

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

Arguments

Name Input/Output Required? Type Comment
FromDevice Out ProductOccurrence -
FromCavity Out Elec3DCavity -

ReturnType

Integer

Elec3DCable.GetTo()

Signature

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

Arguments

Name Input/Output Required? Type Comment
ToDevice Out ProductOccurrence -
ToCavity Out Elec3DCavity -

ReturnType

Integer

Elec3DCable.IsSynchronizeAvailable()

Signature

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

Arguments

Name Input/Output Required? Type Comment
InputElecRoute In ElecRoute -
oIsSynchronizeAvailable Out Boolean -

ReturnType

Integer

Elec3DCable.ListOrderedJunctionDevices()

Signature

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

Arguments

Name Input/Output Required? Type Comment
ListJunctionDevices Out List -
ListJunctionPorts Out List -

ReturnType

Integer

Elec3DCable.ListOrderedRoutes()

Signature

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

Arguments

Name Input/Output Required? Type Comment
ListOrderedElecRoutes Out List -
ListOrderedLinkStatus Out List -

ReturnType

Integer

Elec3DCable.RefreshCuttingLength()

Signature

Elec3DCable.RefreshCuttingLength() : Integer

ReturnType

Integer

Elec3DCable.RemoveJunctionDeviceAtPosition()

Signature

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

Arguments

Name Input/Output Required? Type Comment
Position In Integer -
KeepFirstRoute In Boolean -

ReturnType

Integer

Example

			

Elec3DCable.ReplaceJunctionDeviceAtPosition()

Signature

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

Arguments

Name Input/Output Required? Type Comment
Position In Integer -
JunctionDeviceOcc In ProductOccurrence -
JunctionPort In Elec3DJunctionPoint -

ReturnType

Integer

Elec3DCable.ResetDeletedRoutes()

Signature

Elec3DCable.ResetDeletedRoutes() : Integer

ReturnType

Integer

Elec3DCable.SetCuttingLength()

Sets the value of cable attribute Cutting Length. This function succeeds only if the cutting length mode of the cable is manual.

Signature

Elec3DCable.SetCuttingLength(iCuttingLength : LENGTH) : Integer

Arguments

Name Input/Output Required? Type Comment
iCuttingLength In LENGTH Sets the value of cable attribute Cutting Length.

ReturnType

Integer

Elec3DCable.SetCuttingLengthMode()

Sets the value of cable cutting length mode attribute.

Signature

Elec3DCable.SetCuttingLengthMode(iCuttingLengthMode : CuttingLengthMode) : Integer

Arguments

Name Input/Output Required? Type Comment
iCuttingLengthMode In CuttingLengthMode Sets the value of cable cutting length mode attribute.

ReturnType

Integer

Elec3DCable.SetCuttingLengthTolerance()

Sets the value of cable attribute cutting length tolerance.

Signature

Elec3DCable.SetCuttingLengthTolerance(iCuttingLengthTolerance : Real) : Integer

Arguments

Name Input/Output Required? Type Comment
iCuttingLengthTolerance In Real Sets the value of cable attribute cutting length tolerance.

ReturnType

Integer

Elec3DCable.SetEstimatedLength()

Signature

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

Arguments

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

ReturnType

Integer

Elec3DCable.SetExtraLengthFrom()

Sets the value of the Extra Length From attribute.

Signature

Elec3DCable.SetExtraLengthFrom(iExtraLength : LENGTH) : Integer

Arguments

Name Input/Output Required? Type Comment
iExtraLength In LENGTH Sets the value of the Extra Length From attribute.

ReturnType

Integer

Elec3DCable.SetExtraLengthTo()

Sets the value of the Extra Length To attribute.

Signature

Elec3DCable.SetExtraLengthTo(iExtraLength : LENGTH) : Integer

Arguments

Name Input/Output Required? Type Comment
iExtraLength In LENGTH Sets the value of the Extra Length To attribute.

ReturnType

Integer

Elec3DCable.Synchronize()

Signature

Elec3DCable.Synchronize(InputElecRoute : ElecRoute) : Integer

Arguments

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

ReturnType

Integer

Elec3DCable.UnSynchronize()

Signature

Elec3DCable.UnSynchronize(InputElecRoute : ElecRoute) : Integer

Arguments

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

ReturnType

Integer

Elec3DConductor.ListInstances()

Signature

Elec3DConductor.ListInstances(ListOfInstances : List) : Boolean

Arguments

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

ReturnType

Boolean

Elec3DConductorGroup.ListInstances()

Signature

Elec3DConductorGroup.ListInstances(ListOfInstances : List) : Boolean

Arguments

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

ReturnType

Boolean

Electrical3DSystem.CreateConductor()

Signature

Electrical3DSystem.CreateConductor(ElectricalDeviceOccurrenceFrom : ProductOccurrence, ElectricalDeviceCavityFrom : ElecPort, ElectricalDeviceOccurrenceTo : ProductOccurrence, ElectricalDeviceCavityTo : ElecPort, Conductor : Conductor) : Boolean

Arguments

Name Input/Output Required? Type Comment
ElectricalDeviceOccurrenceFrom In ProductOccurrence -
ElectricalDeviceCavityFrom In ElecPort -
ElectricalDeviceOccurrenceTo In ProductOccurrence -
ElectricalDeviceCavityTo In ElecPort -
Conductor Out Conductor -

ReturnType

Boolean

Electrical3DSystem.CreateConductorGroup()

Signature

Electrical3DSystem.CreateConductorGroup(Conductor Group : ConductorGroup) : Boolean

Arguments

Name Input/Output Required? Type Comment
Conductor Group Out ConductorGroup -

ReturnType

Boolean

ElectricalBranchGeometry.ListProtectionsWithTotalLength()

Signature

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

Arguments

Name Input/Output Required? Type Comment
ListOfProtection Out List -
ListOfTotalLength Out List -

ReturnType

Boolean

PLMEleRefMultiBranchable.ListProtectionsWithTotalLength()

Signature

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

Arguments

Name Input/Output Required? Type Comment
ListOfProtection Out List -
ListOfTotalLength Out List -

ReturnType

Boolean

PLMEleRefWire.ListInstances()

Signature

PLMEleRefWire.ListInstances(ListOfInstances : List) : Boolean

Arguments

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

ReturnType

Boolean

PLMEleRefWireGroup.ListInstances()

Signature

PLMEleRefWireGroup.ListInstances(ListOfInstances : List) : Boolean

Arguments

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

ReturnType

Boolean