iCAx开思工具箱

标题: 【求助】各位老大,问个函数的用法 [打印本页]

作者: suye007    时间: 2004-7-2 16:13
标题: 【求助】各位老大,问个函数的用法
我想查询样条曲线的参数,在使用下面这个函数的时候竟然得不到结果,我想可能是parm这个参数赋值不正确,help上讲“The input curve parameter, parm, is normalized between 0 and 1.”,意思应该是在0~1之间取值吧,我随便给定parm一个0.5测试了一下,就是没有结果,想请教
UF_MODL_ask_curve_props ( )的用法。程序代码如下:
int CHANGE_action_0_act_cb ( int dialog_id,
              void * client_data,
              UF_STYLER_item_value_type_p_t callback_data)
{
     char cue[] = "Select the ideal surface";
     char title[] = "Slect by Class";
     int response, count;
     tag_p_t obj;
   tag_t surface_tag;
   //平面的参数
   double  origin_point[ 3 ] ={0,0,30};
   double  plane_normal[ 3 ] ={0,0,1};
   tag_t   plane_tag;
   tag_t  section_curves_feature;  
   //surface的参数
   tag_t  objects[1], planes[1];
     UF_CURVE_section_general_data_t  general_data;
     UF_CURVE_section_planes_data_t   planes_data;
   //curve的参数
   //tag_t curve_id;  
     double parm=0.5;
    double point[3];  
    double tangent[3];  
    double p_norm[3];
    double b_norm[3];  
    double torsion;
    double rad_of_cur;
  
  
      /* Make sure User Function is available. */   
      if ( UF_initialize() != 0)  
           return ( UF_UI_CB_CONTINUE_DIALOG );
  
      /* ---- Enter your callback code here ----- */
  
     if(UF_UI_select_with_class_dialog(
           cue, title, UF_UI_SEL_SCOPE_WORK_PART,
           NULL, NULL, &response, &count, &obj) == 0)
     {
           
          if (response == UF_UI_OK)
          {
              objects[0]=surface_tag=obj[0];
              UF_free(obj);
              UF_MODL_create_plane(origin_point, plane_normal, [$plane_tag)]
     
              planes[0] = plane_tag;
  
              general_data.associate     = 1;
              general_data.objects       = objects;
              general_data.num_objects   = 1;
              general_data.grouping      = 0;
              general_data.join_type     = 0;
              general_data.tolerance     = 0.001;
  
              planes_data.planes         = planes;
              planes_data.num_planes     = 1;
  
             UF_CURVE_section_from_planes (&general_data, &planes_data,
                      [$section_curves_feature)]
  
             UF_MODL_ask_curve_props (section_curves_feature, parm, point,  
         tangent, p_norm, b_norm, &torsion,
         
[$rad_of_cur )]
          }
     }
  
      UF_terminate ();
  
     /* Callback acknowledged, do not terminate dialog */
     return (UF_UI_CB_CONTINUE_DIALOG);  
      
     /* or Callback acknowledged, terminate dialog.    */
     /* return ( UF_UI_CB_EXIT_DIALOG );               */
  
}




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3