/*****************************************************************************\ FILE : UgModelAdd.c PURPOSE : Pro/TOOLKIT User Guide Example - add a model in a drawing HISTORY.. DATE BUILD AUTHOR MODIFICATIONS 04-Dec-97 H-02-02 Philippe $$1 Created \*****************************************************************************/ /*-------------------------- Pro/Develop includes ---------------------------*/ #include #include /*-------------------------- Pro/Toolkit includes ---------------------------*/ #include #include #include /*-------------------------- Application includes ---------------------------*/ #include /*--------------------------- Function Prototypes----------------------------*/ extern ProError UserUtilNameTypeGet(); /*================================================================*\ FUNCTION : UserModelAdd PURPOSE : Adds a model to the current drawing-type object. \*================================================================*/ ProError UserModelAdd () { int status; ProName wname; ProMdlType type; ProMdl p_draw, p_model; ProCharLine astr; ProCharName name; ProFileName WMSGFIL = {'m','s','g','_','u','g','d','w','g','.','t','x','t','\0'}; /*------------------------------------------------------------*\ Get the current model \*------------------------------------------------------------*/ status = ProMdlCurrentGet(&p_draw); ERROR_CHECK("UserModelAdd","ProMdlCurrentGet",status); if (status != PRO_TK_NO_ERROR) return (status); /*------------------------------------------------------------*\ Get the name and type of the model to add. \*------------------------------------------------------------*/ status = UserUtilNameTypeGet(WMSGFIL,wname, &type ); ERROR_CHECK("UserModelAdd","UserUtilNameTypeGet",status); if (status != PRO_TK_NO_ERROR) return (status); /*------------------------------------------------------------*\ Retrieve the specified object into memory. \*------------------------------------------------------------*/ status = ProMdlRetrieve(wname, type, (&p_model)); ERROR_CHECK("UserModelAdd","ProMdlRetrieve",status); if (status != PRO_TK_NO_ERROR) return (status); /*------------------------------------------------------------*\ Add it into the current drawing-type object \*------------------------------------------------------------*/ status = prodrw_add_drawing_model ((Prohandle)p_draw, (Prohandle)p_model); ERROR_CHECK("UserModelAdd","prodrw_add_drawing_model", (status != PRODRW_ADD_MODEL_SUCCESS)); /*------------------------------------------------------------*\ Print a message in the message window \*------------------------------------------------------------*/ if (status == PRODRW_ADD_MODEL_SUCCESS) { ProWstringToString(name, wname); sprintf(astr,"Model %s has been added to drawing", name); status = ProMessageDisplay (WMSGFIL,"USER %0s", astr); ERROR_CHECK("UserModelAdd","ProMessageDisplay",status); return (PRO_TK_NO_ERROR); } else { sprintf(astr,"Error %d in UserModelAdd", status); status = ProMessageDisplay (WMSGFIL,"USER %0s", astr); ERROR_CHECK("UserModelAdd","ProMessageDisplay",status); return (PRO_TK_GENERAL_ERROR); } }