#ifndef PROINTFIMPORT_DOT_H #define PROINTFIMPORT_DOT_H #include <ProToolkit.h> #include <ProMdl.h> #include <ProLayer.h> PRO_BEGIN_C_DECLS typedef enum { PRO_INTF_IMPORT_NONE = 0, PRO_INTF_IMPORT_IGES, PRO_INTF_IMPORT_SET, /* This type is obsolete. */ PRO_INTF_IMPORT_VDA, PRO_INTF_IMPORT_NEUTRAL, PRO_INTF_IMPORT_CADDS, PRO_INTF_IMPORT_STEP, PRO_INTF_IMPORT_STL, PRO_INTF_IMPORT_VRML, PRO_INTF_IMPORT_POLTXT, PRO_INTF_IMPORT_CATIA, /* This type is obsolete. */ PRO_INTF_IMPORT_CATIA_SESSION, PRO_INTF_IMPORT_CATIA_MODEL, PRO_INTF_IMPORT_DXF, PRO_INTF_IMPORT_ACIS, PRO_INTF_IMPORT_PARASOLID, PRO_INTF_IMPORT_ICEM, PRO_INTF_IMPORT_DESKTOP, /* This type is obsolete. */ PRO_INTF_IMPORT_PDGS, /* This type is obsolete. */ PRO_INTF_IMPORT_CATIA_PART, PRO_INTF_IMPORT_CATIA_PRODUCT, PRO_INTF_IMPORT_UG, PRO_INTF_IMPORT_IDEAS_DESIGN, /* This type is obsolete. */ PRO_INTF_IMPORT_IDEAS_PACKAGE, /* This type is obsolete. */ PRO_INTF_IMPORT_PRODUCTVIEW, PRO_INTF_IMPORT_CATIA_CGR, PRO_INTF_IMPORT_JT, PRO_INTF_IMPORT_SW_PART, PRO_INTF_IMPORT_SW_ASSEM, PRO_INTF_IMPORT_INVENTOR_PART, PRO_INTF_IMPORT_INVENTOR_ASSEM, PRO_INTF_IMPORT_CC, PRO_INTF_IMPORT_SEDGE_PART, PRO_INTF_IMPORT_SEDGE_ASSEMBLY, PRO_INTF_IMPORT_SEDGE_SHEETMETAL_PART, PRO_INTF_IMPORT_AMF, /* reserved for future use */ PRO_INTF_IMPORT_3MF } ProIntfImportType; typedef enum { PRO_IMPORTREP_UNDEFINED = PRO_VALUE_UNUSED, PRO_IMPORTREP_MASTER = 0, /* Master representation */ PRO_IMPORTREP_STRUCTURE = 1, /* Model structure */ PRO_IMPORTREP_GRAPHICS = 2 /* Lightweight graphic rep */ } ProImportRepType; typedef void* ProLayerfilterdata; typedef ProError (*ProIntfimportLayerFilter) ( ProLayerfilterdata data, ProAppData application_data); /* Purpose: Filter function allowing the application to decide on the status of imported layers. Input Arguments: data - The imported layer information. application_data - The user-supplied application data for layer filtering. Output Arguments: none Return Values: PRO_TK_NO_ERROR - Continue the filtering action PRO_TK_USER_ABORT - Stop filtering, using the designated action returned here for all remaining layers. */ extern ProError ProIntfimportSourceTypeGet ( ProPath import_file, ProIntfImportType type, ProMdlType *mdl_type ); /* Purpose: Determines the type of model expected to be created by the import operation. Input Arguments: import_file - Full path to file to be imported. type - The type of file to be imported. Output Arguments: mdl_type - The type of model that can be created from this import file. Return Values: PRO_TK_NO_ERROR - The function successfully returned the information PRO_TK_INVALID_TYPE - This function is not supported for this import type. */ extern ProError ProIntfimportWithProfileSourceTypeGet( ProPath import_file, ProPath profile_file, ProIntfImportType type, ProMdlType* mdl_type); /* Purpose: Determines the type of model expected to be created by the import operation based on profile settings. Input Arguments: import_file - Full path to file to be imported. profile_file - Full path to profile file. May be NULL. type - The type of file to be imported. Output Arguments: mdl_type - The type of model that can be created from this import file & profile settings. Return Values: PRO_TK_NO_ERROR - The function successfully returned the information PRO_TK_INVALID_TYPE - This function is not supported for this import type. */ extern ProError ProIntfimportModelWithProfileCreate( ProPath import_file, ProPath profile, ProIntfImportType type, ProMdlType create_type, ProName new_model_name, ProIntfimportLayerFilter filter_func, ProAppData application_data, ProMdl* created_model); /* Purpose: Imports an external file using profile, creating a new model or a set of new models as required. <p><B>Note:</B>This function is deprecated. Use ProIntfimportModelWithOptionsMdlnameCreate instead, with PRO_IMPORTREP_MASTER as the representation type. Input Arguments: import_file - Full path to the file to be imported. <b>Note</b>: When importing CADDS models, ensure that the path is specified in lower case. profile - profile path. May be NULL. type - The type of file to be imported. create_type - The type of model to create. This could be part, assembly, or drawing (for STEP associative drawings). new_model_name - The name of the new top level import model. filter_func - Callback to a function that determines how to display and map layers from the imported model. If this is NULL, the default layer handling will take place. application_data - The application data to be passed to the filter function. Can be NULL. Output Arguments: created_model - Handle to the top level created model. This could be a part, assembly, or drawing. If this is NULL the model will be created anyway. Return Values: PRO_TK_NO_ERROR - The function successfully created the new import feature. PRO_TK_BAD_INPUTS - One or more of the input arguments are invalid. PRO_TK_CANT_OPEN - import_file can't be opened. PRO_TK_UNSUPPORTED - Creo Parametric does not support import of the indicated file. PRO_TK_NOT_EXIST - No profile found. PRO_TK_INVALID_FILE - profile is not readable. PRO_TK_INVALID_TYPE - This combination of arguments is invalid. PRO_TK_NO_LICENSE - Missing the required license to perform this import operation. */ extern ProError ProIntfimportModelWithOptionsMdlnameCreate ( ProPath import_file, ProPath profile, ProIntfImportType type, ProMdlType create_type, ProImportRepType rep_type, ProMdlName new_model_name, ProIntfimportLayerFilter filter_func, ProAppData application_data, ProMdl* created_model); /* Purpose: Imports an external file using profile, creating a new model, or a set of new models as required, with a representation as required. <p><b>Note:</b> Once a profile is set, it remains valid for the entire session unless it is reset with another profile. <b>Note: </b> In Creo 3 this function does not differ in behavior from superseded ProIntfimportModelWithOptionsCreate. In particular, new_model_name can be only of ProName length. This function is reserved for future use. Input Arguments: import_file - Full path to the file to be imported. <b>Note</b>: When importing CADDS models, ensure that the path is specified in lower case. profile - Profile path. May be NULL. type - The type of file to be imported. create_type - The type of model to create. This could be part, assembly, or drawing (for STEP associative drawings). Pass PRO_MDL_UNUSED to let Creo Parametric decide on the model type to be created. rep_type - The representation type. Use PRO_IMPORTREP_MASTER to import without special representations applied. new_model_name - The name of the new top level import model. filter_func - Callback to a function that determines how to display and map layers from the imported model. If this is NULL, the default layer handling will take place. application_data - The application data to be passed to the filter function. Can be NULL. Output Arguments: created_model - The handle to the created model. For an assembly, the handle to the top assembly. If this is NULL the model will be created anyway. Return Values: PRO_TK_NO_ERROR - The function successfully created the new import feature. PRO_TK_BAD_INPUTS - One or more of the input arguments are invalid. PRO_TK_CANT_OPEN - import_file can't be opened. PRO_TK_UNSUPPORTED - Creo Parametric does not support import of the indicated file. PRO_TK_NOT_EXIST - No profile found. PRO_TK_INVALID_FILE - profile is not readable. PRO_TK_INVALID_TYPE - This combination of arguments is invalid. PRO_TK_LINE_TOO_LONG - Name length of new model is more than 31 chars. PRO_TK_NO_LICENSE - Missing the required license to perform this import operation. PRO_TK_E_FOUND - Already a model with same name exists in the Creo session. */ extern ProError ProLayerfilterdataNameGet ( ProLayerfilterdata data, ProLine layer_name ); /* Purpose: Gets the layer name from a ProLayerfilterdata object passed to the ProIntfimportLayerFilter action. Input Arguments: data - The imported layer information. Output Arguments: layer_name - The layer name or number from the import file. Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. PRO_TK_BAD_INPUTS - The function arguments were invalid. */ extern ProError ProLayerfilterdataCountsGet ( ProLayerfilterdata data, int* curve_count, int* surface_count, int* trimmed_surface_count ); /* Purpose: Gets the counts from a ProLayerfilterdata object passed to the ProIntfimportLayerFilter action. These are the counts shown in the Creo Parametric layer import dialog. Input Arguments: data - The imported layer information. Output Arguments: curve_count - The curve count for the designated layer. surface_count - The surface count for the designated layer. trimmed_surface_count - The trimmed surface count for the designated layer. Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. PRO_TK_BAD_INPUTS - The function arguments were invalid. */ typedef enum _ProLayerImportOption { PRO_LAYER_IMPORT_NORMAL = PRO_LAYER_TYPE_NORMAL, PRO_LAYER_IMPORT_DISPLAY = PRO_LAYER_TYPE_DISPLAY, PRO_LAYER_IMPORT_BLANK = PRO_LAYER_TYPE_BLANK, PRO_LAYER_IMPORT_HIDDEN = PRO_LAYER_TYPE_HIDDEN, PRO_LAYER_IMPORT_SKIP = PRO_LAYER_TYPE_SKIP, /* Do not import the entities on this layer*/ PRO_LAYER_IMPORT_IGNORE = 7 /* Create entities, but do not create this layer */ } ProLayerImportOption; extern ProError ProLayerfilterdataActionSet ( ProLayerfilterdata data, ProLayerImportOption action); /* Purpose: Sets the layer action for a ProLayerfilterdata object passed to the ProIntfimportLayerFilter action. Input Arguments: data - The imported layer information. action - The action to take for this layer (SKIP, BLANK, DISPLAY, ISOLATE) Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. PRO_TK_BAD_INPUTS - The function arguments were invalid. */ extern ProError ProLayerfilterdataNameSet ( ProLayerfilterdata data, ProName new_layer_name ); /* Purpose: Set the layer name for the newly imported layer. Input Arguments: data - The imported layer information. new_layer_name - The new layer name. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully set the name. PRO_TK_BAD_INPUTS - One or more function input was invalid. */ extern ProError ProIntfimportValidationpreferencesLoad (ProPath file); /* Purpose: Loads validation preferences from a file. These preferences will be used during the validation until they are reset. Input Arguments: file - The path to the file. Cannot be NULL. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully loaded the file. PRO_TK_BAD_INPUTS - The argument file is NULL or not a solid. PRO_TK_E_NOT_FOUND - The file not found. PRO_TK_NOT_EXIST - Improper format in the file. */ extern ProError ProIntfimportValidationscoreGet(ProMdl model, ProLine score); /* Purpose: Gets the import validation score of the model. Input Arguments: model - The model from which the validation score should be retrieved. Output Arguments: score - The validation score value. Return Values: PRO_TK_NO_ERROR - The function successfully returned the score. PRO_TK_BAD_INPUTS - The argument model is NULL or not a solid. PRO_TK_INVALID_PTR - The model pointer is invalid. PRO_TK_NOT_EXIST - The model is missing. PRO_TK_E_NOT_FOUND - The score does not exist on the model. */ extern ProError ProIntfimportValidationscoreCalculate(ProMdl model, ProLine score); /* Purpose: Calculates the import validation score for the model. Input Arguments: model - The model for which the validation score should be calculated Output Arguments: score - The calculated validation score value Return Values: PRO_TK_NO_ERROR - The function executed successfully. PRO_TK_BAD_INPUTS - The argument model is NULL or not a solid. PRO_TK_NOT_EXIST - The model is missing. PRO_TK_INVALID_PTR - The model pointer is invalid. PRO_TK_GENERAL_ERROR - The function failed to calculate the score. */ PRO_END_C_DECLS #endif /* PROINTFIMPORT_DOT_H */