PLMInterferenceUseItf Interface PLMIInterferenceSimulation

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface PLMIInterferenceSimulation

Interface to manage Interference Simulation.

Use method to create a new Interference Simulation.


Method Index


o AddComputeQuantifier(PLMIInterferenceSimulation::ComputeQuantifier)
Adds the computation of a quantifier.
o AddGroupObjects(PLMIInterferenceGroupObjects*&)
Adds a new empty group and return it.
o AddItfSpecificationTypeEngCnx(PLMIInterferenceSimulation::SpecificationTypeEngCnx)
Adds the type of engineering connection specification to take into account.
o Execute()
Launches the computation.
o GetClearanceValue(double&)
Returns the clearance value.
o GetComparison(PLMIInterferenceSimulation::Comparison&)
Gets the mode of interference comparison.
o GetGroupComputationType(PLMIInterferenceSimulation::GroupComputationType&)
Gets the mode of computation of groups for interference simulation.
o GetGroupObjects(int,PLMIInterferenceGroupObjects*&)
Retrieves a Group.
o GetInterferenceResults(CATListPtrPLMIInterferenceResult&)
Retrieves the Interference Results.
o GetIntermediateRepresentation(PLMIInterferenceSimulation::IntermediateRepresentation&)
Gets the option for intermediate representation.
o GetName(CATUnicodeString&)
Gets the name of the Interference Simulation.
o GetNumberOfGroupObjects(int&)
Gets the number of groups of the simulation.
o GetRuleSetName(CATUnicodeString&)
Gets name of the RuleSet containing the knowledge rules of computation of the interference simulation.
o GetSpecificationType(PLMIInterferenceSimulation::SpecificationType&)
Gets the Interference Specification Type.
o IsActiveComputeQuantifier(PLMIInterferenceSimulation::ComputeQuantifier,CATBoolean&)
Checks if the computation of a quantifier is active.
o IsActiveItfSpecificationTypeEngCnx(PLMIInterferenceSimulation::SpecificationTypeEngCnx,CATBoolean&)
Determines if one specific type of engineering connection specification is used.
o IsComputeQuantifierAvailable(PLMIInterferenceSimulation::ComputeQuantifier,CATBoolean&)
Checks if the computation of a quantifier is available.
o RemoveComputeQuantifier(PLMIInterferenceSimulation::ComputeQuantifier)
Removes the computation of a quantifier.
o RemoveGroupObjects(int)
Removes a Group.
o RemoveItfSpecificationTypeEngCnx(PLMIInterferenceSimulation::SpecificationTypeEngCnx)
Removes one type of engineering connection specification.
o RemoveRuleSet()
Removes the RuleSet of the current interference simulation.
o SetClearanceValue(double)
Sets the clearance value.
o SetComparison(PLMIInterferenceSimulation::Comparison)
Sets the mode of interference comparison.
o SetGroupComputationType(PLMIInterferenceSimulation::GroupComputationType)
Sets the mode of computation of groups for interference simulation.
o SetIntermediateRepresentation(PLMIInterferenceSimulation::IntermediateRepresentation)
Sets the option for intermediate representation.
o SetName(CATUnicodeString)
Sets the name of the Interference Simulation.
o SetRuleSetByName(CATUnicodeString)
Adds a RuleSet containing the knowledge rules of computation to the interference simulation.
o SetSpecificationType(PLMIInterferenceSimulation::SpecificationType)
Sets the Interference Specification Type.

Enumerated Type Index


o Comparison
Interference Simulation type of comparison, these options allow or not the reuse of existing interference simulation results.
o ComputeQuantifier
Interference Simulation computation of quantifier, these options allow or not the computation of quantifier for interference
o GroupComputationType
Management of groups for Interference Simulation.
o IntermediateRepresentation
Management of intermediate representations for Interference Simulation, these options allow to take into account or not intermediate representations during interference computation.
o SpecificationType
Interference Simulation Specification type of computation for the standard specification.
o SpecificationTypeEngCnx
Interference Simulation Specification type of computation for the use of engineering connection specification.

Methods


o AddComputeQuantifier
public virtual AddComputeQuantifier( iQuantifierMode)
Adds the computation of a quantifier.
Parameters:
iQuantifierMode
[in] The type of quantifier to take into account defined by
enum.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

