NX Open C++ Reference Guide
Classes | Public Types | Public Member Functions | List of all members
NXOpen::Optimization::OptimizationBuilder Class Reference

Represents a NXOpen::Optimization::OptimizationBuilder
To create a new instance of this class, use NXOpen::Optimization::OptimizationCollection::CreateOptimizationBuilder

Created in NX6.0.0. More...

Inheritance diagram for NXOpen::Optimization::OptimizationBuilder:
NXOpen::Builder NXOpen::TaggedObject NXOpen::GeometricUtilities::IComponentBuilder

Classes

struct  OptimizationConstraint
 Defined constraint structure. More...
 
struct  OptimizationObjective
 Defined Objective Structure. More...
 
struct  OptimizationVariable
 Defined variable structure. More...
 

Public Types

enum  OptimizationAlgorithmType {
  OptimizationAlgorithmTypeSimulatedAnnealing, OptimizationAlgorithmTypeGlobalSimplex, OptimizationAlgorithmTypePowell, OptimizationAlgorithmTypeConjugateGradient,
  OptimizationAlgorithmTypeLexicographic, OptimizationAlgorithmTypePatternSwarm
}
 Algorithm type. More...
 
enum  OptimizationAttributeType { OptimizationAttributeTypeExpression, OptimizationAttributeTypeKFAttribute, OptimizationAttributeTypeGeometryParameter }
 Attribute type. More...
 
enum  OptimizationConstraintLimitType { OptimizationConstraintLimitTypeUpper, OptimizationConstraintLimitTypeLower }
 Constraint limit type. More...
 
enum  OptimizationConvergenceSpeedType { OptimizationConvergenceSpeedTypeSlow, OptimizationConvergenceSpeedTypeMedium, OptimizationConvergenceSpeedTypeFast, OptimizationConvergenceSpeedTypeInfinite }
 Convergence speed type. More...
 
enum  OptimizationTargetType { OptimizationTargetTypeMinimum, OptimizationTargetTypeMaximum, OptimizationTargetTypeTarget }
 Optimization type for objective. More...
 

Public Member Functions

double AbsoluteConvergenceCriteria ()
 Returns the absolute criteria for optimizer to determine convergence. More...
 
NXOpen::Optimization::OptimizationBuilder::OptimizationAlgorithmType AlgorithmType ()
 Returns the algorithm type
Created in NX6.0.0. More...
 
void BuildAllConstraints ()
 Build all the constraints
Created in NX6.0.0. More...
 
void BuildAllObjectives ()
 Build all the objectives
Created in NX6.0.0. More...
 
void BuildAllVariables ()
 Build all the variables
Created in NX6.0.0. More...
 
NXOpen::Optimization::OptimizationBuilder::OptimizationConvergenceSpeedType ConvergenceSpeedType ()
 Returns the convergence speed type
Created in NX6.0.0. More...
 
std::vector
< NXOpen::Optimization::OptimizationBuilder::OptimizationConstraint
GetOptimizationConstraints ()
 Returns the constraints. More...
 
std::vector
< NXOpen::Optimization::OptimizationBuilder::OptimizationObjective
GetOptimizationObjectives ()
 Returns the objectives. More...
 
std::vector
< NXOpen::Optimization::OptimizationBuilder::OptimizationVariable
GetOptimizationVariables ()
 Returns the variables. More...
 
bool IsShowGraph ()
 Returns the property - is show graph
Created in NX6.0.0. More...
 
bool IsUpdateDisp ()
 Returns the property - is update display
Created in NX6.0.0. More...
 
int MaxNumberIteration ()
 Returns the maximum number of updates allowed without converging to a solutionthe maximum iterations time
Created in NX6.0.0. More...
 
int MaxTime ()
 Returns the maximum time allowed for this run in seconds
Created in NX6.0.0. More...
 
NXOpen::Optimization::OptimizationBuilder::OptimizationTargetType OptimizationType ()
 Returns the optimization type
Created in NX6.0.0. More...
 
