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.
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.
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.
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.
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.
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.
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.
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)
|
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 |
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 |
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 |
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.
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.
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 |
-
|
InstanciateProtectionCenteredOnPoint
The InstanciateProtectionCenteredOnPoint function is used to instantiate a
protection on segments centered on a given point.
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.
|
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.
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. |
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.
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 |
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. |
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 )
}
IsConsistent
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 |
-
|
LinkedSpecification
The LinkedSpecification user function is used to get the specification of a
conductor or a conductor group from its instance.
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. |
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 |
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 |
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 |
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.
|
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 |
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 |
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. |
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.
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. |
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.
Arguments
Name |
Input / Output |
Required? |
Type |
Comment |
Segment
|
In |
Yes |
Segment |
None |
Supports
|
Out |
Yes |
List
|
None |
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 |
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 |
-
|
Elec3DCable.ClearAllJunctionAssociation()
Signature
Elec3DCable.ClearAllJunctionAssociation() : Integer
Elec3DCable.DispatchRouteToEPS()
Elec3DCable.GetCableReference()
Signature
Elec3DCable.GetCableReference(CableReference : Elec3DCableReference) : Integer
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
CableReference |
Out |
|
Elec3DCableReference |
-
|
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. |
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 |
-
|
Elec3DCable.GetCuttingLengthMode()
Retrieves
the value of cutting length mode attribute.
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
oCuttingLengthMode |
Out |
|
CuttingLengthMode |
Retrieves
the value of cutting length mode attribute. |
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. |
Elec3DCable.GetFrom()
Signature
Elec3DCable.GetFrom(FromDevice : ProductOccurrence, FromCavity : Elec3DCavity) : Integer
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
FromDevice |
Out |
|
ProductOccurrence |
-
|
FromCavity |
Out |
|
Elec3DCavity |
-
|
Elec3DCable.GetTo()
Signature
Elec3DCable.GetTo(ToDevice : ProductOccurrence, ToCavity : Elec3DCavity) : Integer
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
ToDevice |
Out |
|
ProductOccurrence |
-
|
ToCavity |
Out |
|
Elec3DCavity |
-
|
Elec3DCable.IsSynchronizeAvailable()
Signature
Elec3DCable.IsSynchronizeAvailable(InputElecRoute : ElecRoute, oIsSynchronizeAvailable : Boolean) : Integer
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
InputElecRoute |
In |
|
ElecRoute |
-
|
oIsSynchronizeAvailable |
Out |
|
Boolean |
-
|
Elec3DCable.ListOrderedJunctionDevices()
Signature
Elec3DCable.ListOrderedJunctionDevices(ListJunctionDevices : List, ListJunctionPorts : List) : Integer
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
ListJunctionDevices |
Out |
|
List |
-
|
ListJunctionPorts |
Out |
|
List |
-
|
Elec3DCable.ListOrderedRoutes()
Signature
Elec3DCable.ListOrderedRoutes(ListOrderedElecRoutes : List, ListOrderedLinkStatus : List) : Integer
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
ListOrderedElecRoutes |
Out |
|
List |
-
|
ListOrderedLinkStatus |
Out |
|
List |
-
|
Elec3DCable.RefreshCuttingLength()
Signature
Elec3DCable.RefreshCuttingLength() : Integer
Elec3DCable.RemoveJunctionDeviceAtPosition()
Signature
Elec3DCable.RemoveJunctionDeviceAtPosition(Position : Integer, KeepFirstRoute : Boolean) : Integer
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
Position |
In |
|
Integer |
-
|
KeepFirstRoute |
In |
|
Boolean |
-
|
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 |
-
|
Elec3DCable.ResetDeletedRoutes()
Signature
Elec3DCable.ResetDeletedRoutes() : 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. |
Elec3DCable.SetCuttingLengthMode()
Sets
the value of cable cutting length mode
attribute.
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
iCuttingLengthMode |
In |
|
CuttingLengthMode |
Sets
the value of cable cutting length mode attribute. |
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. |
Elec3DCable.SetEstimatedLength()
Signature
Elec3DCable.SetEstimatedLength(InputElecRoute : ElecRoute, dEstimatedLength : LENGTH) : Integer
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
InputElecRoute |
In |
|
ElecRoute |
-
|
dEstimatedLength |
In |
|
LENGTH |
-
|
Elec3DCable.Synchronize()
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
InputElecRoute |
In |
|
ElecRoute |
-
|
Elec3DCable.UnSynchronize()
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
InputElecRoute |
In |
|
ElecRoute |
-
|
Elec3DConductor.ListInstances()
Signature
Elec3DConductor.ListInstances(ListOfInstances : List) : Boolean
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
ListOfInstances |
Out |
|
List |
-
|
Elec3DConductorGroup.ListInstances()
Signature
Elec3DConductorGroup.ListInstances(ListOfInstances : List) : Boolean
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
ListOfInstances |
Out |
|
List |
-
|
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 |
-
|
Electrical3DSystem.CreateConductorGroup()
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
Conductor Group |
Out |
|
ConductorGroup |
-
|
ElectricalBranchGeometry.ListProtectionsWithTotalLength()
Signature
ElectricalBranchGeometry.ListProtectionsWithTotalLength(ListOfProtection : List, ListOfTotalLength : List) : Boolean
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
ListOfProtection |
Out |
|
List |
-
|
ListOfTotalLength |
Out |
|
List |
-
|
PLMEleRefMultiBranchable.ListProtectionsWithTotalLength()
Signature
PLMEleRefMultiBranchable.ListProtectionsWithTotalLength(ListOfProtection : List, ListOfTotalLength : List) : Boolean
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
ListOfProtection |
Out |
|
List |
-
|
ListOfTotalLength |
Out |
|
List |
-
|
PLMEleRefWire.ListInstances()
Signature
PLMEleRefWire.ListInstances(ListOfInstances : List) : Boolean
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
ListOfInstances |
Out |
|
List |
-
|
PLMEleRefWireGroup.ListInstances()
Signature
PLMEleRefWireGroup.ListInstances(ListOfInstances : List) : Boolean
Arguments
Name |
Input/Output |
Required? |
Type |
Comment |
ListOfInstances |
Out |
|
List |
-
|
|