#ifndef PROASSEMBLY_H #define PROASSEMBLY_H #include <ProObjects.h> PRO_BEGIN_C_DECLS extern ProError ProAssemblyExplode ( ProAssembly assembly ); /* Purpose: Explodes the specified assembly. The function invalidates the display list, but the application needs to repaint the window. Input Arguments: assembly - The assembly to explode Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully exploded the assembly. PRO_TK_BAD_INPUTS - The specified assembly is not an assembly, or is NULL. PRO_TK_NO_CHANGE - The specified assembly is already exploded. */ extern ProError ProAssemblyUnexplode ( ProAssembly assembly ); /* Purpose: Unexplodes the specified assembly. The function invalidates the display list, but the application needs to repaint the window. Input Arguments: assembly - The assembly to unexplode Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully unexploded the assembly. PRO_TK_BAD_INPUTS - The specified assembly is not an assembly, or is NULL. PRO_TK_NO_CHANGE - The specified assembly is already unexploded. */ extern ProError ProAssemblyIsExploded ( ProAssembly assembly, ProBoolean *p_is_exploded); /* Purpose: Determines whether the specified assembly is exploded. Input Arguments: assembly - The assembly whose state is to be determined. Output Arguments: p_is_exploded - If this is PRO_B_TRUE, the assembly is exploded. If this is PRO_B_FALSE, the assembly is unexploded. Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. PRO_TK_BAD_INPUTS - The specified assembly is not an assembly, or is NULL. */ extern ProError ProAssemblyDynPosGet ( ProAssembly top_assem, ProBoolean *p_enable); /* Purpose: Determines whether dynamic component positioning is enabled or disabled for the specified assembly. Input Arguments: top_assem - The top-level assembly for which to determine the status of dynamic positioning Output Arguments: p_enable - If this is PRO_B_TRUE, the specified assembly currently has dynamic positioning enabled. If this is PRO_B_FALSE, the specified assembly currently has dynamic positioning disabled. Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the value. PRO_TK_BAD_INPUTS - The input argument is invalid. */ extern ProError ProAssemblyDynPosSet ( ProAssembly top_assem, ProBoolean enable); /* Purpose: Enables or disables dynamic component positioning. When enabled, all the components can have a unique transformation with respect to the top-level assembly. Input Arguments: top_assem - The top-level assembly for which to enable dynamic positioning enable - The Boolean value that enables or disables positioning Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully set the new value. PRO_TK_BAD_INPUTS - One or more of the arguments are invalid. */ extern ProError ProMdlActiveGet (ProMdl *p_handle); /* Purpose: Initializes the <i>p_handle</i> with the active Creo Parametric object. Input Arguments: none Output Arguments: p_handle - The model handle Return Values: PRO_TK_NO_ERROR - The function successfully initialized the handle. PRO_TK_BAD_CONTEXT - The active Creo Parametric object is not set. */ extern ProError ProAssemblyAutointerchange ( ProAssembly assembly, int *component_ids, ProMdl replacement_model ); /* Purpose: Performs the automatic replacement of an assembly member, in the manner of Creo Parametric. <p> Note that Creo Parametric enables automatic replacement of assembly members using the following methods: <ul> <li>Interchange groups <li>Instances of family tables <li>Global reference datums in layouts </ul> Input Arguments: assembly - The assembly or subassembly. component_ids - The ProArray of component identifiers from the assembly node <i>assembly</i> that identifies the replaced members. replacement_model - The replacement component. This can be a part or subassembly. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded PRO_TK_BAD_INPUTS - One or more arguments are invalid. PRO_TK_GENERAL_ERROR - A general error occurred and the function failed. */ PRO_END_C_DECLS #endif /* PROASSEMBLY_H */