double RelativeConvergenceCriteria ()
 Returns the relative criteria for optimizer to determine convergence. More...
 
void RemoveAllConstraints ()
 Remove all the constraints
Created in NX6.0.0. More...
 
void RemoveAllObjectives ()
 Remove all the objectives
Created in NX6.0.0. More...
 
void RemoveAllVariables ()
 Remove all the variables
Created in NX6.0.0. More...
 
void RunOptimization ()
 Run optimization process
Created in NX6.0.0. More...
 
void SetAbsoluteConvergenceCriteria (double absoluteConvergenceCriteria)
 Sets the absolute criteria for optimizer to determine convergence. More...
 
void SetAlgorithmType (NXOpen::Optimization::OptimizationBuilder::OptimizationAlgorithmType algorithmType)
 Sets the algorithm type
Created in NX6.0.0. More...
 
void SetConvergenceSpeedType (NXOpen::Optimization::OptimizationBuilder::OptimizationConvergenceSpeedType convergenceSpeedType)
 Sets the convergence speed type
Created in NX6.0.0. More...
 
void SetMaxNumberIteration (int maxNumberIteration)
 Sets the maximum number of updates allowed without converging to a solutionthe maximum iterations time
Created in NX6.0.0. More...
 
void SetMaxTime (int maxTime)
 Sets the maximum time allowed for this run in seconds
Created in NX6.0.0. More...
 
void SetOptimizationConstraints (std::vector< NXString > &attributeNames, const std::vector< NXOpen::NXObject * > &attributeObjects, const std::vector< NXOpen::Optimization::OptimizationBuilder::OptimizationAttributeType > &constraintTypes, const std::vector< double > &constraintLowerLimitValue, const std::vector< double > &constraintUpperLimitValue, const std::vector< NXOpen::Optimization::OptimizationBuilder::OptimizationConstraintLimitType > &constraintLimitType)
 Sets the constraints
Created in NX6.0.0. More...
 
void SetOptimizationObjectives (std::vector< NXString > &attributeNames, const std::vector< NXOpen::NXObject * > &attributeObjects, const std::vector< NXOpen::Optimization::OptimizationBuilder::OptimizationAttributeType > &objectiveTypes, const std::vector< double > &objectiveTargetValues)
 Sets the objectives
Created in NX6.0.0. More...
 
void SetOptimizationType (NXOpen::Optimization::OptimizationBuilder::OptimizationTargetType optimizationType)
 Sets the optimization type
Created in NX6.0.0. More...
 
void SetOptimizationVariables (std::vector< NXString > &attributeNames, const std::vector< NXOpen::NXObject * > &attributeObjects, const std::vector< NXOpen::Optimization::OptimizationBuilder::OptimizationAttributeType > &variableTypes, const std::vector< double > &variableLowerLimitValue, const std::vector< double > &variableUpperLimitValue)
 Sets the variables
Created in NX6.0.0. More...
 
void SetRelativeConvergenceCriteria (double relativeConvergenceCriteria)
 Sets the relative criteria for optimizer to determine convergence. More...
 
void SetShowGraph (bool isShowGraph)
 Sets the property - is show graph
Created in NX6.0.0. More...
 
void SetStudyName (const NXString &studyName)
 Sets the study name which is unique in one part
Created in NX6.0.0. More...
 
void SetStudyName (const char *studyName)
 Sets the study name which is unique in one part
Created in NX6.0.0. More...
 
void SetUpdateDisp (bool isUpdateDisp)
 Sets the property - is update display
Created in NX6.0.0. More...
 
NXString StudyName ()
 Returns the study name which is unique in one part
Created in NX6.0.0. More...
 
- Public Member Functions inherited from NXOpen::Builder
NXOpen::NXObjectCommit ()
 Commits any edits that have been applied to the builder. More...
 
void Destroy ()
 Deletes the builder, and cleans up any objects created by the builder. More...
 
std::vector< NXOpen::NXObject * > GetCommittedObjects ()
 For builders that create more than one object, this method returns the objects that are created by commit. More...
 
