#ifndef PROATB_H
#define PROATB_H
#include <ProObjects.h>
PRO_BEGIN_C_DECLS
extern ProError ProATBMdlnameVerify(ProMdl model,
int *feat_ids,
ProPath *search_paths,
ProMdlFileName** models_out_of_date,
ProMdlFileName** models_unlinked,
ProMdlFileName** models_old_version);
/*
Purpose: To Verify if the ATB models are out of date. This function will
first check to see if the model specified is a TIM (of some master
model). If model is not a TIM, it will check to see if the model
contains one or more features which are TIM representations of
some model from ICEM. <b>Note:</b> In Creo 3 this function does
not support names longer than 80 characters. It will return
PRO_TK_BAD_INPUTS for longer names. The support for ProMdlFileName
will be added in a future release.
Input Arguments:
model - Creo Parametric Part or Assembly that is a) A TIM
representation of a model imported from the ATB interface such
as CADDS/CATIA b) A Creo Parametric Assembly containing one or
more components which are model imported from an ATB Interface
such as CADDS/CATIA c) A Creo Parametric Part containing an
Import Feature that is imported from an ATB Interface such as
ICEM.
feat_ids - ProArray of feature id(s). Indicates one or more ATB-Enabled
feature(s) in the model. In that case, the ATB Verify
operation will only work on the Feature(s) specified. If
NULL, then the function will attempt to verify the entire
model (TIM from CADDS/CATIA).
search_paths - ProArray of ProPath(s) indicating the set of additional
directories to be searched for the master model. If
NULL, then the function will search in current working
directory or locations set in config-option
atb_search_path.
Output Arguments:
models_out_of_date - ProArray of ProMdlFileName(s) to represent the set
of models out of date, which can be relinked. This
maps to the models that show up as RED in the UI.
Pass NULL if not interested. Free this argument
using ProArrayFree.
models_unlinked - ProArray of ProMdlFileName(s) to represent the set of
unlinked models. This maps to the models that show up
as YELLOW in the UI (with the broken link). Pass NULL
if not interested. Free this argument using
ProArrayFree.
models_old_version - ProArray of ProMdlFileName(s) to represent the set
of models of older version. This maps to the
models that show up as YELLOW in the UI (with the
broken link). Pass NULL if not interested. Free
this argument using ProArrayFree.
Return Values:
PRO_TK_NO_CHANGE - The function successfully verified the model and
didn't find any ATB models out of date nor any
models of old version nor any models with broken
link.
PRO_TK_NO_ERROR - The function successfully verified the model and
found ONE or more models out of date.
PRO_TK_NOT_VALID - The function successfully verified the model, found
ONE or more models of older version and found no ATB
models out of date.
PRO_TK_BAD_CONTEXT - The function successfully verified the model,
found ONE or more models with broken link and
found no ATB models out of date and no ATB models
of older version
PRO_TK_BAD_INPUTS - The function could not execute, since one or more
REQUIRED inputs were missing or incorrect.
PRO_TK_UNSUPPORTED - The input model is Multi-CAD model.
*/
extern ProError ProATBMarkAsOutOfDate(ProMdl model,
int *feat_ids);
/*
Purpose: Mark the ATB model/feature as out of date.
Input Arguments:
model - Creo Parametric Part or Assembly that is a) A TIM
representation of a model imported from the ATB interface such
as CADDS/CATIA b) A Creo Parametric Assembly containing one or
more components which are model imported from an ATB Interface
such as CADDS/CATIA c) A Creo Parametric Part containing an
Import Feature that is imported from an ATB Interface such as
ICEM.
feat_ids - ProArray of feature id(s). Used to indicate one or more
ABT-Enabled feature(s) in the model. In that case, the
specified feature(s) will be considered as out of date for
the ATB Update operation. If NULL, then the model will be
considered as out of date for the ATB Update operation.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function run successfully.
PRO_TK_BAD_INPUTS - The function could not run, since one or more
REQUIRED inputs were missing or incorrect.
PRO_TK_UNSUPPORTED - The input model is Multi-CAD model.
*/
extern ProError ProATBUpdate(ProMdl model,
int *feat_ids,
ProPath *search_paths);
/*
Purpose: Update the ATB model(s)/feature(s).
Input Arguments:
model - Creo Parametric Part or Assembly that is a) A TIM
representation of a model imported from the ATB interface such
as CADDS/CATIA b) A Creo Parametric Assembly containing one or
more components which are model imported from an ATB Interface
such as CADDS/CATIA c) A Creo Parametric Part containing an
Import Feature that is imported from an ATB Interface such as
ICEM.
feat_ids - ProArray of feature id(s). Used to indicate one or more
ATB-Enabled feature(s) in the model. In that case, the ATB
Update operation will only work on the Feature(s) specified.
If NULL, then the function will attempt to update the entire
model (TIM from CADDS/CATIA).
search_paths - ProArray of ProPath(s) indicating the set of additional
directories to be searched for the master model. If
NULL, then the function will search in current working
directory or locations set in config-option
atb_search_path.
Output Arguments:
none
Return Values:
PRO_TK_NO_CHANGE - The function runs successfully and found no ATB
models out of date.
PRO_TK_NO_ERROR - The function successfully updated the model and found
ONE or more models out of date.
PRO_TK_CANT_MODIFY - During ATB update the regeneration failed.
PRO_TK_BAD_INPUTS - The function could not execute, since one or more
REQUIRED inputs were missing or incorrect.
PRO_TK_BAD_CONTEXT - There are non-displayed models in the session.
PRO_TK_NOT_DISPLAYED - The input model is not displayed.
PRO_TK_E_AMBIGUOUS - Both: there are non-displayed models in the
session AND the input model is not displayed.
PRO_TK_UNSUPPORTED - The input model is Multi-CAD model.
*/
extern ProError ProATBRelink(ProMdl model,
int feat_id,
ProPath master_model_path);
/*
Purpose: Relink the model/feature that have lost the link to the master
model. Relinking a model here will represent searching for the
master model (using the master model name) in the location
specified in the 'master_model_path' arguement. If the master
model with the same name is found, the Creo Parametric TIM model
is linked to that master model.
Input Arguments:
model - Creo Parametric Part or Assembly that is a) A TIM
representation of a model imported from the ATB interface such
as CADDS/CATIA b) A Creo Parametric Assembly containing one or
more components which are model imported from an ATB Interface
such as CADDS/CATIA c) A Creo Parametric Part containing an
Import Feature that is imported from an ATB Interface such as
ICEM.
feat_id - Indicates a ABT-Enabled feature in the model. In that case,
the ATB Relink operation will only work on the Feature
specified. If PRO_VALUE_UNUSED, then the function will
attempt to relink the entire model (TIM from CADDS/CATIA).
master_model_path - ProPath indicating the fully qualified path to the
new master model to be relinked.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function run successfully.
PRO_TK_BAD_INPUTS - The function could not run, since one or more
REQUIRED inputs were missing or incorrect.
PRO_TK_UNSUPPORTED - The input model is Multi-CAD model.
*/
extern ProError ProModelIsTIM(ProMdl model,
ProBoolean *isTIM);
/*
Purpose: Utility function to check if the model is a TIM or not.
Input Arguments:
model - Creo Parametric Part or Assembly.
Output Arguments:
isTIM - Boolean value to represent if the model is a TIM or not. Return
PRO_B_TRUE if model is a TIM. Return PRO_B_FALSE, if model is
not a TIM.
Return Values:
PRO_TK_NO_ERROR - The function run successfully.
PRO_TK_BAD_INPUTS - The function could not run, since one or more
REQUIRED inputs were missing or incorrect.
*/
extern ProError ProModelHasTIMFeature(ProMdl model,
ProBoolean *hasTIMFeature);
/*
Purpose: Utility function to check if the model has a TIM Feature. A TIM
Feature is a model imported from ICEM or Neutral.
Input Arguments:
model - Creo Parametric Part or Assembly.
Output Arguments:
hasTIMFeature - returns false if it is a TIM-model, returns true if is
a non-TIM model and it has ATB features.
Return Values:
PRO_TK_NO_ERROR - The function run successfully.
PRO_TK_BAD_INPUTS - The function could not run, since one or more
REQUIRED inputs were missing or incorrect.
*/
extern ProError ProModelListTIMFeatures(ProMdl model, int **p_feat_ids);
/*
Purpose: Utility function to list the feature ids of all the ATB-Enabled
TIM Features in a Model. A TIM Feature is a model imported from
ICEM or Neutral. This utility function can be run after
determining if a Model has one or more TIM feature(s), using the
utility function ProModelHasTIMFeature(...)
Input Arguments:
model - Creo Parametric Part or Assembly.
Output Arguments:
p_feat_ids - returns the list of ids of ATB-enabled features. If NO TIM
Features can be found in the model, the return value
*p_feat_ids is NULL. The function allocates space for this
ProArray. User must call ProArrayFree() to free the array
of integer(s).
Return Values:
PRO_TK_NO_ERROR - The function run successfully.
PRO_TK_BAD_INPUTS - The function could not run, since one or more
REQUIRED inputs were missing or incorrect.
*/
PRO_END_C_DECLS
#endif /* PROATB_H */