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

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

Created in NX6.0.0. More...

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

List of all members.

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.
NXOpen::Optimization::OptimizationBuilder::OptimizationAlgorithmType AlgorithmType ()
 Returns the algorithm type
Created in NX6.0.0.
void BuildAllConstraints ()
 Build all the constraints
Created in NX6.0.0.
void BuildAllObjectives ()
 Build all the objectives
Created in NX6.0.0.
void BuildAllVariables ()
 Build all the variables
Created in NX6.0.0.
NXOpen::Optimization::OptimizationBuilder::OptimizationConvergenceSpeedType ConvergenceSpeedType ()
 Returns the convergence speed type
Created in NX6.0.0.
std::vector
< NXOpen::Optimization::OptimizationBuilder::OptimizationConstraint
GetOptimizationConstraints ()
 Returns the constraints.
std::vector
< NXOpen::Optimization::OptimizationBuilder::OptimizationObjective
GetOptimizationObjectives ()
 Returns the objectives.
std::vector
< NXOpen::Optimization::OptimizationBuilder::OptimizationVariable
GetOptimizationVariables ()
 Returns the variables.
bool IsShowGraph ()
 Returns the property - is show graph
Created in NX6.0.0.
bool IsUpdateDisp ()
 Returns the property - is update display
Created in NX6.0.0.
int MaxNumberIteration ()
 Returns the maximum number of updates allowed without converging to a solutionthe maximum iterations time
Created in NX6.0.0.
int MaxTime ()
 Returns the maximum time allowed for this run in seconds
Created in NX6.0.0.
NXOpen::Optimization::OptimizationBuilder::OptimizationTargetType OptimizationType ()
 Returns the optimization type
Created in NX6.0.0.
double RelativeConvergenceCriteria ()
 Returns the relative criteria for optimizer to determine convergence.
void RemoveAllConstraints ()
 Remove all the constraints
Created in NX6.0.0.
void RemoveAllObjectives ()
 Remove all the objectives
Created in NX6.0.0.
void RemoveAllVariables ()
 Remove all the variables
Created in NX6.0.0.
void RunOptimization ()
 Run optimization process
Created in NX6.0.0.
void SetAbsoluteConvergenceCriteria (double absoluteConvergenceCriteria)
 Sets the absolute criteria for optimizer to determine convergence.
void SetAlgorithmType (NXOpen::Optimization::OptimizationBuilder::OptimizationAlgorithmType algorithmType)
 Sets the algorithm type
Created in NX6.0.0.
void SetConvergenceSpeedType (NXOpen::Optimization::OptimizationBuilder::OptimizationConvergenceSpeedType convergenceSpeedType)
 Sets the convergence speed type
Created in NX6.0.0.
void SetMaxNumberIteration (int maxNumberIteration)
 Sets the maximum number of updates allowed without converging to a solutionthe maximum iterations time
Created in NX6.0.0.
void SetMaxTime (int maxTime)
 Sets the maximum time allowed for this run in seconds
Created in NX6.0.0.
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.
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.
void SetOptimizationType (NXOpen::Optimization::OptimizationBuilder::OptimizationTargetType optimizationType)
 Sets the optimization type
Created in NX6.0.0.
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.
void SetRelativeConvergenceCriteria (double relativeConvergenceCriteria)
 Sets the relative criteria for optimizer to determine convergence.
void SetShowGraph (bool isShowGraph)
 Sets the property - is show graph
Created in NX6.0.0.
void SetStudyName (const NXString &studyName)
 Sets the study name which is unique in one part
Created in NX6.0.0.
void SetUpdateDisp (bool isUpdateDisp)
 Sets the property - is update display
Created in NX6.0.0.
NXString StudyName ()
 Returns the study name which is unique in one part
Created in NX6.0.0.

Detailed Description

Represents a Optimization::OptimizationBuilder
To create a new instance of this class, use 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

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

Returns the algorithm type
Created in NX6.0.0.



License requirements : None

Build all the constraints
Created in NX6.0.0.



License requirements : None

Build all the objectives
Created in NX6.0.0.



License requirements : None

Build all the variables
Created in NX6.0.0.



License requirements : None

Returns the convergence speed type
Created in NX6.0.0.



License requirements : None

Returns the constraints.

Returns:
Constraints
Created in NX6.0.0.

License requirements : None

Returns the objectives.

Returns:
Objectives
Created in NX6.0.0.

License requirements : None

Returns the variables.

Returns:
Variables
Created in NX6.0.0.

License requirements : None

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



License requirements : None

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



License requirements : None

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



License requirements : None

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



License requirements : None

Returns the optimization type
Created in NX6.0.0.



License requirements : None

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

Remove all the constraints
Created in NX6.0.0.



License requirements : None

Remove all the objectives
Created in NX6.0.0.



License requirements : None

Remove all the variables
Created in NX6.0.0.



License requirements : None

Run optimization process
Created in NX6.0.0.



License requirements : None

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

Sets the algorithm type
Created in NX6.0.0.



License requirements : None

Parameters:
algorithmTypealgorithmtype

Sets the convergence speed type
Created in NX6.0.0.



License requirements : None

Parameters:
convergenceSpeedTypeconvergencespeedtype

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

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
NOTE: The full Unicode character set is not supported for this parameter.
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
NOTE: The full Unicode character set is not supported for this parameter.
attributeObjectsObjective attribute object array
objectiveTypesObjective attribute type array
objectiveTargetValuesObjective target value array

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
NOTE: The full Unicode character set is not supported for this parameter.
attributeObjectsVariable attribute object array
variableTypesVariable attribute type array
variableLowerLimitValueVariable lower limit value array
variableUpperLimitValueVariable upper limit value array

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

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



License requirements : None

Parameters:
isShowGraphisshowgraph

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



License requirements : None

Parameters:
studyNamestudyname

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



License requirements : None

Parameters:
isUpdateDispisupdatedisp

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 2011 Siemens Product Lifecycle Management Software Inc. All Rights Reserved.