#ifndef PRORMDT_H
#define PRORMDT_H
#include <ProMfg.h>
PRO_BEGIN_C_DECLS
typedef enum pro_rmdt_mirror
{
MOLD_LAYOUT_MIRROR_NONE = 0,
MOLD_LAYOUT_MIRROR_X = 1,
MOLD_LAYOUT_MIRROR_Y = 2
} ProRmdtMirror;
typedef enum pro_rmdt_cavity_layout
{
CAVITY_LAYOUT_DEFAULT = 0,
CAVITY_LAYOUT_SINGLE = 1,
CAVITY_LAYOUT_MULTIPLE = 2,
CAVITY_LAYOUT_RADIAL = 3,
CAVITY_LAYOUT_MANUAL = 4,
CAVITY_LAYOUT_REFERENCE = 5
} ProRmdtCavityLayout;
typedef struct MOLD_ASSEM* ProMoldLayout;
typedef struct
{
int cavity_layout_type;
ProBoolean is_symmetric;
int mirror_type;
int num, num_x, num_y;
double offset_x, offset_y;
double inc_x, inc_y;
double r_dist, start_angle, inc_angle;
} ProDlgCavityLayoutData;
typedef struct
{
ProBoolean IsRect,
IsSym;
ProVector rect_dim,
rect_offset;
double radial_z,
radial_offset,
radial_diam;
ProVector allowance[2];
int size_ref_by_id;
} ProDlgWorkpieceData;
extern ProError ProMfgMoldLayoutGet ( PRO_CONST_ARG ProMfg mfg_handle,
ProMoldLayout* p_mold_layout);
/*
Purpose: Retrieves the mold layout of the specified manufacturing model.
Input Arguments:
mfg_handle - The handle to the manufacturing model
Output Arguments:
p_mold_layout - The handle to the mold layout
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_E_NOT_FOUND - The mold layout handle of the specified
manufacturing was not found.
*/
extern ProError ProRmdtRefModelInfoGet ( ProMoldLayout mold_layout,
int index,
double xyz_plus[3],
double xyz_minus[3],
double xyz_total[3]);
/*
Purpose: Retrieves the reference model information for the specified mold
layout.
Input Arguments:
mold_layout - The handle to the mold layout
index - The index of the reference model
Output Arguments:
xyz_plus - The upper boundaries of the reference model
xyz_minus - The lower boundaries of the reference model
xyz_total - The outline size of the reference model
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
PRO_TK_BAD_INPUTS - One or more of the input arguments are invalid.
*/
extern ProError ProRmdtWorkpieceInfoGet ( ProMoldLayout mold_layout,
int index,
double xyz_plus[3],
double xyz_minus[3],
double xyz_total[3]);
/*
Purpose: Retrieves the workpiece information for the specified mold layout.
Input Arguments:
mold_layout - The handle to the mold layout
index - The index of the workpiece
Output Arguments:
xyz_plus - The upper boundaries of the workpiece
xyz_minus - The lower boundaries of the workpiece
xyz_total - The outline size of the workpiece
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
PRO_TK_BAD_INPUTS - One or more of the input arguments are invalid.
*/
extern ProError ProRmdtMoldBaseInfoGet ( ProMoldLayout mold_layout,
char ***p_param_names,
wchar_t ***p_param_values,
int *p_param_num,
int *p_corner);
/*
Purpose: Retrieves the mold base information for the specified mold layout.
The function reuses memory.
Input Arguments:
mold_layout - The handle to the mold layout.
Output Arguments:
p_param_names - The array of parameter names of the mold base.
p_param_values - The array of parameter values of the mold base.
p_param_num - The number of parameters of the mold base.
p_corner - The corner of the mold base: <ul> <li>Corner 0 is the
top-left corner. <li>Corner 1 is the top-right corner.
<li>Corner 2 is the bottom-right corner. <li>Corner 3 is the
bottom-left corner. </ul>
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProRmdtMaterialInfoGet ( ProMoldLayout mold_layout,
char ***p_param_names,
wchar_t ***p_param_values,
int *p_param_num);
/*
Purpose: Retrieves the material information for the specified mold layout.
The function reuses memory.
Input Arguments:
mold_layout - The handle to the mold layout
Output Arguments:
p_param_names - The array of parameter names of the material
p_param_values - The array of parameter values of the material
p_param_num - The number of parameters of the material
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProRmdtImmInfoGet ( ProMoldLayout mold_layout,
wchar_t **p_machine_name,
char ***p_param_names,
wchar_t ***p_param_values,
int *p_param_num);
/*
Purpose: Retrieves the injection module machine (IMM) information for the
specified mold layout. The function reuses the memory.
Input Arguments:
mold_layout - The handle to the mold layout
Output Arguments:
p_machine_name - The name of the IMM
p_param_names - The array of parameter names of the IMM
p_param_values - The array of parameter values of the IMM
p_param_num - The number of parameters of the IMM
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProRmdtDlgMaterialSet ( ProMoldLayout mold_layout,
wchar_t *generic_type,
wchar_t *mfg,
wchar_t *trade_name,
wchar_t *grade);
/*
Purpose: Sets the default information for the mold layout material dialog.
Input Arguments:
mold_layout - The handle to the mold layout
generic_type - The generic type
mfg - The manufacturing
trade_name - The trade name
grade - The grade
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully set the information for the
dialog.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProRmdtDlgCavityLayoutSet ( ProMoldLayout mold_layout,
ProDlgCavityLayoutData *p_dlg_data);
/*
Purpose: Sets the default information for the mold cavity layout dialog.
Input Arguments:
mold_layout - The handle to the mold layout
p_dlg_data - The cavity layout dialog data
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully set the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProRmdtDlgImmSet ( ProMoldLayout mold_layout,
wchar_t *machine_name);
/*
Purpose: Sets the default information for the mold layout IMM dialog.
Input Arguments:
mold_layout - The handle to the mold layout
machine_name - The machine name of the IMM dialog
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully set the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProRmdtDlgRefModelOrientSet ( ProMoldLayout mold_layout,
ProMatrix orient);
/*
Purpose: Sets the default information for the dialog for the reference
model orientation of the mold layout.
Input Arguments:
mold_layout - The handle to the mold layout
orient - The orientation matrix
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully set the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProRmdtDlgMoldBaseSet ( ProMoldLayout mold_layout,
wchar_t *vendor,
wchar_t *series,
wchar_t *length,
wchar_t *width);
/*
Purpose: Sets the default information for the mold layout dialog for the
mold base.
Input Arguments:
mold_layout - The handle to the mold layout
vendor - The vendor
series - The series
length - The length
width - The width
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully set the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProRmdtDlgWorkpieceSet ( ProMoldLayout mold_layout,
ProDlgWorkpieceData *p_dlg_data);
/*
Purpose: Sets the default information for the mold layout workpiece dialog.
Input Arguments:
mold_layout - The handle to the mold layout
p_dlg_data - The workpiece dialog data
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully set the information.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
typedef ProError (*ProRmdtCreateImmPreAction) (ProMoldLayout mold_layout);
/*
Purpose: This is the notification function called before creating injection
module machining.
<p> This function is to be supplied by the user by calling
<b>ProNotificationSet()</b> with the the notify type
PRO_RMDT_CREATE_IMM_PRE.
Input Arguments:
mold_layout - The handle to the mold layout
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - Successful exit from this function.
Other - An error was encountered. IMM creation will be stopped.
See Also:
ProNotificationSet()
*/
typedef ProError (*ProRmdtBoundBoxPreAction) (ProMoldLayout mold_layout);
/*
Purpose: This is the notification function called before the bounding box
dialog.
<p> This function is to be supplied by the user by calling
<b>ProNotificationSet()</b> with the notify type
PRO_RMDT_BOUND_BOX_PRE.
Input Arguments:
mold_layout - The handle to the mold layout
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - Successful exit from this function.
Other - An error was encountered. The bounding box dialog will not be
called.
See Also:
ProNotificationSet()
*/
typedef ProError (*ProRmdtCavLayoutPreAction) (ProMoldLayout mold_layout);
/*
Purpose: This is the notification function called before the cavity layout
dialog.
<p> This function is to be supplied by the user by calling
<b>ProNotificationSet()</b> with the notify type
PRO_RMDT_CAV_LAYOUT_PRE.
Input Arguments:
mold_layout - The handle to the mold layout
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - Successful exit from this function.
Other - An error was encountered. The cavity layout dialog will not be
called.
See Also:
ProNotificationSet()
*/
typedef ProError (*ProRmdtCreateWpPreAction) (ProMoldLayout mold_layout);
/*
Purpose: This is the notification function called before the create
workpiece dialog.
<p> This function is to be supplied by the user by calling
<b>ProNotificationSet()</b> with the notify type
PRO_RMDT_CREATE_WP_PRE.
Input Arguments:
mold_layout - The handle to the mold layout
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - Successful exit from this function.
Other - An error was encountered. The create workpiece dialog will not
be called.
See Also:
ProNotificationSet()
*/
typedef ProError (*ProRmdtMaterialPreAction) (ProMoldLayout mold_layout);
/*
Purpose: This is the notification function called before the material
dialog.
<p> This function is to be supplied by the user by calling
<b>ProNotificationSet()</b> with the notify type
PRO_RMDT_MATERIAL_PRE.
Input Arguments:
mold_layout - The handle to the mold layout
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - Successful exit from this function.
Other - An error was encountered. The material dialog will not be
called.
See Also:
ProNotificationSet()
*/
typedef ProError (*ProRmdtMBaseSelectPreAction) (ProMoldLayout mold_layout);
/*
Purpose: This is the notification function called before the mold base
selection dialog.
<p> This function is to be supplied by the user by calling
<b>ProNotificationSet()</b> with the notify type
PRO_RMDT_MBASE_SELECT_PRE.
Input Arguments:
mold_layout - The handle to the mold layout
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - Successful exit from this function.
Other - An error was encountered. The mold base selection dialog will
not be called.
See Also:
ProNotificationSet()
*/
PRO_END_C_DECLS
#endif