RFLPLMKnowledge Types

The following knowledge types are available to handle the connectivity aspect of functional/logical models.

Various methods and computed attributes are defined on these types to allow navigation along functional/logical data.

This page discusses:

FunctionalOccurrence

Inheritance Path

ObjectType
 Feature
  FunctionalOccurrence

Attributes

Name Type Comment
ImplementingLogicalSystems List Returns a list of logical occurrences (LogicalOccurrence) implementing this FunctionalOccurrence.
Instance PLMEntity Returns the functional instance (RFLPLMFunctionalInstance, RFLPLMFunctionalCommunicationInstance) relative to the functional occurrence.
Reference PLMEntity Returns the functional reference (RFLPLMFunctionalReference, RFLPLMFunctionalCommunicationReference) relative to the functional occurrence.

Example (ImplementingLogicalSystems)

Let FctOccurrence(FunctionalOccurrence)
Let ImplementingLogSystems(List)
Let LogOccurrence(LogicalOccurrence)
FctOccurrence=…
ImplementingLogSystems=FctOccurrence.ImplementingLogicalSystems
If(ImplementingLogSystems.Size() == 1)
{
LogOccurrence = ImplementingLogSystems[1]
…
}

Example (Instance)

Let FctOccurrence(FunctionalOccurrence)
Let FctInstance(RFLPLMFunctionalInstance)
FctOccurrence = …
FctInstance = FctOccurrence.Instance

Example (Reference)

Let FctOccurrence(FunctionalOccurrence)
Let FctReference(RFLPLMFunctionalReference)
FctOccurrence = …
FctReference = FctOccurrence.Reference

LogicalOccurrence

Inheritance Path

ObjectType
 Feature
  LogicalOccurrence

Attributes

NameTypeComment
ImplementingProductsListReturns a list of physical occurrences (ProductOccurrence) implementing this LogicalOccurrence.
InstancePLMEntityReturns the logical instance (RFLVPMLogicalInstance, RFLVPMLogicalCommunicationInstance) relative to the logical occurrence.
Positioned3DObjectPositioned3DObjectAttribute used as a shortcut to quickly retrieve that the logical occurrence supports the Positioned3DObject type.
ReferencePLMEntityReturns the logical instance relative to the logical occurrence.

Example (ImplementingProducts)

LogOccurrence(LogicalOccurrence)
Let ImplementingProducts(List)
Let PrdOccurrence(ProductOccurrence)
LogOccurrence=…
ImplementingProducts=LogOccurrence.ImplementingProducts
If(ImplementingProducts.Size() == 1)
{
PrdOccurrence = ImplementingProducts[1]
…
}

Example (Instance)

Let LogOccurrence(LogicalOccurrence)
Let LogInstance(RFLVPMLogicalInstance)
LogOccurrence = …
LogInstance = LogOccurrence.Instance

Example (Reference)

Let LogOccurrence(LogicalOccurrence)
Let LogReference(RFLVPMLogicalReference)
LogOccurrence = …
LogReference = LogOccurrence.Reference

Example (Positioned3DObject)

let ClashCheck(Boolean)
Let LogOccurrence1(LogicalOccurrence)
Let LogOccurrence2(LogicalOccurrence)
LogOccurrence1=…
LogOccurrence2=…
ClashCheck = Clash(LogOccurrence1.Positioned3DObject, LogOccurrence2.Positioned3DObject)
if(ClashCheck==true)
{
…
}

SysConnectable

This type is supported by the following types of objects:

  • RFLPLMFunctionalReference
  • RFLPLMFunctionalInstance
  • RFLPLMFunctionalCommunicationReference
  • RFLPLMFunctionalCommunicationInstance
  • RFLVPMLogicalReference
  • RFLVPMLogicalInstance
  • RFLVPMLogicalCommunicationReference
  • RFLVPMLogicalCommunicationInstance

Inheritance Path

ObjectType
 Feature
  SysConnectable

Example

Let FReference (RFLPLMFunctionalReference)
Let SystemConnectable(SysConnectable)
Let LConnectables(List)
FReference=…
Set SystemConnectable=FReference
Set LConnectables=SystemConnectable.GetRelatedSystems()
if(LConnectables.Size() <> 0)
{
…
}

SysConnection

This type is supported by the following types of objects:

  • RFLPLMFunctionalConnection
  • RFLVPMLogicalConnection

Inheritance Path

ObjectType
 Feature
  SysConnection

Methods

The following methods are associated with this type:

Example

Let Connection (RFLPLMFunctionalConnection)
Let SystemConnection (SysConnection)
Let LConnectables(List)
Connection=…
Set SystemConnection=Connection
Set LConnectables=SystemConnection.GetRelatedSystems()
if(LConnectables.Size() <> 0)
{
…
}

SysInterface

This type is supported by the following types of objects:

  • RFLPLMFlowInstance
  • RFLPLMFlowExpositionInstance
  • RFLVPMSystemTypeInstance
  • RFLVPMSystemTypeExpositionInstance

Inheritance Path

ObjectType
 Feature
  SysInterface

SysItfInContext

A SysItfInContext is a structure gathering what identifies an Interface usage in a System Context.

Its fields are the following ones:

  • A SysConnectable (an object supporting the SystConnectable type)
  • An ordered list (aka path) of SysInterfaces (a list of objets supporting the SysInterface type).

Its fields can be accessed through the following accessors:

  • GetSysConnectable
  • GetSysInterfaces.

Two SysItfInContext structures can be compared using the Compare available operator.

Inheritance Path

ObjectType
 Feature
  SysItfInContext

Methods

The following methods are associated with this type:

Example

let ListOfSystems (List)
let ListOfInterfaces (List)
let FItfInContext (SysItfInContext)
let FReference (RFLPLMFunctionalReference)
let FInstanceFrom (RFLPLMFunctionalInstance)
let FInstanceTo(RFLPLMFunctionalInstance)
let FTypeExpoTo (RFLPLMFlowExpositionInstance)
let FTypeExpoFrom (RFLPLMFlowExpositionInstance)
set FInstanceFrom=...
set FReference=FInstanceFrom.Reference
set FTypeExpoFrom = FReference.Children.Filter("RFLPLMFlowExpositionInstance", "").GetItem(1)
ListOfInterfaces.Append(FTypeExpoFrom)
set ListOfSystems = FInstanceFrom.SysConnectivity.GetRelatedSystemsFromInterface(ListOfInterfaces)
if(ListOfSystems->Size() == 1)
{
set FItfInContext = ListOfSystems->GetItem(1)
set FInstanceTo = FItfInContext.GetSysConnectable()
if(FInstanceTo.PLM_ExternalID == "FctInstance1")
{
set ListOfInterfaces = FItfInContext.GetSysInterfaces()
if (ListOfInterfaces->Size() == 1)
{
set FTypeExpoTo = ListOfInterfaces->GetItem(1)
...
}
}
}

SysPort

This type is supported by the following types of objects:

  • RFLPLMFunctionalConnector
  • RFLVPMLogicalPort.

Inheritance Path

ObjectType
 Feature
  SysPort

Methods

The following methods are associated with this type:

Example

Let Port(RFLPLMFunctionalConnector)
Let SystemPort (SysPort)
Let SystemConnectable (SysConnectable)
Let LConnectables(List)
Let LPorts(List)
Port=…
SystemConnectable=…
Set SystemPort=Port
Set LConnectables=SystemPort.GetRelatedSystems(SystemConnectable, LConnectables, LPorts)
if(LConnectables.Size() <> 0)
{
…
}