⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 standard_hob.cpp

📁 C# 教学示例程序
💻 CPP
📖 第 1 页 / 共 3 页
字号:
    int  error_code = 0;
 
    if ( ( error_code = UF_initialize() ) != 0 ) 
           return (0) ;

	const char env[255]="UGII_USER_DIR";
	char *basedir=NULL;
	basedir=getenv(env);
	 
	char dir[100];
	strcpy(dir,basedir);
	strcat(dir,"\\ug_prt\\*.prt");
    
	char prompt[20]="新建文件";
	char title[20]="新建文件";
      	 
	char filename[50];
	int response_dial;
	char str[50];
    UF_UI_create_filebox(prompt,title,dir,NULL,filename,&response_dial);
	int result;
	tag_t part;
	if(response_dial==UF_UI_OK)
	{
	   result=UF_PART_new(filename,1,&part);
	   if(part==NULL_TAG)
	   {
         uc1601("零件已存在或在内存中,创建失败!",1);
		 sprintf(str,"错误代号:%d",result);
	     uc1601(str,1);
		 UF_PART_close_all();
		 return result;
	   }
	}

    if ( ( error_code = UF_STYLER_create_dialog ( "standard_hob.dlg",
           STANDARD_HOB_cbs,      /* Callbacks from dialog */
           STANDARD_HOB_CB_COUNT, /* number of callbacks*/
           NULL,        /* This is your client data */
           response ) ) != 0 )
    {
          char fail_message[133];

          /* Get the user function fail message based on the fail code.*/
          UF_get_fail_message(error_code, fail_message);
          UF_UI_set_status (fail_message);
          printf ( "%s\n", fail_message ); 
    }


    UF_terminate();                             
    return (error_code);
}
//#endif /* DISPLAY_FROM_CALLBACK */ 




/*-------DIALOG CREATION FROM A USER EXIT HELP Example --------
To create this dialog from a user exit, you must invoke a     
call to the NX Open API, UF_STYLER_create_dialog.  An example 
is shown below.                                               

All dialog files must be located in 
      $UGII_USER_DIR/application or 
      $UGII_SITE_DIR/application or 
      $UGII_VENDOR_DIR/application directory

1) Remove the conditional definitions:
   #ifdef DISPLAY_FROM_USER_EXIT 
   #endif DISPLAY_FROM_USER_EXIT 
2) Add a user exit to the function name below, for example, ufusr.
3) Consider how your shared library will be unloaded.  Take a look
   at the generated function ufusr_ask_unload.
--------------------------------------------------------------*/

#ifdef DISPLAY_FROM_USER_EXIT
extern void <enter a valid user exit here> (char *param, int *retcode, int rlen)
{
    int  response   = 0;
    int  error_code = 0;
 
    if ( ( UF_initialize() ) != 0 ) 
           return;

    if ( ( error_code = UF_STYLER_create_dialog ( "standard_hob.dlg",
           STANDARD_HOB_cbs,      /* Callbacks from dialog */
           STANDARD_HOB_CB_COUNT, /* number of callbacks*/
           NULL,        /* This is your client data */
           &response ) ) != 0 )
    {
          char fail_message[133];

          /* Get the user function fail message based on the fail code.*/
          UF_get_fail_message(error_code, fail_message);
          UF_UI_set_status (fail_message);
          printf ( "%s\n", fail_message ); 
    }


    UF_terminate();                             
    return;
}




/*--------------------------------------------------------------------------
This function specifies how a shared image is unloaded from memory          
within Unigraphics. This function gives you the capability to unload an     
internal NX Open application or user  exit from Unigraphics.  You can       
specify any one of the three constants as a return value to determine       
the type of unload to perform:  immediately after user function             
execution, via an unload selection dialog, or when Unigraphics terminates   
terminates.  If you choose UF_UNLOAD_SEL_DIALOG, then you have the          
option to unload your image by selecting  File->Utilities->Unload Shared    
Image. 

NOTE:  A program which associates NX Open applications with the menubar     
MUST NOT use this option since it will UNLOAD your NX Open application image
--------
from the menubar.
--------------------------------------------------------------------------*/

extern int ufusr_ask_unload (void)
{
     /* unload immediately after application exits*/
     return ( UF_UNLOAD_IMMEDIATELY );

     /*via the unload selection dialog... */
     /*return ( UF_UNLOAD_SEL_DIALOG );   */
     /*when UG terminates...              */
     /*return ( UF_UNLOAD_UG_TERMINATE ); */
}



