




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
需要使用UGUISTYLER建立对话框和建立一个花键模板零件下面分别是主要程序代码/*= WARNING! This file is overwritten by the UIStyler each time the Styler file is saved. Filename: spline_dialog_template.c This file was generated by the NX User Interface Styler Created by: Hao Version: NX 4 Date: 06-04-11 Time: 22:26 This template file is overwritten each time the UIStyler dialog is saved. Any modifications to this file will be lost.=*/ /*= Purpose: This TEMPLATE file contains C source and static structures to guide you in the construction of your NX Open application dialog. The generation of your dialog file (.dlg extension) is the first step towards dialog construction within Unigraphics. You must now create a UGOpen application that utilizes this file (.dlg). The information in this file provides you with the following: 1. Help on the use of the functions, UF_MB_add_styler_actions and UF_STYLER_create_dialog in your NX Open application. These functions will load and display your UIStyler dialog in Unigraphics. An example of the function, UF_MB_add_styler_actions to associate your dialog to the menubar is shown below (Search on Example 1). An example of a invoking a dialog from a callback utilizing UF_STYLER_create_dialog is also shown below (Search for Example 2). An example of a user exit utilizing UF_STYLER_create_dialog is also shown below (Search for Example 3). 2. The callback structure: - CHANGE_cbs - This structure is VERY important if you have callbacks associated with your dialog. It correlates the dialog items in your dialog with the callback functions you must supply. You should not modify this structure since it MUST match up to the information stored in your dialog file (.dlg). Any attempt to do so will cause an error while constructing your dialog. If you wish to modify the association of your callbacks to your dialog, please reload your dialog file (.dlg) into the UIStyler and regenerate your files. You do not need to be concerned about this structure, simply pass it as an argument to the function, UF_STYLER_create_dialog along with your dialog file (.dlg). Example 1 displays the actual call you may make for this particular dialog. 3. The empty callback functions (stubs) associated with your dialog items have also been placed in this file. These empty functions have been created simply to start you along with your coding requirements. The function name, argument list and possible return values have already been provided for you. NOTE: Each callback must be wrappered with the functions UF_initialize() and UF_terminate(). =*/* These include files are needed for the following template code. */#include #include #include #include #include #include #include #include #include #include #include #include spline_dialog.h/* The following definition defines the number of callback entries */* in the callback structure: */* UF_STYLER_callback_info_t CHANGE_cbs */#define SPLINE_CB_COUNT ( 4 + 1 ) /* Add 1 for the terminator */ /*-The following structure defines the callback entries used by the styler file. This structure MUST be passed into the user function, UF_STYLER_create_dialog along with CHANGE_CB_COUNT. -*/static UF_STYLER_callback_info_t SPLINE_cbsSPLINE_CB_COUNT = UF_STYLER_DIALOG_INDEX, UF_STYLER_CONSTRUCTOR_CB , 0, SPLINE_constructor, UF_STYLER_DIALOG_INDEX, UF_STYLER_DESTRUCTOR_CB , 0, SPLINE_destructor, UF_STYLER_DIALOG_INDEX, UF_STYLER_OK_CB , 0, SPLINE_ok, UF_STYLER_DIALOG_INDEX, UF_STYLER_CANCEL_CB , 0, SPLINE_cancel, UF_STYLER_NULL_OBJECT, UF_STYLER_NO_CB, 0, 0 ;/*-UF_MB_styler_actions_t contains 4 fields. These are defined as follows: Field 1 : the name of your dialog that you wish to display.Field 2 : any client data you wish to pass to your callbacks.Field 3 : your callback structure.Field 4 : flag to inform menubar of your dialog location. This flag MUST match the resource set in your dialog! Do NOT ASSUME that changing this field will update the location of your dialog. Please use the UIStyler to indicate the position of your dialog.-*/static UF_MB_styler_actions_t actions = spline_dialog.dlg, NULL, SPLINE_cbs, UF_MB_STYLER_IS_NOT_TOP , NULL, NULL, NULL, 0 /* This is a NULL terminated list */;/*- MENUBAR HOOKUP HELP Example -To launch this dialog from a Unigraphics menubar, you must follow the steps below.1) Add the following lines to your MenuScript file in order to associate a menu bar button with your dialog. In this example, a cascade menu will be created and will be located just before the Help button on the main menubar. The button, SPLINE_DIALOG_BTN is set up to launch your dialog and will be positioned as the first button on your pulldown menu. If you wish to add the button to an existing cascade, simply add the 3 lines between MENU LAUNCH_CASCADE and END_OF_MENU to your menuscript file. The MenuScript file requires an extension of .men. Make sure that you add the extension to the file and place the file in your startup directory: $UGII_USER_DIR/startup or $UGII_SITE_DIR/startup or $UGII_VENDOR_DIR/startup directory Move the contents between the dashed lines to your Menuscript file.! - VERSION 120 EDIT UG_GATEWAY_MAIN_MENUBAR BEFORE UG_HELP CASCADE_BUTTON UISTYLER_DLG_CASCADE_BTN LABEL Dialog Launcher END_OF_BEFORE MENU UISTYLER_DLG_CASCADE_BTN BUTTON SPLINE_DIALOG_BTN LABEL Display spline_dialog dialog ACTIONS spline_dialog.dlg END_OF_MENU! -2) Issue a call to the function, UF_MB_add_styler_actions from the ufsta user exit as shown below. To use this call, remove the conditional definitions: #ifdef MENUBAR_COMMENTED_OUT #endif MENUBAR_COMMENTED_OUT The static structure, actions, will allow you to associate ALL of your dialogs and callback functions to the menubar at once. For example, if you wish to have 10 dialogs associated to 10 different buttons on the menubar, you may enter each dialog and callback list into the actions structure. Make sure that you have created a corresponding button in your MenuScript file. You may also have separate shared libraries, each with a ufsta user exit for each individual dialog.3) Place your compiled and linked ufsta user function in $UGII_USER_DIR/startup or $UGII_SITE_DIR/startup or $UGII_VENDOR_DIR/startup directory. NOTE: The user function must contain the proper extension .so, .sl or .dll to make ensure that it is recognized by the MenuScript. If it does not have the proper extension, it will NOT be recognized by MenuScript. The action name you have provided in your MenuScript must correspond to to the dialog name provided in the action structure. This MUST match inorder to bind your dlg file to your MenuScript button. 4) Copy your UIStyler dialog file to the proper directory. All dialog files (.dlg) must be located in $UGII_USER_DIR/application or $UGII_SITE_DIR/application or $UGII_VENDOR_DIR/application directory-*/#ifdef MENUBAR_COMMENTED_OUTextern void ufsta (char *param, int *retcode, int rlen) int error_code; if ( (UF_initialize() != 0) return; if ( (error_code = UF_MB_add_styler_actions ( actions ) ) != 0 ) char fail_message133; UF_get_fail_message(error_code, fail_message); printf ( %sn, fail_message ); UF_terminate(); return;/#endif /*MENUBAR_COMMENTED_OUT*/*-DIALOG CREATION FROM A CALLBACK HELP Example -If you wish to have this dialog displayed from the callback of another UIStyler dialog, you should: 1) Make sure that the callback of your UIStyler dialog is designated as a dialog building callback. 2) Remove the conditional definitions: #ifdef DISPLAY_FROM_CALLBACK #endif DISPLAY_FROM_CALLBACK3) Your callback should issue a call to this function.4) You should also add the funcitonal prototype to your header file (spline_dialog.h) and ensure that the file is properly included.All dialog files must be located in $UGII_USER_DIR/application or $UGII_SITE_DIR/application or $UGII_VENDOR_DIR/application directory-*/#ifdef DISPLAY_FROM_CALLBACKextern int ( int *response ) int error_code = 0; if ( ( error_code = UF_initialize() ) != 0 ) return (0) ; if ( ( error_code = UF_STYLER_create_dialog ( spline_dialog.dlg, CHANGE_cbs, /* Callbacks from dialog */ CHANGE_CB_COUNT, /* number of callbacks*/ NULL, /* This is your client data */ response ) ) != 0 ) char fail_message133; /* 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 ( %sn, 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 directory1) 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_EXITextern void (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 ( spline_dialog.dlg, CHANGE_cbs, /* Callbacks from dialog */ CHANGE_CB_COUNT, /* number of callbacks*/ NULL, /* This is your client data */ &response ) ) != 0 ) char fail_message133; /* 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 ( %sn, 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 housekeepingchores that may need to be performed. If you code the cleanup routine, it isautomatically called by Unigraphics.-*/extern void ufusr_cleanup (void) return;#endif /* DISPLAY_FROM_USER_EXIT */ /*-*/*- UIStyler Callback Functions -*/*-*/* - * Callback Name: CHANGE_constructor * 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 SPLINE_constructor ( 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 - */ char dir100; const char env255=UGII_USER_DIR; char *basedir=NULL; tag_t part; UF_PART_load_status_t error_status; basedir=getenv(env); strcpy(dir,basedir); strcat(dir,partspline_part.prt); if(UF_PART_open(dir,&part,&error_status)!=0) UF_free_string_array(error_status.n_parts,error_status.file_names); UF_free(error_status.statuses); return(UF_UI_CB_CONTINUE_DIALOG); UF_free_string_array(error_status.n_parts,error_status.file_names); UF_free(error_status.statuses); double arExpValue5; UF_MODL_eval_exp(d1,&arExpValue0); UF_MODL_eval_exp(d2,&arExpValue1); UF_MODL_eval_exp(W,&arExpValue2); UF_MODL_eval_exp(N,&arExpValue3); UF_MODL_eval_exp(L,&arExpValue4); UF_STYLER_item_val
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 腔镜手术基本操作及相关知识试题与答案
- 江苏省如皋市南片区八校联考2026届英语九年级第一学期期末学业质量监测模拟试题含解析
- 2026届黑龙江省齐齐哈尔市克东县化学九年级第一学期期末监测模拟试题含解析
- 江苏省启东市东安中学2026届化学九上期中综合测试试题含解析
- 2026届内蒙古牙克石市英语九年级第一学期期末调研模拟试题含解析
- 信托贷款财产抵押契约协议书5篇
- 跨区域中央空调安装与远程监控服务合同
- 中央空调系统安装与能耗监测合同
- 离婚后房屋产权变更及财产分割执行协议
- 婚后共同房产分割协议书:女方权益保障范本
- 三力测试题库2025版考题及答案
- 2025北京京剧院招聘工作人员10人笔试模拟试题及答案解析
- 2025工勤考试收银审核员(高级技师)考试题(含答案)
- 2025年蜀道投资集团有限责任公司招聘笔试备考题库附答案详解(达标题)
- GB/T 27043-2025合格评定能力验证提供者能力的通用要求
- 加工公司实验室设备管理办法
- (2025秋新版)北师大版二年级上册数学全册教案
- 2025年廉价航空行业研究报告及未来发展趋势预测
- 新能源企业盈利能力分析-以比亚迪股份有限公司为例
- 2025年“学宪法讲宪法”知识竞赛题库含答案
- 教室布置方案(模板)
评论
0/150
提交评论