#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 */