#ifndef PROMECHSPRING_H
#define PROMECHSPRING_H
#include <ProToolkit.h>
#include <ProObjects.h>
#include <ProMechYDirection.h>
#include <ProMechValue.h>
PRO_BEGIN_C_DECLS
typedef struct pro_spring_prop_simple* ProMechSimpleSpringData;
typedef struct pro_spring_prop_ground* ProMechGroundSpringData;
typedef struct pro_spring_prop_advanced_int* ProMechAdvancedSpringData;
typedef enum {
PRO_MECH_SPRING_SIMPLE = 0,
PRO_MECH_SPRING_GROUND = 1,
PRO_MECH_SPRING_ADVANCED = 2
} ProMechSpringType;
extern ProError ProMechspringReferencesGet (ProMechItem* item,
ProMechGeomref** references);
/*
Purpose: Obtains the spring reference objects.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The spring.
Output Arguments:
references - ProArray of reference objects.The function allocates
memory for this argument. Use ProMechgeomrefProarrayFree()
to free it.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
PRO_TK_GENERAL_ERROR - A general error is encountered.
*/
extern ProError ProMechspringTypeGet (ProMechItem* item,
ProMechSpringType* type);
/*
Purpose: Obtains the spring type (simple, ground, advanced).
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The spring.
Output Arguments:
type - The spring type.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_GENERAL_ERROR - A general error is encountered.
*/
extern ProError ProMechspringSimpledataGet (ProMechItem* item,
ProMechSimpleSpringData* value);
/*
Purpose: Obtains the simple spring data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The spring.
Output Arguments:
value - The simple spring data. Free this using
ProMechsimplespringdataFree().
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_INVALID_TYPE - This item does not contain this type of data.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
PRO_TK_GENERAL_ERROR - A general error is encountered.
See Also:
ProMechspringTypeGet()
*/
extern ProError ProMechsimplespringdataTorsionalstiffnessGet (ProMechSimpleSpringData data,
ProMechExpression value);
/*
Purpose: Obtains the torsional stiffness. Use ProMathExpressionEvaluate()
to evaluate it.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The simple spring data.
Output Arguments:
value - The torsional stiffness.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechsimplespringdataFree (ProMechSimpleSpringData data);
/*
Purpose: Frees the memory for a Creo Simulate simple spring data handle.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The handle.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechspringGrounddataGet (ProMechItem* item,
ProMechGroundSpringData* value);
/*
Purpose: Obtains the 'to ground' spring data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The spring.
Output Arguments:
value - The 'to ground' spring data. Free this using
ProMechgroundspringdataFree().
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_INVALID_TYPE - This item does not contain this type of data.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
PRO_TK_GENERAL_ERROR - A general error is encountered.
See Also:
ProMechspringTypeGet()
*/
extern ProError ProMechgroundspringdataPropertiesGet (ProMechGroundSpringData data,
int* property_id);
/*
Purpose: Obtains the spring properties id for the 'to ground' spring data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The 'to ground' spring data.
Output Arguments:
property_id - The spring properties id.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechgroundspringdataCsysGet (ProMechGroundSpringData data,
ProMechGeomref* csys);
/*
Purpose: Obtains the coordinate system for the to ground spring data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The 'to ground' spring data.
Output Arguments:
csys - The reference coordinate system. Free this using
ProMechgeomrefFree().
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
*/
extern ProError ProMechgroundspringdataFree (ProMechGroundSpringData data);
/*
Purpose: Frees the memory for a Creo Simulate ground spring data handle.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The handle.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechspringAdvanceddataGet (ProMechItem* item,
ProMechAdvancedSpringData* value);
/*
Purpose: Obtains the advanced spring data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The spring.
Output Arguments:
value - The advanced spring data. Free this using
ProMechadvancedspringdataFree().
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_INVALID_TYPE - This item does not contain this type of data.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
PRO_TK_GENERAL_ERROR - A general error is encountered.
See Also:
ProMechspringTypeGet()
*/
extern ProError ProMechadvancedspringdataPropertiesGet (ProMechAdvancedSpringData data,
int* property_id);
/*
Purpose: Obtains the spring properties id for the advanced spring data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The advanced spring data.
Output Arguments:
property_id - The spring properties id.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechadvancedspringdataYdirectionGet (ProMechAdvancedSpringData data,
ProMechYDirection* ydir);
/*
Purpose: Obtains the Orientation handle for the advanced spring data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The advanced spring data.
Output Arguments:
ydir - The Orientation handle. Free this using ProMechydirectionFree()
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
*/
extern ProError ProMechadvancedspringdataRotationGet (ProMechAdvancedSpringData data,
double* rotation);
/*
Purpose: Obtains the additional rotation value of the advanced spring data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The advanced spring data.
Output Arguments:
rotation - The additional rotation (in degrees).
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechadvancedspringdataFree (ProMechAdvancedSpringData data);
/*
Purpose: Frees the memory for a Creo Simulate advanced spring data handle.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The handle.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechsimplespringdataExtensionalstiffnessGet (ProMechSimpleSpringData data,
ProMechExpression value);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechsimplespringdataExtensionalstiffnessValueGet() instead.
<p> Obtains the extensional stiffness. Use
ProMathExpressionEvaluate() to evaluate it.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The simple spring data.
Output Arguments:
value - The extensional stiffness.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechsimplespringdataExtensionalstiffnessValueGet (
ProMechSimpleSpringData data,
ProMechValue* value);
/*
Purpose: Obtains the extensional stiffness.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The data.
Output Arguments:
value - The value. Free this using ProMechvalueFree().
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
*/
extern ProError ProMechspringReferencesSet (ProMechItem* item, ProMechGeomref* references);
/*
Purpose: Sets the spring reference objects.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The spring.
references - ProArray of reference objects.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_CANT_ACCESS - Cannot access the object in the current mode.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
PRO_TK_CANT_MODIFY - Cannot modify the item.
PRO_TK_GENERAL_ERROR - A general error is encountered.
*/
extern ProError ProMechspringSimpledataSet (ProMechItem* item, ProMechSimpleSpringData value);
/*
Purpose: Sets the simple spring data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The spring.
value - The simple spring data.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_CANT_ACCESS - Cannot access the object in the current mode.
PRO_TK_CANT_WRITE - Subtype cannot be changed.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_CANT_MODIFY - Cannot modify the item.
PRO_TK_GENERAL_ERROR - A general error is encountered. unable to set
principal stiffness units.
*/
extern ProError ProMechsimplespringdataTorsionalstiffnessSet (ProMechSimpleSpringData data, ProMechExpression value);
/*
Purpose: Sets the torsional stiffness.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The simple spring data.
value - The torsional stiffness.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechsimplespringdataExtensionalstiffnessSet (ProMechSimpleSpringData data, ProMechExpression value);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechsimplespringdataExtensionalstiffnessValueSet() instead.
<p> Sets the extensional stiffness.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The simple spring data.
value - The extensional stiffness.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechsimplespringdataExtensionalstiffnessValueSet (
ProMechSimpleSpringData data,
ProMechValue value);
/*
Purpose: Sets extensional stiffness.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The data.
value - The value.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechsimplespringdataAlloc (ProMechSimpleSpringData* data);
/*
Purpose: Allocates the memory for a Creo Simulate simple spring data
handle.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
none
Output Arguments:
data - The handle.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
*/
extern ProError ProMechspringGrounddataSet (ProMechItem* item, ProMechGroundSpringData value);
/*
Purpose: Sets the 'to ground' spring data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The spring.
value - The 'to ground' spring data.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_CANT_ACCESS - Cannot access the object in the current mode.
PRO_TK_CANT_WRITE - Subtype cannot be changed.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_CANT_MODIFY - Cannot modify the item.
PRO_TK_GENERAL_ERROR - A general error is encountered.
*/
extern ProError ProMechgroundspringdataPropertiesSet (ProMechGroundSpringData data, int property_id);
/*
Purpose: Sets the spring properties id for the 'to ground' spring data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The 'to ground' spring data.
property_id - The spring properties id.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechgroundspringdataCsysSet (ProMechGroundSpringData data, ProMechGeomref csys);
/*
Purpose: Sets the coordinate system for the to ground spring data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The 'to ground' spring data.
csys - The reference coordinate system.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechgroundspringdataAlloc (ProMechGroundSpringData* data);
/*
Purpose: Allocates the memory for a Creo Simulate ground spring data
handle.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
none
Output Arguments:
data - The handle.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
*/
extern ProError ProMechspringAdvanceddataSet (ProMechItem* item, ProMechAdvancedSpringData value);
/*
Purpose: Sets the advanced spring data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The spring.
value - The advanced spring data.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_CANT_ACCESS - Cannot access the object in the current mode.
PRO_TK_CANT_WRITE - Subtype cannot be changed.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_CANT_MODIFY - Cannot modify the item.
PRO_TK_GENERAL_ERROR - A general error is encountered.
*/
extern ProError ProMechadvancedspringdataPropertiesSet (ProMechAdvancedSpringData data, int property_id);
/*
Purpose: Sets the spring properties id for the advanced spring data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The advanced spring data.
property_id - The spring properties id.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechadvancedspringdataYdirectionSet (ProMechAdvancedSpringData data, ProMechYDirection ydir);
/*
Purpose: Sets the Orientation handle for the advanced spring data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The advanced spring data.
ydir - The Orientation handle.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechadvancedspringdataRotationSet (ProMechAdvancedSpringData data, double rotation);
/*
Purpose: Sets the additional rotation value of the advanced spring data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The advanced spring data.
rotation - The additional rotation (in degrees).
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechadvancedspringdataAlloc (ProMechAdvancedSpringData* data);
/*
Purpose: Allocates the memory for a Creo Simulate advanced spring data
handle.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
none
Output Arguments:
data - The handle.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments are invalid.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
*/
PRO_END_C_DECLS
#endif /* PROMECHSPRING_H */