[示例代码] UG CAM 二次开发创建新的加工坐标系MCS方法,并设置新加工坐标系的位置到当前WCS工作坐标系

本示例代码在几何视图的根组下通过UG CAM二次开发提供的函数(UF_NCGEOM_create)创建一个新的加工坐标系MCS,并设置新加工坐标系的位置到当前WCS工作坐标系的位置。创建方式为通过在UG默认模板 mill_planar 下几何体子类型为 MCS 的方式创建。

[示例代码] UG CAM 二次开发创建新的加工坐标系MCS方法,并设置新加工坐标系的位置到当前WCS工作坐标系_第1张图片

同理如果要创建 WORKPIECE,只需要提供WORKPIECE名称即可,而WORKPIECE内的部件、毛坯、检查体的设置方法,请参见帖子:http://www.ugapi.com/thread-6227.html

创建新的加工坐标系示例代码:

//创建新的加工坐标系MCS
tag_t  newObject=null_tag;
UF_NCGEOM_create("mill_planar","MCS",&newObject);
 
//设定新加工坐标系名称
const char * objName ="胡君MCS";
UF_OBJ_set_name(newObject, objName);
 
/*在当前几何视图根组下插入新的坐标系
  并将新的坐标系位置设置到当前的工作坐标系WCS的位置*/

//获取当前UF_SETUP对象
tag_t setupTag=NULL_TAG;
UF_SETUP_ask_setup(&setupTag);
 
//获取几何根组
tag_t rootGroup=null_tag;
UF_SETUP_ask_geom_root(setupTag,&rootGroup);
 
 
//检查几何根组是否接受新建的几何成员
logical answer=0;
char reason[UF_NCGROUP_MAX_REASON_LEN];
int error = UF_NCGROUP_can_accept_member(rootGroup,newObject,&answer,reason);
if (error)
{
    uc1601("不接受新建的成员?", 1);
}
if (answer)
{
    error = UF_NCGROUP_accept_member(rootGroup,newObject);
    if (error)
    {
        uc1601("在根组中添加失败",1);
    }
    else
    {
 
        //在插入后,这里将当前WCS设置给新的这个加工坐标
        tag_t wcsTag = NULL_TAG;
        UF_CSYS_ask_wcs(&wcsTag);
        UF_PARAM_set_tag_value(newObject, UF_PARAM_MCS, wcsTag);
 
        //刷新导航器
        UF_UI_ONT_refresh();
 
        uc1601("创建成功",1);
 
    }
}

创建新加工坐标系演示效果:

[示例代码] UG CAM 二次开发创建新的加工坐标系MCS方法,并设置新加工坐标系的位置到当前WCS工作坐标系_第2张图片

你可能感兴趣的:(CAM开发)