By default, Interference Simulation is created without the computation of any quantifier.
Example:
   This example adds the computation of the quantifier of minimum distance to the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceSimulation::ComputeQuantifier  iQuantifierMode = PLMIInterferenceSimulation::MinimumDistance ;
   
   HRESULT hr = piItfSimu->AddComputeQuantifier (iQuantifierMode) ;
 
   
o AddGroupObjects
public virtual AddGroupObjects( oGroup)
Adds a new empty group and return it.
This method adds a group depending of the value of the parameter GroupComputationType .
Precondition: If the value of GroupComputationType is:
Parameters:
oGroup
[out, CATBaseUnknown#Release] The new group created.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed. Check that the precondition is fulfilled.

Example:
   This example sets the GroupComputationType "GroupAgainstGroup" to the current interference simulation and adds a new group.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceSimulation::GroupComputationType  GroupType = PLMIInterferenceSimulation::GroupAgainstGroup ;
   PLMIInterferenceGroupObjects * piNewGroup    = NULL ;
   
   HRESULT hr = piItfSimu->SetGroupComputationType (GroupType) ;
   if (SUCCEEDED(hr))
   {
     hr = piItfSimu->AddGroupObjects (piNewGroup) ;
   }
   
   
o AddItfSpecificationTypeEngCnx
public virtual AddItfSpecificationTypeEngCnx( iTypeEngCnx)
Adds the type of engineering connection specification to take into account.
The following values can be added one by one: If the value NoCheck is the only value used, standard specification must also be used.
In this case, the value of SpecificationType must be:
Remove the CheckNone value (see ) activates the first four values.

Add value CheckNone means that no engineering connection specification will be used. In this case, as a specification (standard specification or engineering connection specification or knowledge rules specification) must always be active, one of the others specifications (standard specification or knowledge rules specification) has to be added before.

By default, Interference Simulation is created with the type: CheckNone

Parameters:
iTypeEngCnx
[in] The type of engineering connection specification defined by
enum.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example allows to take into account the engineering connection of type "Check No Clash" of the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceSimulation::SpecificationTypeEngCnx  ItfSpecTypeEngCnx = PLMIInterferenceSimulation::CheckNoClash ;
   
   HRESULT hr = piItfSimu->AddItfSpecificationTypeEngCnx (ItfSpecTypeEngCnx) ;
   
   
o Execute
public virtual Execute()
Launches the computation.
Executes the Simulation and computes the Interferences Results (see
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.
o GetClearanceValue
public virtual GetClearanceValue( oClearVal)
Returns the clearance value.
Parameters:
oClearVal
[out] The value of Clearance. It is expressed in meter.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example retrieves the value of Clearance of the InterferenceSimulation piItfSimu .
   
   double oClearVal = 0.0 ;
   HRESULT hr = piItfSimu->GetClearanceValue (oClearVal) ;
   
o GetComparison
public virtual GetComparison( oComparisonMode)
Gets the mode of interference comparison.
Parameters:
oComparisonMode
[out] The mode of interference comparison defined by
enum.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example gets the mode of comparison of the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceSimulation::Comparison  ItfComparisonMode = PLMIInterferenceSimulation::ComparisonNone ;
   
   HRESULT hr = piItfSimu->GetComparison (ItfComparisonMode) ;
   
   
o GetGroupComputationType
public virtual GetGroupComputationType( oType)
Gets the mode of computation of groups for interference simulation.
Parameters:
oType
[out] The type of computation for groups defined by
enum.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example gets the value of group computation for the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceSimulation::GroupComputationType  GroupType = PLMIInterferenceSimulation::AllAgainstAllInContext ;
   
   HRESULT hr = piItfSimu->GetGroupComputationType (GroupType) ;
   
   
o GetGroupObjects
public virtual GetGroupObjects( iIndex,
oGroup)
Retrieves a Group.
Parameters:
iIndex
[in] The index of the group to retrieve from the simulation.
This index is the rank of the group in the simulation.
The index of the first group is 1 and the index of the last group is the number of groups (see
method).
oGroup
[out, CATBaseUnknown#Release] The retrieved group
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example gets the first group of the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceGroupObjects * piGroup       = NULL ;
   int NbGroup = 0 ;
   
   HRESULT hr = piItfSimu->GetNumberOfGroupObjects (NbGroup) ;
   if (SUCCEEDED(hr) && (NbGroup > 0))
   {
     hr = piItfSimu->GetGroupObjects (1, piGroup) ;
   }
   
   
o GetInterferenceResults
public virtual GetInterferenceResults( oListResults)
Retrieves the Interference Results.
This method retrieves a collection of Interferences results generated during interference simulation execution.
see
All the pointers of this list must be released after use.
Parameters:
oListResults
[out] The list of results
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example gets the list of results of the current interference simulation.
   
   PLMIInterferenceSimulation       * piItfSimu   = ... ;  // (created by PLMIInterferenceServices)
   CATListPtrPLMIInterferenceResult   ListResults ;
   
   HRESULT hr = piItfSimu->GetInterferenceResults (ListResults) ;
   
   
o GetIntermediateRepresentation
public virtual GetIntermediateRepresentation( oInterRepMode)
Gets the option for intermediate representation.
Parameters:
oInterRepMode
[out] The mode of intermediate representation defined by
enum.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example gets the mode for the intermediate representations during computation of the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceSimulation::IntermediateRepresentation  InterRepMode = PLMIInterferenceSimulation::InterRepNone ;
   
   HRESULT hr = piItfSimu->GetIntermediateRepresentation (InterRepMode) ;
   
   
o GetName
public virtual GetName( oSimuName)
Gets the name of the Interference Simulation.
Parameters:
oSimuName
[out] The name of the interference simulation.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example gets the name of the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   CATUnicodeString   oSimuName ("") ;
   
   hr = piItfSimu->GetName (oSimuName) ;
   
   
o GetNumberOfGroupObjects
public virtual GetNumberOfGroupObjects( oNbGroup)
Gets the number of groups of the simulation.
Parameters:
oNbGroup
[out] The number of groups.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example gets the number of groups of the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   int NbGroup = 0 ;
   
   HRESULT hr = piItfSimu->GetNumberOfGroupObjects (NbGroup) ;
   
   
o GetRuleSetName
public virtual GetRuleSetName( oRuleSetName)
Gets name of the RuleSet containing the knowledge rules of computation of the interference simulation.
An empty string returned means that no RuleSet is taken into account.
Parameters:
oRuleSetName
[out] The name of the RuleSet.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example retrieves the name of the RuleSet used in the InterferenceSimulation iSimu .
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   CATUnicodeString               oRuleSetName  = "" ;
   
   HRESULT hr = piItfSimu->SetRuleSetByName (oRuleSetName) ;
   
   
o GetSpecificationType
public virtual GetSpecificationType( oItfSpecType)
Gets the Interference Specification Type.
Parameters:
oItfSpecType
[out] The type of standard specification defined by
enum.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example gets the Interference Specification Type of the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceSimulation::SpecificationType  ItfSpecClear = PLMIInterferenceSimulation::SpecStdNone ;
   
   HRESULT hr = piItfSimu->GetSpecificationType (ItfSpecClear) ;
   
   
o IsActiveComputeQuantifier
public virtual IsActiveComputeQuantifier( iQuantifierMode,
oIsActive)
Checks if the computation of a quantifier is active.
Parameters:
iQuantifierMode
[in] the type of calculation option quantifier to verify.
oIsActive
[out] State of the option:
TRUE
the option is active.
FALSE
the option is inactive.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example verifies if the computation of the quantifier of minimum distance is activated for the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceSimulation::ComputeQuantifier  iQuantifierMode = PLMIInterferenceSimulation::MinimumDistance ;
   CATBoolean   bool1 = FALSE ;
   
   HRESULT hr = piItfSimu->IsActiveComputeQuantifier (iQuantifierMode, bool1) ;
   
   
o IsActiveItfSpecificationTypeEngCnx
public virtual IsActiveItfSpecificationTypeEngCnx( iTypeEngCnx,
oIsActive)
Determines if one specific type of engineering connection specification is used.
Parameters:
iTypeEngCnx
[in] The type of engineering connection specification to verify.
oIsActive
[out] State of the option:
TRUE
the option is active.
FALSE
the option is inactive.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example verifies if the engineering connection of type "Check Contact" is taken into account for the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceSimulation::SpecificationTypeEngCnx  ItfSpecTypeEngCnx = PLMIInterferenceSimulation::CheckContact ;
   CATBoolean   bool1 = FALSE ;
   
   HRESULT hr = piItfSimu->IsActiveItfSpecificationTypeEngCnx (ItfSpecTypeEngCnx, bool1) ;
   
   
o IsComputeQuantifierAvailable
public virtual IsComputeQuantifierAvailable( iQuantifierMode,
oIsAvailable)
Checks if the computation of a quantifier is available.
Computation of vector of penetration has only effect when the result is a clash and is always available.
Computation of minimum distance between parts has only effect when the result is a clearance. It is only available if one of the following specifications is active:
Parameters:
iQuantifierMode
[in] the type of calculation option quantifier to check.
oIsAvailable
[out] State of the option:
TRUE
the option is available.
FALSE
the option is not available.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example verifies if the computation of the quantifier of minimum distance is allowed for the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceSimulation::ComputeQuantifier  iQuantifierMode = PLMIInterferenceSimulation::MinimumDistance ;
   CATBoolean   bool1 = FALSE ;
   
   HRESULT hr = piItfSimu->IsComputeQuantifierAvailable (iQuantifierMode, bool1) ;
   
   
o RemoveComputeQuantifier
public virtual RemoveComputeQuantifier( iQuantifierMode)
Removes the computation of a quantifier.
Parameters:
iQuantifierMode
[in] The type of quantifier to not take into account defined by
enum.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example removes the computation of the quantifier of minimum distance to the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceSimulation::ComputeQuantifier  iQuantifierMode = PLMIInterferenceSimulation::MinimumDistance ;
   
   HRESULT hr = piItfSimu->RemoveComputeQuantifier (iQuantifierMode) ;
 
   
o RemoveGroupObjects
public virtual RemoveGroupObjects( iIndex)
Removes a Group.
This method removes a group depending of the value of the parameter GroupComputationType .
Precondition: If the value of GroupComputationType is:
Parameters:
iIndex
[in] The number of group to remove.
This index is the rank of the group in the simulation.
The index of the first group is 1 and the index of the last group is the number of groups (see
method).
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed. Check that the precondition is fulfilled.

Example:
   This example removes the last group of the the current interference simulation.
   We suppose that the interference simulation has a GroupComputationType value equal to 
    GroupAgainstGroup  and that a new group has already been added.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   int NbGroup = 0 ;
   
   HRESULT hr = piItfSimu->GetNumberOfGroupObjects (NbGroup) ;
   if (SUCCEEDED(hr) && (NbGroup > 2))
   {
     hr = piItfSimu->RemoveGroupObjects (NbGroup) ;
   }
   
   
o RemoveItfSpecificationTypeEngCnx
public virtual RemoveItfSpecificationTypeEngCnx( iTypeEngCnx)
Removes one type of engineering connection specification.
Removes the value CheckNone will take into account all the other values:
Parameters:
iTypeEngCnx
[in] The type of engineering connection specification to remove.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example removes the taken into account of the engineering connection of type "Check Clearance" of the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceSimulation::SpecificationTypeEngCnx  ItfSpecTypeEngCnx = PLMIInterferenceSimulation::CheckClearance ;
   
   HRESULT hr = piItfSimu->RemoveItfSpecificationTypeEngCnx (ItfSpecTypeEngCnx) ;
   
   
o RemoveRuleSet
public virtual RemoveRuleSet()
Removes the RuleSet of the current interference simulation.
In this case, knowledge rules specification will not be taken into account during computation.

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.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example removes the RuleSet used in the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   
   HRESULT hr = piItfSimu->SetRuleSetByName (iRuleSetName) ;
   
   
o SetClearanceValue
public virtual SetClearanceValue( iClearVal)
Sets the clearance value.
Parameters:
iClearVal
[in] The value of Clearance. It must be expressed in meter.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example sets the value of Clearance of 32 mm to the interference simulation piItfSimu .
   
   double iClearVal = 0.032 ;
   HRESULT hr = piItfSimu->SetClearanceValue (iClearVal) ;
   
o SetComparison
public virtual SetComparison( iComparisonMode)
Sets the mode of interference comparison.
By default, Interference Simulation is created with the option: RecomputeModify.
Parameters:
iComparisonMode
[in] The mode of interference comparison defined by
enum.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example sets the mode of comparison "DeleteOutOfScope" to the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceSimulation::Comparison  ItfComparisonMode = PLMIInterferenceSimulation::DeleteOutOfScope ;
   
   HRESULT hr = piItfSimu->SetComparison (ItfComparisonMode) ;
   
   
o SetGroupComputationType
public virtual SetGroupComputationType( iType)
Sets the mode of computation of groups for interference simulation.
If you set the "GroupComputationType", the number of groups can be modified.
By default, Interference Simulation is created with the option: AllAgainstAllInContext .
If the new value of GroupComputationType is:
Parameters:
iType
[in] The type of computation for groups defined by
enum.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example sets the value of group computation "GroupAgainstGroup" to the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceSimulation::GroupComputationType  GroupType = PLMIInterferenceSimulation::GroupAgainstGroup ;
   
   HRESULT hr = piItfSimu->SetGroupComputationType (GroupType) ;
   
   
o SetIntermediateRepresentation
public virtual SetIntermediateRepresentation( iInterRepMode)
Sets the option for intermediate representation.
By default, Interference Simulation is created with the option: InterRepNone .
Parameters:
iInterRepMode
[in] The mode for intermediate representation defined by
enum.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example sets the taken into account of the intermediate representations during computation for the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceSimulation::IntermediateRepresentation  InterRepMode = PLMIInterferenceSimulation::InterRepAppend ;
   
   HRESULT hr = piItfSimu->SetIntermediateRepresentation (InterRepMode) ;
   
   
o SetName
public virtual SetName( iSimuName)
Sets the name of the Interference Simulation.
Parameters:
iSimuName
[in] ItfSimu_01 must be a not empty string of character.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example sets the name ItfSimu_01 to the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   CATUnicodeString   iSimuName = "ItfSimu_01" ;
   
   HRESULT hr = opiItfSimu->SetName (iSimuName) ;
   
   
o SetRuleSetByName
public virtual SetRuleSetByName( iRuleSetName)
Adds a RuleSet containing the knowledge rules of computation to the interference simulation.
In this case, knowledge rules specification will be taken into account during computation.
Note that a Search will be launch to retrieve the RuleSet by its name. So, the name given as argument to this method must be specific enough so that the search result finds only one RuleSet.
Parameters:
iRuleSetName
[in] The name of the RuleSet.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example sets the RuleSet beginning with the string "RuleSet_01" to the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   CATUnicodeString               iRuleSetName  = "RuleSet_01*" ;
   
   HRESULT hr = piItfSimu->SetRuleSetByName (iRuleSetName) ;
   
   
o SetSpecificationType
public virtual SetSpecificationType( iItfSpecType)
Sets the Interference Specification Type.
Parameters:
iItfSpecType
[in] The type of standard specification defined by
enum.
Returns:
S_OK
If the operation is successful.
E_FAIL
If the operation is failed.

Example:
   This example sets the Interference Specification Type SpecStdClearance to the current interference simulation.
   
   PLMIInterferenceSimulation   * piItfSimu     = ... ;  // (created by PLMIInterferenceServices)
   PLMIInterferenceSimulation::SpecificationType  ItfSpecClear = PLMIInterferenceSimulation::SpecStdClearance ;
   
   HRESULT hr = piItfSimu->SetSpecificationType (ItfSpecClear) ;
   
   

Enumerated Types


o Comparison
enum Comparison {
  ComparisonNone,
  RecomputeModify,
  DeleteOutOfScope
}
Interference Simulation type of comparison, these options allow or not the reuse of existing interference simulation results.
Parameters:
ComparisonNone
No reuse of existing interference simulation results.
Previously computed interferences are removed from the simulation.
RecomputeModify
Reuse of existing interference simulation results. In this case, only the modified parts are computed.
Previously computed interferences are kept.
DeleteOutOfScope
This option forces the selection of option: RecomputeModify.
This option allows to remove from the simulation the interferences for which the validity status is "Out of Scope"

By default, Interference Simulation is created with the option: RecomputeModify.
o ComputeQuantifier
enum ComputeQuantifier {
  MinimumDistance,
  PenetrationVector
}
Interference Simulation computation of quantifier, these options allow or not the computation of quantifier for interference
Parameters:
MinimumDistance
Computation of minimum distance between parts.
This option has only effect when the result is a clearance.
This option is only available if one of the following specifications is active:
- standard computation with a computation of clearance (see: SpecStdClearance in
).
- engineering connections of type "Check Clearance" are taken into account (see: CheckClearance in ).
- knowledges rules are taken into account (see method: ).

PenetrationVector
Computation of vector of penetration.
This option has only effect when the result is a clash.

Use method
to check if the desired computation of quantifier is available.

By default, Interference Simulation is created without computation of quantifier.
o GroupComputationType
enum GroupComputationType {
  AllAgainstAllInGroup,
  GroupAgainstGroup,
  GroupAgainstContext,
  AllAgainstAllInContext
}
Management of groups for Interference Simulation.
The interference simulation may have followings types of groups:
Parameters:
AllAgainstAllInGroup,
The computation takes into account all the occurrences against each other inside groups
GroupAgainstGroup,
The computation takes into account all the occurrences in a group against the others in other group.
GroupAgainstContext,
The computation takes into account all the occurrences of a group against the rest of the context. In that case, the context is the root of one occurrence in the group.
AllAgainstAllInContext,
The computation takes into account all the occurrences against each other inside context. In that case, the context is the root product.
o IntermediateRepresentation
enum IntermediateRepresentation {
  InterRepNone,
  InterRepAppend,
  InterRepComputeBetween
}
Management of intermediate representations for Interference Simulation, these options allow to take into account or not intermediate representations during interference computation.
Parameters:
InterRepNone
Intermediate representations are not taking into account for computation.
InterRepAppend
Intermediate representations are taking into account for computation.
InterRepComputeBetween
Intermediate representations are taking into account for computation and computation is also launched between them.

By default, Interference Simulation is created with the option: InterRepNone .
o SpecificationType
enum SpecificationType {
  SpecStdNone,
  SpecStdClash,
  SpecStdClearance
}
Interference Simulation Specification type of computation for the standard specification.
Parameters:
SpecStdNone
NO standard computation.
A specification (standard specification or engineering connection specification or knowledge rules specification) must always be active.
So, to remove the taking account of the standard specification (SpecStdNone), one of the others specifications (engineering connection specification with the option "No Check" unchecked or knowledge rules specification) has to be added before.
SpecStdClash
CLASH + CONTACT computation.
SpecStdClearance
CLASH + CONTACT + CLEARANCE computation.

By default, the Interferene Simulation is created with the standard specification = SpecStdClash.
o SpecificationTypeEngCnx
enum SpecificationTypeEngCnx {
  CheckNone,
  CheckNoClash,
  CheckContact,
  CheckClearance,
  NoCheck
}
Interference Simulation Specification type of computation for the use of engineering connection specification.
Parameters:
CheckNone
No use of engineering connection specification.
It means that the interference simulation uses: - the standard specification (see
) - or knowledge rules specification (see method: ).
CheckNoClash
to take into account engineering connection specifications of type "Check No Clash".
CheckContact
to take into account engineering connection specifications of type "Check Contact".
CheckClearance
to take into account engineering connection specifications of type "Check Clearance".
NoCheck
to take into account engineering connection specifications of type "No Check".
If this value is the only value used for engineering connection specification, standard specification must also be used. In this case the value of SpecificationType must be SpecStdClash or SpecStdClearance.

When engineering connection specification is used, one or many following values can be used simultaneously:
- CheckNoClash
- CheckContact
- CheckClearance
- NoCheck
So, use method
to specify the desired values or remove the value CheckNone value (see method: ) to activate all these previous values.

By default, Interference Simulation is created with the type: CheckNone

This object is included in the file: PLMIInterferenceSimulation.h
If needed, your Imakefile.mk should include the module: PLMInterferenceUseItf

Copyright © 1999-2014, Dassault Systèmes. All rights reserved.