[c++] NX二次开发圆弧拉伸成圆柱C++源码教程就上UG网

[复制链接]
ug9.0发表于 2016-5-28 07:07:29 | 显示全部楼层 |阅读模式
学UG二次开发就上UG网:
通过先创建一个圆弧,然后把圆弧加入链表,并对其执行拉伸,本例要使用两个UF函数,分别为创建圆弧与创建拉伸,这是多函数简单组合;

UG二次开发

UG二次开发

NX二次开发C++源码教程:
  1. /*中磊国际模具培训-创建圆弧并拉伸圆柱功能*/

  2.     tag_t arc_id, wcs_tag;//弧、坐标
  3.     UF_CURVE_arc_t arc_coords;//创建弧

  4.     /*学NX二次开发就上UG网-www.9sug.com弧参数 */

  5.     arc_coords.start_angle = 0.0;//起始角度
  6.     arc_coords.end_angle = 360 * DEGRA;//终止角度,当终止角度小于360度时,其为圆弧
  7.     arc_coords.arc_center[0] = 0.0;
  8.     arc_coords.arc_center[1] = 0.0;
  9.     arc_coords.arc_center[2] = 0.0;//坐标位置
  10.     arc_coords.radius = 10;//弧半径

  11.     UF_CSYS_ask_wcs(&wcs_tag);
  12.     UF_CSYS_ask_matrix_of_object(wcs_tag, &arc_coords.matrix_tag);//坐标转换

  13.     UF_CURVE_create_arc(&arc_coords, &arc_id);//创建弧

  14.     uf_list_p_t obj, features;  //链表
  15.     UF_MODL_create_list(&obj);               // 创建链表   
  16.     UF_MODL_put_list_item(obj, arc_id);  // 把创建的直线加入到链表
  17.     char * taper_angle = "0.0";      //锥角
  18.     char * limit[2] = { "0", "20" };  //拉伸开始与结束值
  19.     double point[3] = { 0, 0, 0 };     //点坐标(本例是使用已创建的直线进行拉伸)
  20.     double direction[3] = { 0, 0, 1 }; //拉伸失量
  21.     UF_FEATURE_SIGN   sign = UF_NULLSIGN; //创建新几何实体
  22.     UF_MODL_create_extruded(obj, taper_angle, limit, point, direction, sign, &features);//拉伸特征

  23.             
  24.     /* Terminate the API environment */
复制代码


就上UG网淘宝直营店
您需要登录后才可以回帖 登录 | 注册UG网 用百度帐号登录

本版积分规则