NXOpen::NXObjectGetObject ()
 Returns the object currently being edited by this builder. More...
 
void ShowResults ()
 Updates the model to reflect the result of an edit to the model for all builders that support showing results. More...
 
virtual bool Validate ()
 Validate whether the inputs to the component are sufficient for commit to be called. More...
 
- Public Member Functions inherited from NXOpen::TaggedObject
tag_t Tag () const
 Returns the tag of this object. More...
 

Detailed Description

Represents a NXOpen::Optimization::OptimizationBuilder
To create a new instance of this class, use NXOpen::Optimization::OptimizationCollection::CreateOptimizationBuilder

Created in NX6.0.0.


Member Enumeration Documentation

Algorithm type.

Enumerator
OptimizationAlgorithmTypeSimulatedAnnealing 

Simulated annealing.

OptimizationAlgorithmTypeGlobalSimplex 

Global simplex.

OptimizationAlgorithmTypePowell 

Powell.

OptimizationAlgorithmTypeConjugateGradient 

Conjugate gradient.

OptimizationAlgorithmTypeLexicographic 

Lexicographic.

OptimizationAlgorithmTypePatternSwarm 

Pattern swarm.

Attribute type.

Enumerator
OptimizationAttributeTypeExpression 

Expression attribute.

OptimizationAttributeTypeKFAttribute 

KF attribute.

OptimizationAttributeTypeGeometryParameter 

Geometry/feature parameter attribute.

Constraint limit type.

Enumerator
OptimizationConstraintLimitTypeUpper 

Upper limit.

OptimizationConstraintLimitTypeLower 

Lower limit.

Convergence speed type.

Enumerator
OptimizationConvergenceSpeedTypeSlow 

Slow convergence speed.

OptimizationConvergenceSpeedTypeMedium 

Medium convergence speed.

OptimizationConvergenceSpeedTypeFast 

Fast convergence speed.

OptimizationConvergenceSpeedTypeInfinite 

Infinite convergence speed.

Optimization type for objective.

Enumerator
OptimizationTargetTypeMinimum 

Target is minimum value of design objective.

OptimizationTargetTypeMaximum 

Target is maximum value of design objective.

OptimizationTargetTypeTarget 

Target is specified value of design objective.

Member Function Documentation

double NXOpen::Optimization::OptimizationBuilder::AbsoluteConvergenceCriteria ( )

Returns the absolute criteria for optimizer to determine convergence.

This value is multiplied by the first objective result,and if the difference in last two objective results is less than this, then it is converged
Created in NX6.0.0.

License requirements : None

NXOpen::Optimization::OptimizationBuilder::OptimizationAlgorithmType NXOpen::Optimization::OptimizationBuilder::AlgorithmType ( )

Returns the algorithm type
Created in NX6.0.0.



License requirements : None

void NXOpen::Optimization::OptimizationBuilder::BuildAllConstraints ( )

Build all the constraints
Created in NX6.0.0.



License requirements : None

void NXOpen::Optimization::OptimizationBuilder::BuildAllObjectives ( )

Build all the objectives
Created in NX6.0.0.



License requirements : None

void NXOpen::Optimization::OptimizationBuilder::BuildAllVariables ( )

Build all the variables
Created in NX6.0.0.



License requirements : None

NXOpen::Optimization::OptimizationBuilder::OptimizationConvergenceSpeedType NXOpen::Optimization::OptimizationBuilder::ConvergenceSpeedType ( )

Returns the convergence speed type
Created in NX6.0.0.



License requirements : None

std::vector<NXOpen::Optimization::OptimizationBuilder::OptimizationConstraint> NXOpen::Optimization::OptimizationBuilder::GetOptimizationConstraints ( )

Returns the constraints.

Returns
Constraints
Created in NX6.0.0.

License requirements : None
std::vector<NXOpen::Optimization::OptimizationBuilder::OptimizationObjective> NXOpen::Optimization::OptimizationBuilder::GetOptimizationObjectives ( )

