Interference functions exposed Functions

This page describes various functions specific to the Interference Check.

This page discusses:

PLMPIMMetricReference.GetQuantifier()

Signature

PLMPIMMetricReference.GetQuantifier(Quantifier : LENGTH, X1 : LENGTH, Y1 : LENGTH, Z1 : LENGTH, X2 : LENGTH, Y2 : LENGTH, Z2 : LENGTH) : Integer

Arguments

Name Input/Output Required? Type Comment
Quantifier Out LENGTH -
X1 Out LENGTH -
Y1 Out LENGTH -
Z1 Out LENGTH -
X2 Out LENGTH -
Y2 Out LENGTH -
Z2 Out LENGTH -

ReturnType

Integer

Example

      

SIMItfContextOfInterference.GetInterferenceMetric()

Signature

SIMItfContextOfInterference.GetInterferenceMetric(ItfMetric : PLMPIMMetricReference) : Integer

Arguments

Name Input/Output Required? Type Comment
ItfMetric Out PLMPIMMetricReference -

ReturnType

Integer

Example

      

SIMItfContextOfInterference.GetOccurrences()

Signature

SIMItfContextOfInterference.GetOccurrences(Occurrence1 : List, Occurrence2 : List) : Integer

Arguments

Name Input/Output Required? Type Comment
Occurrence1 In/Out List -
Occurrence2 In/Out List -

ReturnType

Integer
Example
      

SIMItfContextOfInterference.GetQuantifier()

Signature

SIMItfContextOfInterference.GetQuantifier(Quantifier : LENGTH, X1 : LENGTH, Y1 : LENGTH, Z1 : LENGTH, X2 : LENGTH, Y2 : LENGTH, Z2 : LENGTH) : Integer

Arguments

Name Input/Output Required? Type Comment
Quantifier Out LENGTH -
X1 Out LENGTH -
Y1 Out LENGTH -
Z1 Out LENGTH -
X2 Out LENGTH -
Y2 Out LENGTH -
Z2 Out LENGTH -

ReturnType

Integer

Example

      

SIMItfSimulation.AddComputeQuantifier()

Set the quantifiers to be computed.

Signature

SIMItfSimulation.AddComputeQuantifier(Quantifier : PIM_ComputeQuantifier) : Integer

Arguments

Name Input/Output Required? Type Comment
Quantifier In PIM_ComputeQuantifier Set the quantifiers to be computed.

ReturnType

Integer

Example

let quant (PIM_ComputeQuantifier)
quant = PIM_MinimumDistance
NewSim.AddComputeQuantifier (quant)
quant = PIM_PenetrationVector
NewSim.AddComputeQuantifier (quant)

SIMItfSimulation.AddGroupObjects()

Adds a new empty group (if possible) and return it.

Signature

SIMItfSimulation.AddGroupObjects(Group : PLMInterferenceGroup) : Integer

Arguments

Name Input/Output Required? Type Comment
Group Out PLMInterferenceGroup -

ReturnType

Integer

Example

let NewGroup(PLMInterferenceGroup)
NewSim.AddGroupObjects(NewGroup)

SIMItfSimulation.AddItfSpecificationTypeEngCnx()

Signature

SIMItfSimulation.AddItfSpecificationTypeEngCnx(SpecificationTypeEngCnx : PIM_SpecEngCnx) : Integer

Arguments

Name Input/Output Required? Type Comment
SpecificationTypeEngCnx In PIM_SpecEngCnx Adds this type of engineering connection specification to those into account.

ReturnType

Integer

Example

let SpecEngCnx (PIM_SpecEngCnx)
SpecEngCnx= PIM_CheckContact
NewSim.AddItfSpecificationTypeEngCnx (SpecEngCnx)
SpecEngCnx= PIM_CheckClearance
NewSim.AddItfSpecificationTypeEngCnx (SpecEngCnx)

SIMItfSimulation.Execute()

Executes the Interference Simulation and computes the Interferences based on a root product occurrence. If no occurrence is input, then the simulation is computed via batch computation in a separate process. (Batch computation requires that the simulation be saved to the database at launch time.)

Signature

SIMItfSimulation.Execute([RootOccurrence : ProductOccurrence]) : Integer

Arguments