/*--------------------------------------------------------------------------
You have the option of coding the cleanup routine to perform any housekeeping
chores that may need to be performed.  If you code the cleanup routine, it is
automatically called by Unigraphics.
--------------------------------------------------------------------------*/
extern void ufusr_cleanup (void)
{
    return;
}
#endif /* DISPLAY_FROM_USER_EXIT */ 






/*-------------------------------------------------------------------------*/
/*---------------------- UIStyler Callback Functions ----------------------*/
/*-------------------------------------------------------------------------*/

/* -------------------------------------------------------------------------
 * Callback Name: STANDARD_HOB_construction
 * This is a callback function associated with an action taken from a
 * UIStyler object. 
 *
 * Input: dialog_id   -   The dialog id indicate which dialog this callback
 *                        is associated with.  The dialog id is a dynamic,
 *                        unique id and should not be stored.  It is
 *                        strictly for the use in the NX Open API:
 *                               UF_STYLER_ask_value(s) 
 *                               UF_STYLER_set_value   
 *        client_data -   Client data is user defined data associated
 *                        with your dialog.  Client data may be bound
 *                        to your dialog with UF_MB_add_styler_actions
 *                        or UF_STYLER_create_dialog.                 
 *        callback_data - This structure pointer contains information
 *                        specific to the UIStyler Object type that  
 *                        invoked this callback and the callback type.
 * -----------------------------------------------------------------------*/
int STANDARD_HOB_construction ( int dialog_id,
             void * client_data,
             UF_STYLER_item_value_type_p_t callback_data)
{
     /* Make sure User Function is available. */  
     if ( UF_initialize() != 0) 
          return ( UF_UI_CB_CONTINUE_DIALOG );

     /* ---- Enter your callback code here ----- */

     UF_terminate ();

    /* Callback acknowledged, do not terminate dialog */
    return (UF_UI_CB_CONTINUE_DIALOG); 
    /* A return value of UF_UI_CB_EXIT_DIALOG will not be accepted    */
    /* for this callback type.  You must continue dialog construction.*/

}


/* -------------------------------------------------------------------------
 * Callback Name: STANDARD_HOB_destruction
 * This is a callback function associated with an action taken from a
 * UIStyler object. 
 *
 * Input: dialog_id   -   The dialog id indicate which dialog this callback
 *                        is associated with.  The dialog id is a dynamic,
 *                        unique id and should not be stored.  It is
 *                        strictly for the use in the NX Open API:
 *                               UF_STYLER_ask_value(s) 
 *                               UF_STYLER_set_value   
 *        client_data -   Client data is user defined data associated
 *                        with your dialog.  Client data may be bound
 *                        to your dialog with UF_MB_add_styler_actions
 *                        or UF_STYLER_create_dialog.                 
 *        callback_data - This structure pointer contains information
 *                        specific to the UIStyler Object type that  
 *                        invoked this callback and the callback type.
 * -----------------------------------------------------------------------*/
int STANDARD_HOB_destruction ( int dialog_id,
             void * client_data,
             UF_STYLER_item_value_type_p_t callback_data)
{
     /* Make sure User Function is available. */  
     if ( UF_initialize() != 0) 
          return ( UF_UI_CB_CONTINUE_DIALOG );

     /* ---- Enter your callback code here ----- */

     UF_terminate ();

    /* Callback acknowledged, do not terminate dialog.              */
    /* A return value of UF_UI_CB_EXIT_DIALOG will not be accepted  */
    /* for this callback type.  You must continue dialog destruction*/
    return (UF_UI_CB_CONTINUE_DIALOG); 

}


/* -------------------------------------------------------------------------
 * Callback Name: STANDARD_HOB_ok
 * This is a callback function associated with an action taken from a
 * UIStyler object. 
 *
 * Input: dialog_id   -   The dialog id indicate which dialog this callback
 *                        is associated with.  The dialog id is a dynamic,
 *                        unique id and should not be stored.  It is
 *                        strictly for the use in the NX Open API:
 *                               UF_STYLER_ask_value(s) 
 *                               UF_STYLER_set_value   
 *        client_data -   Client data is user defined data associated
 *                        with your dialog.  Client data may be bound
 *                        to your dialog with UF_MB_add_styler_actions
 *                        or UF_STYLER_create_dialog.                 
 *        callback_data - This structure pointer contains information
 *                        specific to the UIStyler Object type that  
 *                        invoked this callback and the callback type.
 * -----------------------------------------------------------------------*/
int STANDARD_HOB_ok ( int dialog_id,
             void * client_data,
             UF_STYLER_item_value_type_p_t callback_data)
{
     /* Make sure User Function is available. */  
     if ( UF_initialize() != 0) 
          return ( UF_UI_CB_CONTINUE_DIALOG );
     /* ---- Enter your callback code here ----- */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -