admin 发表于 2015-3-2 10:12:14

UG NX二次开发常用的函数模版--还不错分享下

1,   uc1600 //获取字符串头文件:#include <uf_ui.h>int res = 0;            int len = 0;            char string="";                        res = uc1600( "",string , &len );//string:Input / Output            if ( res == 5 || ( res== 3 && len > 0 ) )            {            }            else            {            } 2, uc1603// 头文件:#include <uf_ui.h> 用法1:          char title ="菜单";            char items [ 38 ] = { "选项1","选项2","选项3"};                        choice = uc1603(title, 0, items, 3);                        if (choice == 1 || choice == 2)             {                  UF_terminate();             }            else            {                  if (choice == )                   {                                          }                              }


file:///C:/Users/sztl26/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif


用法2:            char items [ 38 ] = { "选项1","选项2","选项3"};                        response = uc1603( "菜单",0, items, 3 );                        switch ( response )      {            case 1:            case 2:                  break;            case 4:                              case 5:            } 3,选择对话框头文件 头文件1: init_proc_face static intinit_proc_face( UF_UI_selection_p_t select, void* user_data ){         int nums = 1;         UF_UI_mask_t masks[] ={               UF_solid_type,0, UF_UI_SEL_FEATURE_ANY_FACE};                                             if((UF_UI_set_sel_mask(select,                     UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,                     nums,masks)) == 0)               {                     return(UF_UI_SEL_SUCCESS);               }               else               {                     return(UF_UI_SEL_FAILURE);               }} 头文件2: init_proc_body file:///C:/Users/sztl26/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gifstaticint init_proc_body(UF_UI_selection_p_t select, void* user_data){    int num_triples = 1;    UF_UI_mask_t mask_triples[] = {UF_solid_type, 0, UF_UI_SEL_FEATURE_BODY};    /* enable only lines and edges */    if((UF_CALL(UF_UI_set_sel_mask(select,            UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,            num_triples, mask_triples))) == 0)    {      return (UF_UI_SEL_SUCCESS);    }    else    {      return (UF_UI_SEL_FAILURE);    }} 4,UF_UI_select_with_single_dialog头文件:#include <uf_ui.h>           char   title[]="";            char   cue[] ="";            int   response=0;                double   cursor;            tag_t    face =NULL;            tag_t    view =NULL;                                 if(!UF_CALL(UF_UI_select_with_single_dialog(cue, title, UF_UI_SEL_SCOPE_NO_CHANGE,      init_proc_face,NULL,                   &response,&face,cursor ,&view)))            {                  if (response == UF_UI_OBJECT_SELECTED ||                        response == UF_UI_OBJECT_SELECTED_BY_NAME)                  {                        printf("object tag = %d\n", face);                                          }                  UF_DISP_set_highlight(face, 0);//关高亮            }5,UF_UI_select_with_class_dialog头文件:#include <uf_ui.h>


file:///C:/Users/sztl26/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif


void class_sel_dlg(int*count,tag_p_t *objects){      char cue[] = "";            char title[] = "";            int response, sel_count, i;            tag_p_t sel_objects;                         if((UF_CALL(UF_UI_select_with_class_dialog(                  cue, title, UF_UI_SEL_SCOPE_NO_CHANGE,                  init_proc_face, NULL, &response,&sel_count, &sel_objects))) == 0)            {                  printf("object count = %d\n",sel_count);                  if (response == UF_UI_OK && sel_count >0)                  {                         *objects=sel_objects;                        *count=sel_count;                        for (i=0; i<sel_count; i++)                        {                              printf("object tag = %d\n",sel_objects);                              UF_DISP_set_highlight(sel_objects,0);                         }                        UF_free(objects);                  }            } }6,UF_MODL_delete_object_parms//消参头文件:#include< uf_modl.h>#include< uf_modl_utilities.h > uf_list_p_t obj_list;             UF_CALL(UF_MODL_create_list(&obj_list));                        UF_CALL(UF_MODL_put_list_item(obj_list, ));            UF_CALL(UF_MODL_put_list_item(obj_list, ));                        UF_MODL_delete_object_parms(obj_list);            UF_MODL_delete_list(&obj_list);               file:///C:/Users/sztl26/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif            UF_OBJ_delete_object(); 7,UF_CURVE_create_arc//通过圆心,半径画圆      头文件:#include< uf_csys.h>#include< uf_curve.h>       tag_tarc, wcs_tag;       UF_CSYS_ask_wcs(&wcs_tag);      UF_CURVE_arc_t arc_coords;      UF_CSYS_ask_matrix_of_object(wcs_tag,&wcs_tag);                  arc_coords.matrix_tag=wcs_tag;      arc_coords.start_angle = 0.0;      arc_coords.end_angle =360.0 * DEGRA;      arc_coords.arc_center = center;//      arc_coords.arc_center = center;//      arc_coords.arc_center = center;//      arc_coords.radius = 500;       UF_CURVE_create_arc(&arc_coords,&arc_id); 8,UF_OBJ_set_name(tag,name); //设置名字头文件#include <uf_obj.h> 9,name开关       intname_status ;            UF_DISP_ask_name_display_status(&name_status);                        if (name_status==UF_DISP_NAME_DISPLAY_OFF )            {                  name_status=UF_DISP_NAME_DISPLAY_ON;            }            else             {                  name_status=UF_DISP_NAME_DISPLAY_OFF;            }            UF_DISP_set_name_display_status(name_status);                                                file:///C:/Users/sztl26/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif10,UF_OBJ_set_color(tag, color);//设置颜色头文件#include <uf_obj.h>                                          11,UF_OBJ_set_layer (tag,layer); //设置层头文件#include <uf_obj.h> 12,UF_CALL头文件#include <uf.h> int UF_CALL ( interrorCode ){      if ( errorCode )      {            char message = "";            UF_get_fail_message( errorCode, message );            uc1601 ( message, 1);      }      return (errorCode);} 13, UF_PART_ask_display_part头文件#include <uf_part.h> tag_t part = UF_PART_ask_display_part( );            if ( NULL == part )            {                  uc1601( "", 1 );                  return;            } 14, UF_OPER_create头文件#include <uf_oper.h> tag_t Oper_id = NULL;      UF_OPER_create( "mill_contour", "ZLEVEL_PROFILE_YBC", &GZM_Oper_id ); 15,UF_MODL_ask_face_data//查询面的信息 file:///C:/Users/sztl26/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif头文件#include<uf_modl.h>tag_t face;//面的ID      inttype;//面的类型    double box;//x,y,z向最大,最小值      double radius;      double rad_data;      intnorm_dir ;//法向            UF_MODL_ask_face_data(face,&type,center,            dir,box,&radius,&rad_data,&norm_dir); 16,UF_MODL_ask_minimum_dist_2//查询两物体间距离 doubledis,accuracy;// accuracy:准确度double point1={0};double point2={0};               UF_CALL(UF_MODL_ask_minimum_dist_2 ( obj1, obj2, 0, NULL, 0, NULL,                     & dis, point1, point1,&accuracy ));
页: [1]
查看完整版本: UG NX二次开发常用的函数模版--还不错分享下