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

📄 pro_design_dialog.c

📁 基于UG的压块参数化设计
💻 C
📖 第 1 页 / 共 2 页
字号:
	 data.item_id=PRO_DESIG_REAL_L3;
	 UF_MODL_eval_exp("L3",&data.value.real);
	 UF_STYLER_set_value(dialog_id,&data);

	 UF_MODL_eval_exp("VOLUME",&value);
	 sprintf(prompt,"当前压块的体积为%.3f",value);
	 data.item_attr=UF_STYLER_LABEL;
	 data.item_id=PRO_DESIG_LABEL_VOLME;
	 data.value.string=prompt;
	 UF_STYLER_set_value(dialog_id,&data);

     /* ---- 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: PRO_DESIG_ok_fun
 * 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 PRO_DESIG_ok_fun ( int dialog_id,
             void * client_data,
             UF_STYLER_item_value_type_p_t callback_data)
{
     /* Make sure User Function is available. */  
	 UF_STYLER_item_value_type_t	data;
     if ( UF_initialize() != 0) 
          return ( UF_UI_CB_CONTINUE_DIALOG );

	 
	 data.item_attr=UF_STYLER_VALUE;
	 data.item_id=PRO_DESIG_REAL_L1;
	 UF_STYLER_ask_value(dialog_id,&data);
	 PRO_DESIGN_edit_exp("L1",data.value.real);

	 data.item_attr=UF_STYLER_VALUE;
	 data.item_id=PRO_DESIG_REAL_W1;
	 UF_STYLER_ask_value(dialog_id,&data);
	 PRO_DESIGN_edit_exp("W1",data.value.real);

	 data.item_attr=UF_STYLER_VALUE;
	 data.item_id=PRO_DESIG_REAL_H1;
	 UF_STYLER_ask_value(dialog_id,&data);
	 PRO_DESIGN_edit_exp("H1",data.value.real);


	 data.item_attr=UF_STYLER_VALUE;
	 data.item_id=PRO_DESIG_REAL_H2;
	 UF_STYLER_ask_value(dialog_id,&data);
	 PRO_DESIGN_edit_exp("H2",data.value.real);

	 data.item_attr=UF_STYLER_VALUE;
	 data.item_id=PRO_DESIG_REAL_L2;
	 UF_STYLER_ask_value(dialog_id,&data);
	 PRO_DESIGN_edit_exp("L2",data.value.real);

	 data.item_attr=UF_STYLER_VALUE;
	 data.item_id=PRO_DESIG_REAL_W2;
	 UF_STYLER_ask_value(dialog_id,&data);
	 PRO_DESIGN_edit_exp("W2",data.value.real);

	 data.item_attr=UF_STYLER_VALUE;
	 data.item_id=PRO_DESIG_REAL_L3;
	 UF_STYLER_ask_value(dialog_id,&data);
	 PRO_DESIGN_edit_exp("L3",data.value.real);

	 UF_MODL_update();
	 
     /* ---- Enter your callback code here ----- */

     UF_terminate ();

    /* Callback acknowledged, terminate dialog             */
    /* It is STRONGLY recommended that you exit your       */
    /* callback with UF_UI_CB_EXIT_DIALOG in a ok callback.*/
    /* return ( UF_UI_CB_EXIT_DIALOG );                    */
    return (UF_UI_CB_EXIT_DIALOG);                           

}


/* -------------------------------------------------------------------------
 * Callback Name: PRO_DESIG_apply_fun
 * 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 PRO_DESIG_apply_fun ( int dialog_id,
             void * client_data,
             UF_STYLER_item_value_type_p_t callback_data)
{
     /* Make sure User Function is available. */

	 UF_STYLER_item_value_type_t	data;
	 double							value;
	 char							prompt[256];
     if ( UF_initialize() != 0) 
          return ( UF_UI_CB_CONTINUE_DIALOG );

	 data.item_attr=UF_STYLER_VALUE;
	 data.item_id=PRO_DESIG_REAL_L1;
	 UF_STYLER_ask_value(dialog_id,&data);
	 PRO_DESIGN_edit_exp("L1",data.value.real);

	 data.item_attr=UF_STYLER_VALUE;
	 data.item_id=PRO_DESIG_REAL_W1;
	 UF_STYLER_ask_value(dialog_id,&data);
	 PRO_DESIGN_edit_exp("W1",data.value.real);

	 data.item_attr=UF_STYLER_VALUE;
	 data.item_id=PRO_DESIG_REAL_H1;
	 UF_STYLER_ask_value(dialog_id,&data);
	 PRO_DESIGN_edit_exp("H1",data.value.real);


	 data.item_attr=UF_STYLER_VALUE;
	 data.item_id=PRO_DESIG_REAL_H2;
	 UF_STYLER_ask_value(dialog_id,&data);
	 PRO_DESIGN_edit_exp("H2",data.value.real);

	 data.item_attr=UF_STYLER_VALUE;
	 data.item_id=PRO_DESIG_REAL_L2;
	 UF_STYLER_ask_value(dialog_id,&data);
	 PRO_DESIGN_edit_exp("L2",data.value.real);

	 data.item_attr=UF_STYLER_VALUE;
	 data.item_id=PRO_DESIG_REAL_W2;
	 UF_STYLER_ask_value(dialog_id,&data);
	 PRO_DESIGN_edit_exp("W2",data.value.real);

	 data.item_attr=UF_STYLER_VALUE;
	 data.item_id=PRO_DESIG_REAL_L3;
	 UF_STYLER_ask_value(dialog_id,&data);
	 PRO_DESIGN_edit_exp("L3",data.value.real);

	 UF_MODL_update();
	 
	 UF_MODL_eval_exp("VOLUME",&value);
	 sprintf(prompt,"当前压块的体积为%.3f",value);
	 data.item_attr=UF_STYLER_LABEL;
	 data.item_id=PRO_DESIG_LABEL_VOLME;
	 data.value.string=prompt;
	 UF_STYLER_set_value(dialog_id,&data);

	 /* ---- 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 respond to your apply button.*/
    return (UF_UI_CB_CONTINUE_DIALOG); 

}


int PRO_DESIGN_edit_exp(char *dim_name,double dim_value)
{
	char exp[256],temp[50];
	int  err;

	strcpy(exp,dim_name);
	strcat(exp,"=");
	sprintf(temp,"%.5f",dim_value);
	strcat(exp,temp);
	err=UF_MODL_edit_exp(exp);
	return err;
}

/* -------------------------------------------------------------------------
 * Callback Name: PRO_DESIG_cancel_fun
 * 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 PRO_DESIG_cancel_fun ( 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, terminate dialog             */
    /* It is STRONGLY recommended that you exit your       */
    /* callback with UF_UI_CB_EXIT_DIALOG in a cancel call */
    /* back rather than UF_UI_CB_CONTINUE_DIALOG.          */
    return ( UF_UI_CB_EXIT_DIALOG );                       

}


⌨️ 快捷键说明

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