Name Input/Output Required? Type Comment
RootOccurrence In ProductOccurrence The occurrence to consider for Interference Simulation computation.

ReturnType

Integer

Example

let RootOcc (ProductOccurrence)
[…]
/* Execute simulation on input Root Occurrence */
NewSim.Execute (RootOcc)
/* Rule execution resumes when computation is complete */

let ListToSave(List)
ListToSave.AddItem (NewSim,1)
Save(ListToSave)
/* Execute simulation in batch mode */
NewSim.Execute ()
/* Rule execution continues while computation is under way */
let I = 1
for I while I == 1   // Running(1)
{
    // Wait for computation to finish
    I = NewSim.V_Itf_ExecutionStatus
}

SIMItfSimulation.GetClearanceValue()

Get the value of clearance in meters used for standard clearance computation

Signature

SIMItfSimulation.GetClearanceValue(ClearanceValue : Real) : Integer

Arguments

Name Input/Output Required? Type Comment
ClearanceValue Out Real This is the value of clearance in meters used for standard clearance computation.

ReturnType

Integer

Example

let ClearVal(real)
NewSim.GetClearanceValue (ClearVal)

SIMItfSimulation.GetComparison()

Gets the mode of interference comparison.

Signature

SIMItfSimulation.GetComparison(CompareMode : PIM_Comparison) : Integer

Arguments

Name Input/Output Required? Type Comment
CompareMode Out PIM_Comparison -

ReturnType

Integer

Example

let compare (PIM_Comparison)
NewSim.GetComparison (compare)

SIMItfSimulation.GetGroupComputationType()

Get the group computation mode of an interference simulation.

Signature

SIMItfSimulation.GetGroupComputationType(GroupCompType : PIM_GroupComputationType) : Integer

Arguments

Name Input/Output Required? Type Comment
GroupCompType Out PIM_GroupComputationType -

ReturnType

Integer

Example

let GroupCompType (PIM_ GroupComputationType)
NewSim.GetGroupComputationType (GroupCompType)

SIMItfSimulation.GetGroupObjects()

Retrieves an Interference Simulation group from a given index.

Signature

SIMItfSimulation.GetGroupObjects(IndexToGet : Integer, Group : PLMInterferenceGroup) : Integer

Arguments

Name Input/Output Required? Type Comment
IndexToGet In Integer The index of the group to retrieve from the simulation.
Group Out PLMInterferenceGroup The group at given index from the simulation (if it exists).

ReturnType

Integer

Example

let IndexGroupToGet (integer)
let Group2(PLMInterferenceGroup)
IndexGroupToGet =2
NewSim.GetGroupObjects(IndexGroupToGet, Group2)

SIMItfSimulation.GetInterferenceFromIndex()

Signature

SIMItfSimulation.GetInterferenceFromIndex(IndexOfInterference : Integer, ItfContext : SIMItfContextOfInterference, ItfMetric : PLMPIMMetricReference) : Integer

Arguments

Name Input/Output Required? Type Comment
IndexOfInterference In Integer -
ItfContext Out SIMItfContextOfInterference -
ItfMetric Out PLMPIMMetricReference -

ReturnType

Integer

Example

      

SIMItfSimulation.GetIntermediateRepresentation()

Getsthe option of intermediate representation.

Signature

SIMItfSimulation.GetIntermediateRepresentation(InterRepMode : PIM_IntermediateRepresentation) : Integer

Arguments

Name Input/Output Required? Type Comment
InterRepMode Out PIM_IntermediateRepresentation -

ReturnType

Integer

Example

let interRepMode (PIM_ IntermediateRepresentation)
NewSim.GetIntermediateRepresentation (interRepMode)

SIMItfSimulation.GetNbInterference()

Signature

SIMItfSimulation.GetNbInterference(NbInterference : Integer) : Integer

Arguments

Name Input/Output Required? Type Comment
NbInterference Out Integer -

ReturnType

Integer

Example

      

SIMItfSimulation.GetNumberOfGroupObjects()

Gets the number of groups in the Interference Simulation

Signature

SIMItfSimulation.GetNumberOfGroupObjects(NumberOfGroups : Integer) : Integer

Arguments

Name Input/Output Required? Type Comment
NumberOfGroups Out Integer The number of groups in the interference simulation

ReturnType

Integer

Example

let NumberGroups (integer)
NewSim.GetNumberOfGroupObjects (NumberGroups)

SIMItfSimulation.GetRuleSetName()

Get name of the RuleSet containing the knowledge rules of computation. An empty string returned means that no RuleSet is taken into account.

Signature

SIMItfSimulation.GetRuleSetName(RuleSetName : String) : Integer

Arguments

Name Input/Output Required? Type Comment
RuleSetName Out String Name of the RuleSet containing the knowledge computation rules on this simulation.

ReturnType

Integer

Example

let sRuletSetUsed(String)
NewSim.GetRuleSetName (sRuletSetUsed)

SIMItfSimulation.GetSpecificationType()

Gets the standard interference specification type.

Signature

SIMItfSimulation.GetSpecificationType(StandardSpecification : PIM_StandardSpec) : Integer

Arguments

Name Input/Output Required? Type Comment
StandardSpecification Out PIM_StandardSpec The type of standard computation the simulation is going to perform.

ReturnType

Integer

Example

let PIM_Spec(PIM_StandardSpec)
NewSim.GetSpecificationType(PIM_Spec)

SIMItfSimulation.IsActiveComputeQuantifier()

Check if the computation of a quantifier is active.

Signature

SIMItfSimulation.IsActiveComputeQuantifier(Quantifier : PIM_ComputeQuantifier) : Boolean

Arguments

Name Input/Output Required? Type Comment
Quantifier In PIM_ComputeQuantifier -

ReturnType

Boolean

Computation of vector of penetration only takes effect when the result is a clash and is always available. Computation of minimum distance between parts only takes effect when the result is a clearance. It is only available if one of the following specifications is active:

  • Standard computation with a computation of clearance
  • Engineering connections of type "Check Clearance" are taken into account
  • Knowledge rules are taken into account.

Example

let quant (PIM_ComputeQuantifier)
quant = PIM_MinimumDistance
NewSim.AddComputeQuantifier (quant)
quant = PIM_PenetrationVector
NewSim.AddComputeQuantifier (quant)

SIMItfSimulation.IsActiveItfSpecificationTypeEngCnx()

Verifies the use of a specific type of engineering connection specification.

Signature

SIMItfSimulation.IsActiveItfSpecificationTypeEngCnx(SpecificationTypeEngCnx : PIM_SpecEngCnx) : Boolean

Arguments

Name Input/Output Required? Type Comment
SpecificationTypeEngCnx In PIM_SpecEngCnx -

ReturnType

Boolean

Example

let AreContactEngCnxChecked(boolean)
let SpecEngCnx (PIM_SpecEngCnx)
SpecEngCnx= PIM_CheckContact
AreContactEngCnxChecked = NewSim.IsActiveItfSpecificationTypeEngCnx (SpecEngCnx)

SIMItfSimulation.RemoveComputeQuantifier()

Removes a type of quantifier so it is not computed.

Signature

SIMItfSimulation.RemoveComputeQuantifier(Quantifier : PIM_ComputeQuantifier) : Integer

Arguments

Name Input/Output Required? Type Comment
Quantifier In PIM_ComputeQuantifier -

ReturnType

Integer

Example

let quant (PIM_ComputeQuantifier)
quant = PIM_MinimumDistance
NewSim.RemoveComputeQuantifier (quant)
quant = PIM_PenetrationVector
NewSim.RemoveComputeQuantifier (quant)

SIMItfSimulation.RemoveGroupObjects()

Removes a group only if this is possible depending of the value of the parameter PIM_GroupComputationType. PIM_GroupComputationTypePIM_GroupComputationType

Signature

SIMItfSimulation.RemoveGroupObjects(Index : Integer) : Integer

Arguments

Name Input/Output Required? Type Comment
Index In Integer -

ReturnType

Integer

Example

let IndexGroupToDelete(integer)
IndexGroupToDelete=2
NewSim.RemoveGroupObjects(IndexGroupToDelete)

SIMItfSimulation.RemoveItfSpecificationTypeEngCnx()

Removes one type of engineering connection specification from the interference simulation.

Signature

SIMItfSimulation.RemoveItfSpecificationTypeEngCnx(SpecificationTypeEngCnx : PIM_SpecEngCnx) : Integer

Arguments