Returns the objectives.

Returns
Objectives
Created in NX6.0.0.

License requirements : None
std::vector<NXOpen::Optimization::OptimizationBuilder::OptimizationVariable> NXOpen::Optimization::OptimizationBuilder::GetOptimizationVariables ( )

Returns the variables.

Returns
Variables
Created in NX6.0.0.

License requirements : None
bool NXOpen::Optimization::OptimizationBuilder::IsShowGraph ( )

Returns the property - is show graph
Created in NX6.0.0.



License requirements : None

bool NXOpen::Optimization::OptimizationBuilder::IsUpdateDisp ( )

Returns the property - is update display
Created in NX6.0.0.



License requirements : None

int NXOpen::Optimization::OptimizationBuilder::MaxNumberIteration ( )

Returns the maximum number of updates allowed without converging to a solutionthe maximum iterations time
Created in NX6.0.0.



License requirements : None

int NXOpen::Optimization::OptimizationBuilder::MaxTime ( )

Returns the maximum time allowed for this run in seconds
Created in NX6.0.0.



License requirements : None

NXOpen::Optimization::OptimizationBuilder::OptimizationTargetType NXOpen::Optimization::OptimizationBuilder::OptimizationType ( )

Returns the optimization type
Created in NX6.0.0.



License requirements : None

double NXOpen::Optimization::OptimizationBuilder::RelativeConvergenceCriteria ( )

Returns the relative criteria for optimizer to determine convergence.

If one minus the ratio of the last two iterations is less than this value, the solution is converged
Created in NX6.0.0.

License requirements : None

void NXOpen::Optimization::OptimizationBuilder::RemoveAllConstraints ( )

Remove all the constraints
Created in NX6.0.0.



License requirements : None

void NXOpen::Optimization::OptimizationBuilder::RemoveAllObjectives ( )

Remove all the objectives
Created in NX6.0.0.



License requirements : None

void NXOpen::Optimization::OptimizationBuilder::RemoveAllVariables ( )

Remove all the variables
Created in NX6.0.0.



License requirements : None

void NXOpen::Optimization::OptimizationBuilder::RunOptimization ( )

Run optimization process
Created in NX6.0.0.



License requirements : None

void NXOpen::Optimization::OptimizationBuilder::SetAbsoluteConvergenceCriteria ( double  absoluteConvergenceCriteria)

Sets the absolute criteria for optimizer to determine convergence.

This value is multiplied by the first objective result,and if the difference in last two objective results is less than this, then it is converged
Created in NX6.0.0.

License requirements : None

Parameters
absoluteConvergenceCriteriaabsoluteconvergencecriteria
void NXOpen::Optimization::OptimizationBuilder::SetAlgorithmType ( NXOpen::Optimization::OptimizationBuilder::OptimizationAlgorithmType  algorithmType)

Sets the algorithm type
Created in NX6.0.0.



License requirements : None

Parameters
algorithmTypealgorithmtype
void NXOpen::Optimization::OptimizationBuilder::SetConvergenceSpeedType ( NXOpen::Optimization::OptimizationBuilder::OptimizationConvergenceSpeedType  convergenceSpeedType)

Sets the convergence speed type
Created in NX6.0.0.



License requirements : None

Parameters
convergenceSpeedTypeconvergencespeedtype
void NXOpen::Optimization::OptimizationBuilder::SetMaxNumberIteration ( int  maxNumberIteration)

Sets the maximum number of updates allowed without converging to a solutionthe maximum iterations time
Created in NX6.0.0.



License requirements : None

Parameters
maxNumberIterationmaxnumberiteration
void NXOpen::Optimization::OptimizationBuilder::SetMaxTime ( int  maxTime)

Sets the maximum time allowed for this run in seconds
Created in NX6.0.0.



License requirements : None

Parameters
maxTimemaxtime
void NXOpen::Optimization::OptimizationBuilder::SetOptimizationConstraints ( std::vector< NXString > &  attributeNames,
const std::vector< NXOpen::NXObject * > &  attributeObjects,
const std::vector< NXOpen::Optimization::OptimizationBuilder::OptimizationAttributeType > &  constraintTypes,
const std::vector< double > &  constraintLowerLimitValue,
const std::vector< double > &  constraintUpperLimitValue,
const std::vector< NXOpen::Optimization::OptimizationBuilder::OptimizationConstraintLimitType > &  constraintLimitType 
)

Sets the constraints
Created in NX6.0.0.



License requirements : None

Parameters
attributeNamesConstraint attribute name array
attributeObjectsConstraint attribute type array
constraintTypesConstraint attribute type array
constraintLowerLimitValueConstraint lower limit value array
constraintUpperLimitValueConstraint upper limit value array
constraintLimitTypeConstraint atribute limit type array
void NXOpen::Optimization::OptimizationBuilder::SetOptimizationObjectives ( std::vector< NXString > &  attributeNames,
const std::vector< NXOpen::NXObject * > &  attributeObjects,
const std::vector< NXOpen::Optimization::OptimizationBuilder::OptimizationAttributeType > &  objectiveTypes,
const std::vector< double > &  objectiveTargetValues 
)

Sets the objectives
Created in NX6.0.0.



License requirements : None

Parameters
attributeNamesObjective attribute name array
attributeObjectsObjective attribute object array
objectiveTypesObjective attribute type array
objectiveTargetValuesObjective target value array
void NXOpen::Optimization::OptimizationBuilder::SetOptimizationType ( NXOpen::Optimization::OptimizationBuilder::OptimizationTargetType  optimizationType)

Sets the optimization type
Created in NX6.0.0.



License requirements : None

Parameters
optimizationTypeoptimizationtype
void NXOpen::Optimization::OptimizationBuilder::SetOptimizationVariables ( std::vector< NXString > &  attributeNames,
const std::vector< NXOpen::NXObject * > &  attributeObjects,
const std::vector< NXOpen::Optimization::OptimizationBuilder::OptimizationAttributeType > &  variableTypes,
const std::vector< double > &  variableLowerLimitValue,
const std::vector< double > &  variableUpperLimitValue 
)

Sets the variables
Created in NX6.0.0.



License requirements : None

Parameters
attributeNamesVariable attribute name array
attributeObjectsVariable attribute object array
variableTypesVariable attribute type array
variableLowerLimitValueVariable lower limit value array
variableUpperLimitValueVariable upper limit value array
void NXOpen::Optimization::OptimizationBuilder::SetRelativeConvergenceCriteria ( double  relativeConvergenceCriteria)

Sets the relative criteria for optimizer to determine convergence.

If one minus the ratio of the last two iterations is less than this value, the solution is converged
Created in NX6.0.0.

License requirements : None

Parameters
relativeConvergenceCriteriarelativeconvergencecriteria
void NXOpen::Optimization::OptimizationBuilder::SetShowGraph ( bool  isShowGraph)

Sets the property - is show graph
Created in NX6.0.0.



License requirements : None

Parameters
isShowGraphisshowgraph
void NXOpen::Optimization::OptimizationBuilder::SetStudyName ( const NXString studyName)

Sets the study name which is unique in one part
Created in NX6.0.0.



License requirements : None

Parameters
studyNamestudyname
void NXOpen::Optimization::OptimizationBuilder::SetStudyName ( const char *  studyName)

Sets the study name which is unique in one part
Created in NX6.0.0.



License requirements : None

Parameters
studyNamestudyname
void NXOpen::Optimization::OptimizationBuilder::SetUpdateDisp ( bool  isUpdateDisp)

Sets the property - is update display
Created in NX6.0.0.



License requirements : None

Parameters
isUpdateDispisupdatedisp
NXString NXOpen::Optimization::OptimizationBuilder::StudyName ( )

Returns the study name which is unique in one part
Created in NX6.0.0.



License requirements : None


The documentation for this class was generated from the following file:
Copyright 2017 Siemens Product Lifecycle Management Software Inc. All Rights Reserved.