iCAx开思工具箱

标题: 谁用过这个函数UF_CURVE_create_offset_curve [打印本页]

作者: mizzle    时间: 2005-4-20 15:16
标题: 谁用过这个函数UF_CURVE_create_offset_curve
能否给提供各例子,试了半天都不好使。郁闷
作者: jambo436    时间: 2005-4-20 21:08
mizzle还会在这些小问题上被卡?
可惜我也没用过,不能帮你
作者: mizzle    时间: 2005-4-21 08:33
呵呵,二次开发我也很弱呀
作者: sizu    时间: 2005-4-26 03:16
你要吗?我明天看看,好像有的.
作者: mizzle    时间: 2005-4-26 08:30
要,ug里有一个例子,但是有一些地方不是很明白,如果有空能否交流一下
作者: sizu    时间: 2005-4-27 02:01
好啊,我就周末有空,平时可以mail。
作者: mizzle    时间: 2005-4-27 08:48
但是你没留联系方式
留下你的mail
作者: 深夜摔键盘    时间: 2005-4-27 08:55
简化的,只对一条 arc偏置。  
要搞清楚不同的UF_CURVE_offset_data_s.offset_type,对应者不同的UF_CURVE_offset_data_s.offset_def
  
还有一个问题就是,我没搞明白怎样设置偏置方向的。
////////////////////////////////////////////////////////////////////////////////
     double step = 1.0;
     char   distance_str[] = {"0.25"};
  
     char   *part_name="sample";
     int    units = UF_PART_METRIC;
     tag_t  part_tag,arc1_tag,*offset_curves;
     tag_t  wcs;
   UF_CURVE_arc_t arc_coords;
  
   int    num_curves=1;
     UF_STRING_t   input_string;
     UF_CURVE_offset_data_t offset_data;
   UF_CURVE_offset_distance_data_t offset_distance1;
  
   if( UF_CALL(UF_initialize()) )  
   {
     return;
   }
     UF_CALL(UF_PART_new(part_name, units, [$part_tag))]
  
     UF_CALL(UF_CSYS_ask_wcs([$wcs))]
     UF_CALL(UF_CSYS_ask_matrix_of_object(wcs,[$arc_coords.matrix_tag))]
     arc_coords.start_angle = 78.0 * (PI/180);
     arc_coords.end_angle = 101.0 * (PI/180);
     arc_coords.arc_center[0] = 0.5;
     arc_coords.arc_center[1] = -2.4750;
     arc_coords.arc_center[2] = 3.0;
     arc_coords.radius = 2.525;
  
     UF_CALL(UF_CURVE_create_arc([$arc_coords,&arc1_tag))]
  
   UF_MODL_create_string_list(1,1,[$input_string)]
     input_string.num = 1;
     input_string.string[0] = 1;
   input_string.dir[0] = 1;
   input_string.id[0] = arc1_tag;
  
     offset_data.offset_type = UF_CURVE_OFFSET_DISTANCE_FILLET;
     offset_data.input_curves = [$input_string]
     offset_data.approximation_tolerance = step;
     UF_MODL_ask_distance_tolerance([$offset_data.string_tolerance)]
     offset_data.offset_def.distance_type1 = [$offset_distance1]
     offset_distance1.distance = distance_str;
  
     UF_CALL(UF_CURVE_create_offset_curve(&offset_data,
                                          &num_curves,
                                          [$offset_curves))]
  
     UF_free(offset_curves);
   UF_CALL(UF_terminate());




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