Name Input/Output Required? Type Comment
SpecificationTypeEngCnx In PIM_SpecEngCnx Removes this type of engineering connection specification from those taken into account.

ReturnType

Integer

Example

let SpecEngCnx (PIM_SpecEngCnx)
SpecEngCnx= PIM_CheckContact
NewSim.RemoveItfSpecificationTypeEngCnx (SpecEngCnx)
SpecEngCnx= PIM_CheckClearance
NewSim.RemoveItfSpecificationTypeEngCnx (SpecEngCnx)

SIMItfSimulation.RemoveRuleSet()

Removing the RuleSet used in the current interference simulation. In this case, knowledge rules specification will not be taken into account during computation.

Signature

SIMItfSimulation.RemoveRuleSet() : Integer

ReturnType

Integer

A specification (standard specification or engineering connection specification or knowledge rules specification) must always be active. So, before removing the taking account of the knowledge rules (RemoveRuleSet), one of the others specifications (standard specification or engineering connection specification) must be active.

Example

NewSim.RemoveRuleSet()

SIMItfSimulation.SetClearanceValue()

Sets the value of clearance in meters to use for standard clearance computation.

Signature

SIMItfSimulation.SetClearanceValue(ClearanceValue : Real) : Integer

Arguments

Name Input/Output Required? Type Comment
ClearanceValue In Real This is the value of clearance in meters to use for standard clearance computation.

ReturnType

Integer

Example

let ClearVal(real)
ClearVal=0.01
NewSim.SetClearanceValue (ClearVal)

SIMItfSimulation.SetComparison()

Sets the mode of interference comparison.

Signature

SIMItfSimulation.SetComparison(CompareMode : PIM_Comparison) : Integer

Arguments

Name Input/Output Required? Type Comment
CompareMode In PIM_Comparison -

ReturnType

Integer

Example

let compare (PIM_Comparison)
compare = PIM_ComparisonNone
NewSim.SetComparison (compare)

SIMItfSimulation.SetGroupComputationType()

Sets the mode of computation of groups for an interference simulation.

Signature

SIMItfSimulation.SetGroupComputationType(GroupCompType : PIM_GroupComputationType) : Integer

Arguments

Name Input/Output Required? Type Comment
GroupCompType In PIM_GroupComputationType -

ReturnType

Integer

When setting a new value for "GroupComputationType", the number of groups can be modified. If this new value of “GroupComputationType” is:

Example

let GroupCompType (PIM_ GroupComputationType)
GroupCompType = PIM_AllAgainstAllInGroup
NewSim.SetGroupComputationType (GroupCompType)

SIMItfSimulation.SetIntermediateRepresentation()

Sets the option for intermediate representation.

Signature

SIMItfSimulation.SetIntermediateRepresentation(InterRepMode : PIM_IntermediateRepresentation) : Integer

Arguments

Name Input/Output Required? Type Comment
InterRepMode In PIM_IntermediateRepresentation -

ReturnType

Integer

Example

let interRepMode (PIM_ IntermediateRepresentation)
interRepMode = PIM_PenetrationVector
NewSim.SetIntermediateRepresentation (interRepMode)

SIMItfSimulation.SetRuleSetByName()

Adds a RuleSet containing knowledge rules of computation to the interference simulation. In this case, knowledge rules specification will be taken into account during computation.

You can retrive the RuleSet by searching its name. Thus, the name given as argument to this method must be specific so that the search result finds only one RuleSet.

Signature

SIMItfSimulation.SetRuleSetByName(RuleSetName : String) : Integer

Arguments

Name Input/Output Required? Type Comment
RuleSetName In String -

ReturnType

Integer

Example

NewSim.SetRuleSetByName(“MyRuleset”)

SIMItfSimulation.SetSpecificationType()

Sets the standard interference specification type.

Signature

SIMItfSimulation.SetSpecificationType(StandardSpecification : PIM_StandardSpec) : Integer

Arguments

Name Input/Output Required? Type Comment
StandardSpecification In PIM_StandardSpec This is the type of standard computation the Interference Simulation should perform.

ReturnType

Integer

Example

let PIM_Spec (PIM_StandardSpec)
PIM_Spec= PIM_SpecStd_Clash
NewSim.SetSpecificationType(PIM_Spec)