/* Include files */
#include <stdarg.h>
#include <stdio.h>
#include <uf.h>
#include <uf_ui_types.h>
#include <uf_ui.h>
#include <uf_ncgroup.h>
#include <uf_defs.h>
#include <uf_cam.h>
#include <uf_param.h>
#include <uf_param_indices.h>
#include <uf_cutter.h>
#include <uf_obj.h>
#include <uf_setup.h>
#include <uf_ui_ont.h>
//创建新刀具,获取新刀具的Tag
tag_t NewToolObject = null_tag;
UF_CUTTER_create("mill_planar", "Mill", &NewToolObject);
//设定刀具名称
const char * ToolName = "D10";
UF_OBJ_set_name(NewToolObject, ToolName);
//以下设置刀具的直径、总长、锥度、刀具号、旋转方向、刀柄等参数
//设置刀具的直径
UF_PARAM_set_double_value(NewToolObject, UF_PARAM_TL_DIAMETER, 10);
//设置刀具的总长
UF_PARAM_set_double_value(NewToolObject, UF_PARAM_TL_HEIGHT, 100.0);
//设置刀具的刃长
UF_PARAM_set_double_value(NewToolObject, UF_PARAM_TL_FLUTE_LN, 50.0);
//在刀具的根组下插入这把新的刀具
//获取当前部件的UF_SETUP对象
tag_t SetupTag = NULL_TAG;
UF_SETUP_ask_setup(&SetupTag);
//获取刀具组的根组Tag
tag_t ToolRootGroup = null_tag;
UF_SETUP_ask_mct_root(SetupTag, &ToolRootGroup);
//检查刀具根组是否接受新建的刀具成员
logical answer = 0;
char reason[UF_NCGROUP_MAX_REASON_LEN];
int error = UF_NCGROUP_can_accept_member(ToolRootGroup, NewToolObject, &answer, reason);
if (error)
{
uc1601("不能创建刀具", 1);
}
else
{
error = UF_NCGROUP_accept_member(ToolRootGroup, NewToolObject);
if (error)
{
uc1601("在根组中添加新刀具失败", 1);
}
else
{
uc1601("刀具创建成功", 1);
//刷新导航器
UF_UI_ONT_refresh();
}
}
/* Terminate the API environment */
UF_CALL(UF_terminate());
}