📄 testmain.c
字号:
PURPOSE : enable access to the Asm Mold Layout button\*====================================================================*/static uiCmdAccessState TestAsmMoldLayoutAccess(uiCmdAccessMode access_mode){ ProMdl mdl; ProError status; ProMdlType mdltype; ProMdlsubtype subtype; status = ProMdlCurrentGet(&mdl); if (status == PRO_TK_NO_ERROR) { status = ProMdlTypeGet(mdl, &mdltype); if (mdltype == PRO_MDL_ASSEMBLY && status == PRO_TK_NO_ERROR) { status = ProMdlSubtypeGet(mdl,&subtype); if (subtype == PROMDLSTYPE_ASM_CLASS_CAV && status == PRO_TK_NO_ERROR) return (ACCESS_AVAILABLE); } } return (ACCESS_UNAVAILABLE);}/*====================================================================*\ FUNCTION : TestMfgMoldCavityAccess() PURPOSE : enable access to the Asm Mold Layout button\*====================================================================*/static uiCmdAccessState TestMfgMoldCavityAccess(uiCmdAccessMode access_mode){ ProMdl mdl; ProError status; ProMdlType mdltype; ProMdlsubtype subtype; status = ProMdlCurrentGet(&mdl); if (status == PRO_TK_NO_ERROR) { status = ProMdlTypeGet(mdl, &mdltype); if (mdltype == PRO_MDL_MFG && status == PRO_TK_NO_ERROR) { status = ProMdlSubtypeGet(mdl,&subtype); if (subtype == PROMDLSTYPE_MFG_MOLD && status == PRO_TK_NO_ERROR) return (ACCESS_AVAILABLE); } } return (ACCESS_UNAVAILABLE);}/*====================================================================*\ FUNCTION : main() PURPOSE : To test ProToolkitMain\*====================================================================*/int main(int argc, char**argv){ fprintf(stderr, "Welcome to PRO/TOOLKIT -the \"pt_example\" program\n"); ProToolkitMain(argc, argv); return (0);}/*====================================================================*\ FUNCTION : user_initialize() PURPOSE : Pro/DEVELOP standard initialize - define menus.\*====================================================================*/int user_initialize( int argc, /** Number of arguments **/ char *argv[], /** Pro/E arguments **/ char *proe_vsn, /** Pro/E version **/ char *build, /** Pro/E build **/ wchar_t err_buff[]) /** Error buffer **/{ ProError status; ProPath w_path; int menu_id; int size, a, m, n; double d; char c, str[PRO_PATH_SIZE], path[PRO_PATH_SIZE]; ProComment w_com; int ProTestMain(); int ProTestPart(); int ProTestAsm(); int ProTestDraw(); int ProTestDiagram(); int ProTestLayout(); int ProTestMfg(); int ProTestMfgNew(); int ProTestMoldLayoutMenu(); int ProTestProcstep(); int ProTestWeldMenu(); int ProTestReport(); ProError ProTestFemMeshMenu(); ProError ProTestCavityLayoutMenu(); int ProTestMoldProd(); ProFileName message_file; uiCmdCmdId cmd_id, cmd_id_draw, cmd_id_diagram, cmd_id_report, cmd_id_layout;/*--------------------------------------------------------------------*\ Check the size of wchar_t\*--------------------------------------------------------------------*/ status = ProWcharSizeVerify( sizeof(wchar_t), &size ); TEST_CALL_REPORT( "ProWcharSizeVerify()", "user_initialize()", status, status !=PRO_TK_NO_ERROR ); if( status !=PRO_TK_NO_ERROR ) { sprintf(str,"ERROR wchar_t has size %d - should be %d", sizeof(wchar_t), size ); ProUtilMsgPrint("gen", "TEST %0s", str); printf("%s\n", str); return(-1); }/*--------------------------------------------------------------------*\ Check that the Pro/E version and build are OK\*--------------------------------------------------------------------*/ if(proe_vsn == NULL) { strcpy(str,"Pro/E version set to NULL"); ProUtilMsgPrint("gen", "TEST %0s", str); printf("%s\n",str); ProStringToWstring(err_buff, str); return(-1); } if(build == NULL) { strcpy(str, "Pro/E build set to NULL"); ProUtilMsgPrint("gen", "TEST %0s", str); printf("%s\n",str); ProStringToWstring(err_buff, str); return(-1); } if(sscanf(build, "%d", &a) < 1) { sprintf(str, "Pro/E build invalid : %s", build); ProUtilMsgPrint("gen", "TEST %0s", str); printf("%s\n",str); ProStringToWstring(err_buff, str); return(-1); }/*--------------------------------------------------------------------*\ Parse the command line setting application parameters\*--------------------------------------------------------------------*/ ProUtilCommandLineParse( argc, argv );/*--------------------------------------------------------------------*\ Print the input arguments\*--------------------------------------------------------------------*/ printf("\n"); for(a=0;a<argc;a++) printf("\targv[%d] = %s\n", a, argv[a]); printf("\tPro/E version = %s\n", proe_vsn); printf("\tPro/E build = %s\n", build);/*--------------------------------------------------------------------*\ Open the error log file.\*--------------------------------------------------------------------*/ if(argc > 4) ProTestErrlogOpen(argv[4], proe_vsn, build); else ProTestErrlogOpen("pt_toolkit", proe_vsn, build);/*--------------------------------------------------------------------*\ Test ProToolkit functions\*--------------------------------------------------------------------*/ TEST_CALL_REPORT("ProToolkitMain()", "user_initialize()", 0, 0); TEST_CALL_REPORT( "ProWcharSizeVerify()", "user_initialize()", status , 0); status = ProToolkitApplExecPathGet( w_path ); TEST_CALL_REPORT( "ProToolkitApplExecPathGet()", "user_initialize()", status, status != PRO_TK_NO_ERROR ); sprintf(str, "Exec path is %0s", ProWstringToString( path, w_path )); ProUtilMsgPrint( "gen", "TEST %0s", str); ProMessageClear(); TEST_CALL_REPORT( "ProMessageClear()", "user_initialize()", 0, 0 ); status = ProToolkitApplTextPathGet( w_path ); TEST_CALL_REPORT( "ProToolkitApplTextPathGet()", "user_initialize()", status, status != PRO_TK_NO_ERROR ); sprintf(str, "Text path is %0s", ProWstringToString( path, w_path )); ProUtilMsgPrint( "gen", "TEST %0s", str); ProMessageClear(); TEST_CALL_REPORT( "ProMessageClear()", "user_initialize()", 0, 0 ); /*---------------------------------------------------------------------*\ Add "PTExamples" after info button to the menu bar\*---------------------------------------------------------------------*/ ProStringToWstring(message_file, "gen_msg.txt"); status = ProMenubarMenuAdd ("PTExamples", "PTExamples", "Info", PRO_B_TRUE, message_file); TEST_CALL_REPORT( "ProMenubarMenuAdd()", "user_initialize()", 0, 0 );/*---------------------------------------------------------------------*\ Add "-Main" button to the menu bar\*---------------------------------------------------------------------*/ status = ProCmdActionAdd("-Main", (uiCmdCmdActFn)ProTestMain, uiProe2ndImmediate, TestAccessDefault, PRO_B_TRUE, PRO_B_TRUE, &cmd_id); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( "PTExamples", "-Main", "-Main", "Non-mode-specific Pro/TOOLKIT test commands", NULL, PRO_B_TRUE, cmd_id, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR);/*---------------------------------------------------------------------*\ Add "-Drawing" button to the menu bar\*---------------------------------------------------------------------*/ status = ProCmdActionAdd("-TKDrawingtest", (uiCmdCmdActFn)ProTestDraw, uiProe2ndImmediate, TestDrawingAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_draw); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( "PTExamples", "-TKDrawingtest", "-TKDrawingtest", "Drawing Test menu", "-Main", PRO_B_TRUE, cmd_id_draw, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR);/*---------------------------------------------------------------------*\ Add "-Diagram" button to the menu bar\*---------------------------------------------------------------------*/ status = ProCmdActionAdd("-TKDiagramtest", (uiCmdCmdActFn)ProTestDiagram, uiProe2ndImmediate, TestDiagramAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_diagram); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( "PTExamples", "-TKDiagramtest", "-TKDiagramtest", "Diagram Test menu", "-TKDrawingtest", PRO_B_TRUE, cmd_id_diagram, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR);/*---------------------------------------------------------------------*\ Add "-Report" button to the menu bar\*---------------------------------------------------------------------*/ status = ProCmdActionAdd("-TKReporttest", (uiCmdCmdActFn)ProTestReport, uiProe2ndImmediate, TestReportAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_report); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( "PTExamples", "-TKReporttest", "-TKReporttest", "Report Test menu", "-TKDiagramtest", PRO_B_TRUE, cmd_id_report, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR);/*---------------------------------------------------------------------*\ Add "-Layout" button to the menu bar\*---------------------------------------------------------------------*/ status = ProCmdActionAdd("-TKLayouttest", (uiCmdCmdActFn)ProTestLayout, uiProe2ndImmediate, TestLayoutAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_layout); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( "PTExamples", "-TKLayouttest", "-TKLayouttest", "Layout Test menu", "-TKReporttest", PRO_B_TRUE, cmd_id_layout, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR);/*--------------------------------------------------------------------*\ Add to the part menu.\*--------------------------------------------------------------------*/ status = ProCmdActionAdd("-TkPart", (uiCmdCmdActFn)ProTestPart, uiProe2ndImmediate, TestPartAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_layout); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( "PTExamples", "-TkPart", "-TkPart", "Menu of commands for testing Pro/TOOLKIT in part mode", "-TKLayouttest", PRO_B_TRUE, cmd_id_layout, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR);#ifndef PT_PRODUCTS_BUILD ProMenuFileRegister("part","part.mnu", &menu_id); status = ProMenuAuxfileRegister("part","part.aux", &menu_id); TEST_CALL_REPORT("ProMenuAuxfileRegister()", "user_initialize()", status, status !=PRO_TK_NO_ERROR); ProMenubuttonActionSet("part","-TkPart", (ProMenubuttonAction)ProTestPart, NULL, 0);#else ProMenuFileRegister("jr_part", "jnew_part.mnu", &menu_id); status = ProMenuAuxfileRegister("jr_part", "part.aux", &menu_id); TEST_CALL_REPORT("ProMenuAuxfileRegister()", "user_initialize()", status, status !=PRO_TK_NO_ERROR); ProMenubuttonActionSet("jr_part", "-TkPart", ProTestPart, NULL, 0);#endif/*--------------------------------------------------------------------*\ Add to the assembly menu.\*--------------------------------------------------------------------*/ status = ProCmdActionAdd("-TkAsm", (uiCmdCmdActFn)ProTestAsm, uiProe2ndImmediate, TestAsmAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_layout); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( "PTExamples", "-TkAsm", "-TkAsm", "Menu of commands for testing Pro/TOOLKIT in assembly mode", "-TkPart", PRO_B_TRUE, cmd_id_layout, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); ProMenuFileRegister("assembly","assembly.mnu", &menu_id); status = ProMenuAuxfileRegister("assembly","assembly.aux", &menu_id); TEST_CALL_REPORT("ProMenuAuxfileRegister()", "user_initialize()",
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -