#ifndef PROMECHBEAM_H
#define PROMECHBEAM_H
#include <ProToolkit.h>
#include <ProObjects.h>
#include <ProMechGeomref.h>
#include <ProMechYDirection.h>
PRO_BEGIN_C_DECLS
typedef struct pro_beam_prop_beam* ProMechBeamData;
typedef struct pro_beam_prop_truss* ProMechTrussData;
typedef struct pro_beam_prop_side* ProMechBeamSide;
typedef enum
{
PRO_MECH_BEAM_BEAM = 0,
PRO_MECH_BEAM_TRUSS = 1
} ProMechBeamType;
extern ProError ProMechbeamReferencesGet (ProMechItem* item,
ProMechGeomref** references);
/*
Purpose: Obtains the beam references.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam.
Output Arguments:
references - ProArray of beam entities. 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 ProMechbeamMaterialGet (ProMechItem* item,
ProName name);
/*
Purpose: Obtains the name of the material for the beam.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam.
Output Arguments:
name - The material name.
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 ProMechbeamMaterialIdGet (ProMechItem* item,
int* matl_id);
/*
Purpose: Obtains the id of the material for the beam.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam.
Output Arguments:
matl_id - The material 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.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_GENERAL_ERROR - A general error is encountered.
*/
extern ProError ProMechbeamTypeGet (ProMechItem* item,
ProMechBeamType* value);
/*
Purpose: Obtains the type of beam.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam.
Output Arguments:
value - The 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 ProMechbeamBeamdataGet (ProMechItem* item,
ProMechBeamData* value);
/*
Purpose: Obtains the beam data from this beam object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam.
Output Arguments:
value - The beam-related data. Free this using ProMechbeamdataFree().
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.
PRO_TK_INVALID_TYPE - This item does not contain this type of data.
See Also:
ProMechbeamTypeGet()
*/
extern ProError ProMechbeamTrussdataGet (ProMechItem* item,
ProMechTrussData* value);
/*
Purpose: Obtains the truss data from this beam object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam.
Output Arguments:
value - The truss-related data. Free this using ProMechtrussdataFree().
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.
PRO_TK_INVALID_TYPE - This item does not contain this type of data.
See Also:
ProMechbeamTypeGet()
*/
extern ProError ProMechbeamdataYdirectionGet (ProMechBeamData data,
ProMechYDirection* y_dir);
/*
Purpose: Obtains the beam Orientation handle.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam data
Output Arguments:
y_dir - 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 ProMechbeamdataSidesGet (ProMechBeamData data,
ProMechBeamSide** sides);
/*
Purpose: Obtains the two sides of the beam data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam data.
Output Arguments:
sides - ProArray of beam sides. The function allocates memory for this
argument. Use ProMechbeamsideProarrayFree 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_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
*/
extern ProError ProMechbeamdataXyshearGet (ProMechBeamData data,
double* shear_rel_xy);
/*
Purpose: Obtains the shear relative to the XY plane.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam data
Output Arguments:
shear_rel_xy - the shear value.
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 ProMechbeamdataXzshearGet (ProMechBeamData data,
double* shear_rel_xz);
/*
Purpose: Obtains the shear relative to the XZ plane.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam data
Output Arguments:
shear_rel_xz - the shear value.
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 ProMechbeamdataStressrecoveryGet (ProMechBeamData data,
ProBoolean* value);
/*
Purpose: Obtains whether or not Creo Simulate will include beam stress
recovery points in analyses (FEM mode only).
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam data
Output Arguments:
value - The stress recovery flag for the beam.
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 ProMechbeamdataCompcrvrelGet (ProMechBeamData data,
ProBoolean* value);
/*
Purpose: Obtains whether the beam releases are applied to the ends of the
individual segments of the selected composite curves (PRO_B_TRUE)
or only to the ends of the composite curves themselves
(PRO_B_FALSE).
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam data
Output Arguments:
value - The composite curve release flag for the beam.
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 ProMechbeamdataFree (ProMechBeamData data);
/*
Purpose: Frees the memory for a Creo Simulate beam 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 ProMechbeamsideSectionGet (ProMechBeamSide handle,
int* section);
/*
Purpose: Obtains the beam section id for this beam side.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
handle - The beam side.
Output Arguments:
section - The beam section 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 ProMechbeamsideOrientGet (ProMechBeamSide handle,
int* orient);
/*
Purpose: Obtains the beam orientation id for this beam side.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
handle - The beam side.
Output Arguments:
orient - The beam orientation 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 ProMechbeamsideReleaseGet (ProMechBeamSide handle,
int* release);
/*
Purpose: Obtains the beam release id for this beam side.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
handle - The beam side.
Output Arguments:
release - The beam release 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 ProMechbeamsideFree (ProMechBeamSide handle);
/*
Purpose: Frees the memory for a Creo Simulate beam side handle.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
handle - 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 ProMechbeamsideProarrayFree (ProMechBeamSide* handle);
/*
Purpose: Frees the memory for a ProArray of Creo Simulate beam side
handles.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
handle - 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 ProMechtrussdataSectionGet (ProMechTrussData data,
int* section);
/*
Purpose: Obtains the beam section id for the truss data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The truss data.
Output Arguments:
section - The beam section 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 ProMechtrussdataFree (ProMechTrussData data);
/*
Purpose: Frees the memory for a Creo Simulate truss 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 ProMechbeamReferencesSet (ProMechItem* item, ProMechGeomref* references);
/*
Purpose: Sets the beam references.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam.
references - ProArray of beam entities.
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.
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.
PRO_TK_CANT_MODIFY - Cannot modify the item.
PRO_TK_CANT_ACCESS - Cannot access the object in the current mode.
*/
extern ProError ProMechbeamMaterialIdSet (ProMechItem* item, int matl_id);
/*
Purpose: Sets the beam material id into this beam object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam.
matl_id - The material 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.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_GENERAL_ERROR - A general error is encountered.
PRO_TK_CANT_MODIFY - Cannot modify the item.
PRO_TK_CANT_ACCESS - Cannot access the object in the current mode.
*/
extern ProError ProMechbeamBeamdataSet (ProMechItem* item, ProMechBeamData data);
/*
Purpose: Sets the beam data from this beam object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam.
data - The beam 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_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.
PRO_TK_CANT_MODIFY - Cannot modify the item.
PRO_TK_CANT_ACCESS - Cannot access the object in the current mode.
PRO_TK_CANT_WRITE - Subtype cannot be changed.
*/
extern ProError ProMechbeamTrussdataSet (ProMechItem* item, ProMechTrussData data);
/*
Purpose: Sets the truss data from this beam object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam.
data - The beam truss 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_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.
PRO_TK_CANT_MODIFY - Cannot modify the item.
PRO_TK_CANT_ACCESS - Cannot access the object in the current mode.
PRO_TK_CANT_WRITE - Subtype cannot be changed.
*/
extern ProError ProMechbeamdataYdirectionSet (ProMechBeamData data, ProMechYDirection y_dir);
/*
Purpose: Sets the beam Orientation handle.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam data
y_dir - 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 ProMechbeamdataSidesSet (ProMechBeamData data, ProMechBeamSide* sides);
/*
Purpose: Sets the two sides of the beam data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam data.
sides - ProArray of beam sides.
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 ProMechbeamdataXyshearSet (ProMechBeamData data, double shear_rel_xy);
/*
Purpose: Sets the shear relative to the XY plane.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam data
shear_rel_xy - the shear 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 ProMechbeamdataXzshearSet (ProMechBeamData data, double shear_rel_xz);
/*
Purpose: Sets the shear relative to the XZ plane.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam data
shear_rel_xz - the shear 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 ProMechbeamdataStressrecoverySet (ProMechBeamData data, ProBoolean value);
/*
Purpose: Sets whether or not Creo Simulate will include beam stress
recovery points in analyses (FEM mode only).
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam data
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 ProMechbeamdataCompcrvrelSet (ProMechBeamData data,
ProBoolean value);
/*
Purpose: Sets whether the beam releases are applied to the ends of the
individual segments of the selected composite curves (PRO_B_TRUE)
or only to the ends of the composite curves themselves
(PRO_B_FALSE).
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam data
value - The composite curve release flag for the beam.
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 ProMechbeamdataAlloc ( ProMechBeamData* data);
/*
Purpose: Allocates the memory for a Creo Simulate beam 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 ProMechbeamsideSectionSet (ProMechBeamSide handle, int section);
/*
Purpose: Sets the beam section id for this beam side.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
handle - The beam side.
section - The beam section 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 ProMechbeamsideOrientSet (ProMechBeamSide handle, int orient);
/*
Purpose: Sets the beam orientation id for this beam side.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
handle - The beam side.
orient - The beam orientation 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 ProMechbeamsideReleaseSet (ProMechBeamSide handle, int release);
/*
Purpose: Sets the beam release id for this beam side.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
handle - The beam side.
release - The beam release 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 ProMechbeamsideAlloc (ProMechBeamSide* handle);
/*
Purpose: Allocates the memory for a Creo Simulate beam side handle.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
handle - 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.
PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
*/
extern ProError ProMechtrussdataSectionSet (ProMechTrussData data, int section);
/*
Purpose: Sets the beam section id for the truss data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The truss data.
section - The beam section 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 ProMechtrussdataAlloc (ProMechTrussData* data);
/*
Purpose: Allocates the memory for a Creo Simulate truss 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.
PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
*/
PRO_END_C_DECLS
#endif /* PROMECHBEAM_H */