/*
Copyright (c) 2024 PTC Inc. and/or Its Subsidiary Companies. All Rights Reserved.
*/
#include "ProToolkit.h"
#include "user_tk_error.h"
#include "ProCore.h"
#include "ProMdl.h"
#include "ProObjects.h"
#include "ProSizeConst.h"
#include "ProUtil.h"
#include "ProTKRunTime.h"
/*---------------------------------------------------------------------------*\
Find circular datum curves and replace them with holes.
\*---------------------------------------------------------------------------*/
UserAddHoles( ProMdl p_part )
{
/* .
.
.
*/
}
/*---------------------------------------------------------------------------*\
Start Pro/ENGINEER. Load the part specified by the command line
argument and replace its datum curves with holes.
\*---------------------------------------------------------------------------*/
int main( int argc, char *argv[] )
{
char *a_char_ptr;
ProFamilyMdlName part_name;
ProError status;
ProMdl p_part;
ProError err;
/*---------------------------------------------------------------------------*\
Start Pro/ENGINEER.
\*---------------------------------------------------------------------------*/
if ( argc == 3)
{
a_char_ptr = argv[1];
a_char_ptr++;
ProEngineerStart(a_char_ptr,"");
}
else
{
ProTKPrintf("Usage : pt_simple_async +<pro_command> +<part_name>\n");
exit(1);
}
/*---------------------------------------------------------------------------*\
Set up the part name from the argument list.
(Assume that part name is preceded by '+' or '-', as for synchronous.)
\*---------------------------------------------------------------------------*/
a_char_ptr = argv[2];
a_char_ptr++;
ProStringToWstring(part_name,a_char_ptr);
/*---------------------------------------------------------------------------*\
Retrieve a part with that name.
\*---------------------------------------------------------------------------*/
err=ProMdlnameRetrieve(part_name,PRO_MDLFILE_PART,&p_part);
if (err!=PRO_TK_NO_ERROR)
{
ProTKPrintf("*** Failed to retrieve part %s\n", part_name);
ProEngineerEnd();
}
/*---------------------------------------------------------------------------*\
Add the holes to the part
\*---------------------------------------------------------------------------*/
UserAddHoles(p_part);
/*---------------------------------------------------------------------------*\
Save the part
\*---------------------------------------------------------------------------*/
err=ProMdlSave(p_part);
ERROR_CHECK("async main","ProMdlSave",err);
/*---------------------------------------------------------------------------*\
Terminate the Pro/ENGINEER session.
\*---------------------------------------------------------------------------*/
ProEngineerEnd();
return(0);
}