#ifndef PROSKELETON_H #define PROSKELETON_H /* Creo Parametric TOOLKIT declarations for Pro<object> related data structures */ #include <ProToolkit.h> #include <ProObjects.h> PRO_BEGIN_C_DECLS /* Data definitions */ extern ProError ProAsmSkeletonMdlnameCreate (ProAssembly assembly, ProMdlName skel_name, ProMdl template_model, ProMdl *p_skel); /* Purpose: Create a new skeleton model with specified name and adds it to the specified assemby. This function also initializes the model handle. <b>Note:</b> In Creo 3 this function does not support names longer than 31 characters. It will return PRO_TK_BAD_INPUTS for longer names. The support for ProMdlName will be added in a future release. Input Arguments: assembly - Handle to the assembly. skel_name - Name of the skeleton model. template_model - Handle to a part or skeleton to be used as a template. The template is copied into the created skeleton model. If the handler to the template is NULL, the new skeleton is created empty. Output Arguments: p_skel - Handle to the created skeleton model. Return Values: PRO_TK_NO_ERROR - Skeleton creation was successful. PRO_TK_BAD_INPUTS - Invalid assembly handle, skeleton name, or template handle. PRO_TK_E_FOUND - Skeleton model already exists in the assembly. PRO_TK_ABORT - Template type is invalid (for example, is a manufacturing part), or has external external dependencies. Copying is aborted. PRO_TK_GENERAL_ERROR - Skeleton could not be created. PRO_TK_NOT_VALID - Required license is absent. PRO_TK_UNSUPPORTED - Models which come from Multi-CAD approach are not supported as template model. PRO_TK_LINE_TOO_LONG - Name length of skeleton model is more than 31 chars. */ extern ProError ProAsmSkeletonAdd (ProAssembly assembly, ProMdl skeleton); /* Purpose: Add an existing skeleton model as a skeleton in the specified assembly. Input Arguments: assembly - Handle to the assembly. skeleton - Handle to the skeleton model. Output Arguments: none Return Values: PRO_TK_NO_ERROR - Skeleton addition is successful. PRO_TK_BAD_INPUTS - Invalid assembly handle or skeleton handle. PRO_TK_INVALID_TYPE - Skeleton is a handle not to a skeleton model. PRO_TK_E_FOUND - Skeleton model already exists in the assembly. PRO_TK_GENERAL_ERROR - Skeleton could not be created. PRO_TK_NOT_VALID - Required license not found. */ extern ProError ProAsmSkeletonGet (ProAssembly assembly, ProMdl *p_skel); /* Purpose: Get a skeleton model of the specified assembly and initializes the model handle. Input Arguments: assembly - Handle to the assembly. Output Arguments: p_skel - Pointer to the assembly skeleton model handle. Return Values: PRO_TK_NO_ERROR - The skeleton handle is initiated. PRO_TK_BAD_INPUTS - Invalid assembly handle. PRO_TK_E_NOT_FOUND - The specified assembly has no skeleton model. PRO_TK_CANT_ACCESS - The skeleton exists, but can not be used. PRO_TK_NOT_VALID - Required license not found. */ extern ProError ProMdlIsSkeleton (ProMdl model, ProBoolean *p_is_skel); /* Purpose: Determine whether the specified model is a skeleton model. Input Arguments: model - Handle to the model to be checked. Output Arguments: p_is_skel - PRO_B_TRUE if specified model is a skeleton model, otherwise PRO_B_FALSE. Return Values: PRO_TK_NO_ERROR - The function successfully returned the information. PRO_TK_BAD_INPUTS - Invalid model handler. PRO_TK_NOT_VALID - Required license not found. */ extern ProError ProAsmSkeletonDelete (ProAssembly assembly); /* Purpose: Delete a skeleton model component from the assembly. Input Arguments: assembly - Handle to the assembly. Output Arguments: none Return Values: PRO_TK_NO_ERROR - Skeleton model component successfully deleted. PRO_TK_BAD_INPUTS - Invalid assembly handler. PRO_TK_E_NOT_FOUND - The specified assembly has no skeleton model. PRO_TK_NOT_VALID - Required license not found. PRO_TK_GENERAL_ERROR - Skeleton component could not be deleted. */ PRO_END_C_DECLS #endif /* PROSKELETON_H */