//GLOBAL VARIABLES ProDrawing drawing; ProError status; char msg_string[256]; wchar_t *msgfile = L"MsgFile.txt"; void GtolTest() { ProError GtolVisitAction(); status=ProMdlCurrentGet((ProMdl *)&drawing); if(status!=PRO_TK_NO_ERROR) { ProTKSprintf(msg_string,"D005-D005-ProMdlCurrentGet-error"); ProMessageDisplay(msgfile,"Display %0s",msg_string); return ; } //ProMessageDisplay(msgfile,"Display %0s","----INSIDE"); status=ProMdlGtolVisit((ProMdl)drawing,GtolVisitAction,NULL,NULL); if(status!=PRO_TK_NO_ERROR) { ProTKSprintf(msg_string,"D005-D005-ProMdlGtolVisit-error"); ProMessageDisplay(msgfile,"Display %0s",msg_string); ProMessageDisplay(msgfile,"Display %0d",&status); return ; } } ProError GtolVisitAction(ProGtol* gtol,ProError filter_status,ProAppData data){ int i; ProDtlnote *dtlnote=NULL; ProGtoldata gtol_data; ProGtoldatumref datumRef[3]; ProSelection basic_datum, compound_datum; ProGtolMaterialCond basic_matcond, compound_matcond; ProModelitem mdl_item; ProName plane_name; ProMessageDisplay(msgfile,"Display %0s","----INSIDE"); status=ProGtolDataGet(gtol,>ol_data); if(status!=PRO_TK_NO_ERROR) { ProTKSprintf(msg_string,"D005-D005-ProGtolDataGet-error"); ProMessageDisplay(msgfile,"Display %0s",msg_string); return 0; } status=ProGtoldataGtoldatumrefGet(gtol_data,&datumRef[0],&datumRef[1],&datumRef[2]); if(status!=PRO_TK_NO_ERROR) { ProTKSprintf(msg_string,"D005-D005-ProGtoldataGtoldatumrefGet-error"); ProMessageDisplay(msgfile,"Display %0s",msg_string); return 0; } for(i=0;i<3;i++) { /*--------------------------------------------------------------------*\ Get from information datum reference structure. \*--------------------------------------------------------------------*/ if(datumRef[i]!=NULL) { status= ProGtoldatumrefGet(datumRef[i], &basic_datum, &basic_matcond,&compound_datum, &compound_matcond); if(status!=PRO_TK_NO_ERROR) { ProTKSprintf(msg_string,"D005-D005-ProGtoldatumrefGet-error"); ProMessageDisplay(msgfile,"Display %0s",msg_string); return 0; } /*--------------------------------------------------------------------*\ Print information about datum reference. \*--------------------------------------------------------------------*/ if(basic_datum!=NULL) { status=ProSelectionModelitemGet(basic_datum, &mdl_item); if(status!=PRO_TK_NO_ERROR) { ProTKSprintf(msg_string,"D005-D005-ProSelectionModelitemGet-error"); ProMessageDisplay(msgfile,"Display %0s",msg_string); return 0; } status=ProModelitemNameGet(&mdl_item,plane_name); if(status!=PRO_TK_NO_ERROR) { ProTKSprintf(msg_string,"D005-D005-ProModelitemNameGet-error"); ProMessageDisplay(msgfile,"Display %0s",msg_string); return 0; } ProMessageDisplay(msgfile,"Display %0w",plane_name); } } } return PRO_TK_NO_ERROR; }