#ifndef PROMECHINTERFACE_H
#define PROMECHINTERFACE_H
#include <ProToolkit.h>
#include <ProObjects.h>
#include <ProMechValue.h>
PRO_BEGIN_C_DECLS
typedef enum
{
PRO_MECH_INTERFACE_BOND_STRUCT = 0,
PRO_MECH_INTERFACE_BONDED = PRO_MECH_INTERFACE_BOND_STRUCT, /* old */
PRO_MECH_INTERFACE_FREE_STRUCT = 1,
PRO_MECH_INTERFACE_FREE = PRO_MECH_INTERFACE_FREE_STRUCT, /* old */
PRO_MECH_INTERFACE_BOND_THERM = 2,
PRO_MECH_INTERFACE_FREE_THERM = 3,
PRO_MECH_INTERFACE_CONTACT_STRUCT = 4,
PRO_MECH_INTERFACE_RESIST_THERM = 5
}
ProMechInterfaceType;
typedef enum
{
PRO_MECH_INTERFACE_FRICTION_NONE = PRO_VALUE_UNUSED,
PRO_MECH_INTERFACE_FRICTION_INFINITE = 0,
PRO_MECH_INTERFACE_FRICTION_FINITE = 1
}
ProMechInterfaceFrictionType;
typedef enum
{
PRO_MECH_INTERFACE_CALC_DETAIL_STRESS_DEFAULT = PRO_VALUE_UNUSED,
PRO_MECH_INTERFACE_CALC_DETAIL_STRESS_YES = 0,
PRO_MECH_INTERFACE_CALC_DETAIL_STRESS_NO = 1
}
ProMechInterfaceCalcDetailStressType;
/* To access model's default interface data,
* use ProMechItem with one of the following IDs : */
#define PRO_MECH_INTERFACE_DEFAULT_STRUCT_ID (-1)
#define PRO_MECH_INTERFACE_DEFAULT_THERM_ID (-2)
typedef struct pro_connection_prop_bond * ProMechInterfaceBondData;
typedef struct pro_connection_prop_free* ProMechInterfaceFreeData;
typedef struct pro_connection_prop_contact* ProMechInterfaceContactData;
typedef struct pro_connection_prop_thr_resist* ProMechInterfaceThrresistData;
extern ProError ProMechinterfaceReferencesGet (ProMechItem* item, ProMechGeomref** references);
/*
Purpose: Obtains the references used by this interface.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The interface.
Output Arguments:
references - ProArray of references. Free this using
ProMechgeomrefProarrayFree().
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_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
*/
extern ProError ProMechinterfaceReferencesSet (ProMechItem* item, ProMechGeomref* references);
/*
Purpose: Sets the references used by this interface.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The interface.
references - ProArray of references.
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_CANT_MODIFY - Cannot modify the item.
PRO_TK_GENERAL_ERROR - A general error is encountered.
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.
*/
extern ProError ProMechinterfaceTypeGet (ProMechItem* item, ProMechInterfaceType* type);
/*
Purpose: Obtains the type of the interface
(Bonded/Free/Contact/ThermalResistance).
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The interface.
Output Arguments:
type - 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 ProMechinterfaceBonddataGet (ProMechItem* item, ProMechInterfaceBondData* data);
/*
Purpose: Obtains the handle to bonded interface data from the object
handle.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The interface.
Output Arguments:
data - The handle to the interface data. Free this using
ProMechinterfaceBonddataFree().
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
interface.
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 ProMechinterfacebonddataAlloc (ProMechInterfaceBondData* data);
/*
Purpose: Allocates the memory for a Creo Simulate bonded interface 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 ProMechinterfacebonddataFree (ProMechInterfaceBondData data);
/*
Purpose: Frees the memory for a Creo Simulate bonded interface 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 ProMechinterfaceBonddataSet (ProMechItem* item, ProMechInterfaceBondData data);
/*
Purpose: Assigns bonded interface data to the interface object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The interface.
data - handle to the interface 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.
PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
*/
extern ProError ProMechinterfaceFreedataGet (ProMechItem* item, ProMechInterfaceFreeData* data);
/*
Purpose: Obtains the handle to free Interface data from the object handle.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The interface.
Output Arguments:
data - The handle to the Free interface data. Free this using
ProMechinterfaceFreedataFree().
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
interface.
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_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
*/
extern ProError ProMechinterfacefreedataAlloc (ProMechInterfaceFreeData* data);
/*
Purpose: Allocates the memory for a Creo Simulate free interface 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 ProMechinterfacefreedataFree (ProMechInterfaceFreeData data);
/*
Purpose: Frees the memory for a Creo Simulate free interface 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 ProMechinterfaceFreedataSet (ProMechItem* item, ProMechInterfaceFreeData data);
/*
Purpose: Assigns the free interface data to the interface object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The interface.
data - handle to the interface 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_GENERAL_ERROR - A general error is encountered.
PRO_TK_CANT_MODIFY - Cannot modify the item.
*/
extern ProError ProMechinterfaceContactdataGet (ProMechItem* item, ProMechInterfaceContactData* data);
/*
Purpose: Obtains the handle to contact interface data from the object
handle.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The interface.
Output Arguments:
data - The handle to the interface data. Free this using
ProMechinterfaceContactdataFree().
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
interface.
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_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
*/
extern ProError ProMechinterfacecontactdataAlloc (ProMechInterfaceContactData* data);
/*
Purpose: Allocates the memory for a Creo Simulate contact interface 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 ProMechinterfacecontactdataFree (ProMechInterfaceContactData data);
/*
Purpose: Frees the memory for a Creo Simulate contact interface 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 ProMechinterfaceContactdataSet (ProMechItem* item, ProMechInterfaceContactData data);
/*
Purpose: Assigns the contact interface data to the interface object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The interface.
data - handle to the interface 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_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.
*/
extern ProError ProMechinterfaceThrresistdataGet (ProMechItem* item, ProMechInterfaceThrresistData* data);
/*
Purpose: Obtains the handle to the thermal resistance interface data from
the object handle.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The interface.
Output Arguments:
data - The handle to the interface data. Free this using
ProMechinterfaceThrresistdataFree().
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
interface.
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 ProMechinterfacethrresistdataAlloc (ProMechInterfaceThrresistData* data);
/*
Purpose: Allocates the memory for a Creo Simulate thermal resistance
interface 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 ProMechinterfacethrresistdataFree (ProMechInterfaceThrresistData data);
/*
Purpose: Frees the memory for a Creo Simulate thermal resistance interface
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 ProMechinterfaceThrresistdataSet (ProMechItem* item, ProMechInterfaceThrresistData data);
/*
Purpose: Assigns the thermal resistance interface data to the interface
object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The interface.
data - The handle to the interface 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_CANT_MODIFY - Cannot modify the item.
PRO_TK_GENERAL_ERROR - A general error is encountered.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
*/
extern ProError ProMechbondinterfacedataMergenodesGet (ProMechInterfaceBondData data, ProBoolean* merge_nodes);
/*
Purpose: Obtains whether or not this bonded interface should merge
coincident nodes.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
Output Arguments:
merge_nodes - PRO_B_TRUE to merge nodes, PRO_B_FALSE otherwise.
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 ProMechbondinterfacedataMergenodesSet (ProMechInterfaceBondData data, ProBoolean merge_nodes);
/*
Purpose: Assigns whether or not this bonded interface should merge
coincident nodes.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
merge_nodes - PRO_B_TRUE to merge nodes, PRO_B_FALSE otherwise.
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 ProMechfreeinterfacedataSplitsurfacesGet (ProMechInterfaceFreeData data, ProBoolean* split_srf);
/*
Purpose: Obtains whether or not this free interface should split surfaces.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
Output Arguments:
split_srf - PRO_B_TRUE to split surfaces, PRO_B_FALSE otherwise.
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 ProMechfreeinterfacedataSplitsurfacesSet (ProMechInterfaceFreeData data, ProBoolean split_srf);
/*
Purpose: Sets whether or not this free interface should split surfaces.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
split_srf - PRO_B_TRUE to split surfaces, PRO_B_FALSE otherwise.
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 ProMechcontactinterfacedataSplitsurfacesGet (ProMechInterfaceContactData data, ProBoolean* split_srf);
/*
Purpose: Obtains whether or not this contact interface should split
surfaces.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
Output Arguments:
split_srf - PRO_B_TRUE to split surfaces, PRO_B_FALSE otherwise.
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 ProMechcontactinterfacedataSplitsurfacesSet (ProMechInterfaceContactData data, ProBoolean split_srf);
/*
Purpose: Sets whether or not this contact interface should split surfaces.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
split_srf - PRO_B_TRUE to split surfaces, PRO_B_FALSE otherwise.
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 ProMechcontactinterfacedataCompatiblemeshGet (ProMechInterfaceContactData data, ProBoolean* compatible_mesh);
/*
Purpose: Obtains whether or not this contact interface should create
compatible mesh.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
Output Arguments:
compatible_mesh - PRO_B_TRUE for compatible meshes, PRO_B_FALSE
otherwise.
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 ProMechcontactinterfacedataCompatiblemeshSet (ProMechInterfaceContactData data, ProBoolean compatible_mesh);
/*
Purpose: Sets whether or not this contact interface should create
compatible mesh. Setting this attribute also sets "split surfaces"
attribute.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
compatible_mesh - PRO_B_TRUE for compatible meshes, PRO_B_FALSE
otherwise.
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 ProMechcontactinterfacedataFrictionGet (ProMechInterfaceContactData data, ProMechInterfaceFrictionType * friction_type);
/*
Purpose: Obtains the type of Friction at the contact interface
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
Output Arguments:
friction_type - ProMechInterfaceFrictionType
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 ProMechcontactinterfacedataFrictionSet (ProMechInterfaceContactData data, ProMechInterfaceFrictionType friction_type);
/*
Purpose: Sets the type of Friction at the contact interface
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
friction_type - ProMechInterfaceFrictionType
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 ProMechcontactinterfacedataSlippageGet (ProMechInterfaceContactData data, ProBoolean * slippage);
/*
Purpose: Obtains whether or not this contact interface should check for
slippage between pairs of nodes.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
Output Arguments:
slippage - PRO_B_TRUE to check for slippage, PRO_B_FALSE otherwise.
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
interface.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechcontactinterfacedataSlippageSet (ProMechInterfaceContactData data, ProBoolean slippage);
/*
Purpose: Sets the flag whether or not this contact interface should check
for slippage between pairs of nodes.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
slippage - PRO_B_TRUE to check for slippage, PRO_B_FALSE otherwise.
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_CANT_WRITE - Subtype cannot be changed.
*/
extern ProError ProMechcontactinterfacedataCoefffrictionGet (ProMechInterfaceContactData data, ProMechExpression coeff_friction);
/*
Purpose: Obtains the coefficient of friction for this contact type
interface. Use ProMathExpressionEvaluate() to evaluate it.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
Output Arguments:
coeff_friction - The coefficient of friction.
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
interface.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechcontactinterfacedataDynamicCoefffrictionGet (ProMechInterfaceContactData data, ProMechExpression dyn_coeff_friction);
/*
Purpose: Obtains the dynamic coefficient of friction for this contact type
interface. Use ProMathExpressionEvaluate() to evaluate it.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
Output Arguments:
dyn_coeff_friction - The dynamic coefficient of friction.
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
interface.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechcontactinterfacedataCoefffrictionSet (ProMechInterfaceContactData data, ProMechExpression coeff_friction);
/*
Purpose: Sets the coefficient of friction for this contact type interface.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
coeff_friction - The coefficient of friction.
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_CANT_WRITE - Subtype cannot be changed.
*/
extern ProError ProMechcontactinterfacedataDynamicCoefffrictionSet (ProMechInterfaceContactData data, ProMechExpression dyn_coeff_friction);
/*
Purpose: Sets the dynamic coefficient of friction for this contact type
interface. The value being set should be less than or equal to the
value of static coefficient of friction for this interface.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
dyn_coeff_friction - The dynamic coefficient of friction.
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_CANT_WRITE - Subtype cannot be changed.
*/
extern ProError ProMechcontactinterfacedataDynamicCoeffSameAsStaticGet (ProMechInterfaceContactData data, ProBoolean * same_as_static);
/*
Purpose: Obtains whether or not the dynamic coefficient of friction is same
as the static coefficient of friction.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
Output Arguments:
same_as_static - PRO_B_TRUE if the dynamic coefficient of friction is
same as static coefficient of friction else
PRO_B_FALSE
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
interface.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
*/
extern ProError ProMechcontactinterfacedataDynamicCoeffSameAsStaticSet (ProMechInterfaceContactData data, ProBoolean same_as_static);
/*
Purpose: Sets whether or not the dynamic coefficient of friction is same as
the static coefficient of friction.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
same_as_static - PRO_B_TRUE if the dynamic coefficient of friction is
same as static coefficient of friction PRO_B_FALSE
otherwise.
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_CANT_WRITE - Subtype cannot be changed.
*/
extern ProError ProMechcontactinterfacedataUseSelectionFilterTolGet (ProMechInterfaceContactData data, ProBoolean * use_sel_filter_tol);
/*
Purpose: Obtains whether or not this contact interface should use the
selection filter tolerances between contact surfaces
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
Output Arguments:
use_sel_filter_tol - PRO_B_TRUE if Use Selection Filter Tolerances is
ON PRO_B_FALSE otherwise
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 ProMechcontactinterfacedataUseSelectionFilterTolSet (ProMechInterfaceContactData data, ProBoolean use_sel_filter_tol);
/*
Purpose: Obtains whether or not this contact interface should use the
selection filter tolerances between contact surfaces
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
use_sel_filter_tol - PRO_B_TRUE if Use Selection Filter Tolerances is
ON PRO_B_FALSE otherwise
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 ProMechcontactinterfacedataSeparationdistanceGet (ProMechInterfaceContactData data, double* sep_dist);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechcontactinterfacedataSeparationdistanceExprGet() instead.
<p> Obtains the separation distance for selection filter tolerance
for creating contacts between surfaces in a component-component
type interface.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
Output Arguments:
sep_dist - The Separation distance.
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 ProMechcontactinterfacedataSeparationdistanceExprGet (ProMechInterfaceContactData data, ProMechExpression sep_dist);
/*
Purpose: Obtains the separation distance for selection filter tolerance for
creating contacts between surfaces in a component-component type
interface. Use ProMathExpressionEvaluate() to evaluate it.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
Output Arguments:
sep_dist - The Separation distance.
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 ProMechcontactinterfacedataSeparationdistanceSet (ProMechInterfaceContactData data, double sep_dist);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechcontactinterfacedataSeparationdistanceExprSet() instead.
<p> Sets the separation distance for selection filter tolerance
while creating runtime contacts between surfaces in a
component-component type interface.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
sep_dist - The Separation distance.
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 ProMechcontactinterfacedataSeparationdistanceExprSet (ProMechInterfaceContactData data, ProMechExpression sep_dist);
/*
Purpose: Sets the separation distance for selection filter tolerance while
creating runtime contacts between surfaces in a
component-component type interface.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
sep_dist - The Separation distance.
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 ProMechcontactinterfacedataAnglebetweensurfacesGet (ProMechInterfaceContactData data, double* angle);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechcontactinterfacedataAnglebetweensurfacesExprGet() instead.
<p> Obtains the angle between surfaces for selection filter
tolerance while creating runtime contacts between surfaces in a
component-component type interface.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
Output Arguments:
angle - The angle 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 ProMechcontactinterfacedataAnglebetweensurfacesExprGet (ProMechInterfaceContactData data, ProMechExpression angle);
/*
Purpose: Obtains the angle between surfaces for selection filter tolerance
while creating runtime contacts between surfaces in a
component-component type interface. Use
ProMathExpressionEvaluate() to evaluate it.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
Output Arguments:
angle - The angle 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 ProMechcontactinterfacedataAnglebetweensurfacesSet (ProMechInterfaceContactData data, double angle);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechcontactinterfacedataAnglebetweensurfacesExprSet() instead.
<p> Sets the angle between surfaces for selection filter tolerance
while creating contacts between surfaces in a component-component
type interface.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
angle - The angle 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 ProMechcontactinterfacedataAnglebetweensurfacesExprSet (ProMechInterfaceContactData data, ProMechExpression angle);
/*
Purpose: Sets the angle between surfaces for selection filter tolerance
while creating contacts between surfaces in a component-component
type interface.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
angle - The angle 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 ProMechcontactinterfacedataCheckonlyplanarGet (ProMechInterfaceContactData data, ProBoolean* planar_only);
/*
Purpose: Obtains whether to check for contact between planar surfaces only,
for selection filter tolerance while creating runtime contacts
between surfaces in a component-component type interface.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
Output Arguments:
planar_only - PRO_B_TRUE to check for planar surface only, PRO_B_FALSE
otherwise.
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 ProMechcontactinterfacedataCheckonlyplanarSet (ProMechInterfaceContactData data, ProBoolean planar_only);
/*
Purpose: Sets whether to check for contact between planar surfaces only,
for selection filter tolerance for creating contacts between
surfaces in a component-component type interface.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
planar_only - PRO_B_TRUE to check for planar surface only, PRO_B_FALSE
otherwise.
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 ProMechthrresistinterfacedataConductivityGet (ProMechInterfaceThrresistData data, ProMechExpression conductivity);
/*
Purpose: Obtains the conductivity for the thermal resistance type
interface. Use ProMathExpressionEvaluate() to evaluate it.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
Output Arguments:
conductivity - The conductivity.
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 ProMechthrresistinterfacedataConductivitySet (ProMechInterfaceThrresistData data, ProMechExpression conductivity);
/*
Purpose: Sets the conductivity for the thermal resistance type interface.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The interface data.
conductivity - The conductivity.
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 ProMechinterfaceCompatiblemeshGet (ProMechItem* item, ProBoolean* compatible_mesh);
/*
Purpose: <B>Note:</B> From release Wildfire 4.0 this function is superseded
by ProMechinterfaceFreedataGet(). PTC recommends using the new
function in place of this function in all new or updated user
applications.
<P>Obtains whether or not this Free interface should create
compatible mesh (split surfaces).
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The interface.
Output Arguments:
compatible_mesh - the flag for compatible meshes.
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
interface.
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 ProMechinterfaceUselinksGet (ProMechItem* item, ProBoolean* use_links);
/*
Purpose: <B>Note:</B> From release Wildfire 4.0 this function is superseded
by ProMechinterfaceBonddataGet(). PTC recommends using the new
function in place of this function in all new or updated user
applications.
<P>Obtains whether or not this Bonded interface should use links.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The interface.
Output Arguments:
use_links - the flag for use links.
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
interface.
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 ProMechinterfaceDefaultGet (ProSolid owner, ProMechInterfaceType* default_type);
/*
Purpose: <B>Note:</B> From release Wildfire 4.0 this function is superseded
by ProMechinterfaceTypeGet() using a ProMechitem with the
appropriate special id. PTC recommends using the new function in
place of this function in all new or updated user applications.
<P>Obtains the default interface connecton type.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
owner - The solid model.
Output Arguments:
default_type - The default 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 ProMechinterfaceDefaultUselinksGet (ProSolid owner, ProBoolean* use_links);
/*
Purpose: <B>Note:</B> From release Wildfire 4.0 this function is superseded
by ProMechinterfaceBonddataGet() using a ProMechitem with the
appropriate special id. PTC recommends using the new function in
place of this function in all new or updated user applications.
<P>Obtains whether or not Bonded default interface should use
links.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
owner - The solid model.
Output Arguments:
use_links - the flag for use links.
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
interface.
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_END_C_DECLS
#endif /* PROMECHINTERFACE_H */