zoukankan      html  css  js  c++  java
  • NX CAM二次开发-UF_PARAM_ask_double_value获取刀具的直径,总长,刃长等

    NX9+VS2012
    
    #include <uf.h>
    #include <uf_ui.h>
    #include <uf_ncgroup.h>
    #include <uf_setup.h>
    #include <uf_cutter.h>
    #include <uf_ui_ont.h>
    #include <uf_obj.h>
    #include <uf_param.h>
    #include <uf_param_indices.h>
    
    
    UF_initialize();
    
    //获取当前NX的加工设置TAG
    tag_t setup_tag = NULL_TAG;
    UF_SETUP_ask_setup(&setup_tag);
    if (setup_tag == NULL_TAG)
    {
        uc1601("提示:请先初始化加工环境!", 1);
        return;
    }
    
    //获取机床视图的根节点
    tag_t mct_group = NULL_TAG;
    UF_SETUP_ask_mct_root(setup_tag, &mct_group);
    
    //创建刀具
    tag_t newToolTag = NULL_TAG;
    UF_CUTTER_create("mill_planar", "MILL", &newToolTag);
    
    //添加刀具到机床视图的根节点下面
    UF_NCGROUP_accept_member(mct_group, newToolTag);
    
    //设置刀具的名字
    UF_OBJ_set_name(newToolTag, "D14");
    
    //获取刀具的直径
    double DIAMETERvalue = 0;
    UF_PARAM_ask_double_value(newToolTag, UF_PARAM_TL_DIAMETER, &DIAMETERvalue);
    
    //获取刀具总长
    double HEIGHTvalue = 0;
    UF_PARAM_ask_double_value(newToolTag,UF_PARAM_TL_HEIGHT, &HEIGHTvalue);
    
    //获取刀具刃长
    double FLUTE_LNvalue = 0;
    UF_PARAM_ask_double_value(newToolTag,UF_PARAM_TL_FLUTE_LN, &FLUTE_LNvalue);
    
    //获取刀具锥度 角度为弧度,需将度转换为弧度 
    double TAPER_ANGvalue = 0;
    UF_PARAM_ask_double_value(newToolTag,UF_PARAM_TL_TAPER_ANG, &TAPER_ANGvalue);
    
    //获取设置刀具尖角
    double TIP_ANGvalue = 0;
    UF_PARAM_ask_double_value(newToolTag,UF_PARAM_TL_TIP_ANG, &TIP_ANGvalue);
    
    //获取刀具切削刃数量
    int TL_NUM_FLUTESvalue = 0;
    UF_PARAM_ask_int_value(newToolTag,UF_PARAM_TL_NUM_FLUTES, &TL_NUM_FLUTESvalue);
    
    //获取刀具号 刀补号 补偿号
    int TL_NUMBERvalue = 0;
    UF_PARAM_ask_int_value(newToolTag,UF_PARAM_TL_NUMBER, &TL_NUMBERvalue);
    
    int TL_ADJ_REGvalue = 0;
    UF_PARAM_ask_int_value(newToolTag,UF_PARAM_TL_ADJ_REG, &TL_ADJ_REGvalue);
    
    int TL_CUTCOM_REGvalue = 0;
    UF_PARAM_ask_int_value(newToolTag,UF_PARAM_TL_CUTCOM_REG, &TL_CUTCOM_REGvalue);
    
    //刷新加工导航器
    UF_UI_ONT_refresh();
    
    //打印
    char msg[256];
    sprintf_s(msg, "刀具的直径:%f,
    刀具总长:%f,
    刀具刃长:%f,
    刀具锥度:%f,
    刀具尖角:%f,
    刀具切削刃数量:%d,
    刀具号:%d,
    刀补号:%d,
    补偿号:%d,", DIAMETERvalue, HEIGHTvalue, FLUTE_LNvalue, TAPER_ANGvalue, TIP_ANGvalue, TL_NUM_FLUTESvalue, TL_NUMBERvalue, TL_ADJ_REGvalue, TL_CUTCOM_REGvalue);
    UF_UI_open_listing_window();
    UF_UI_write_listing_window(msg);
    
    UF_terminate();
    
    Caesar卢尚宇
    2020年5月11日

    作者: 阿飞

    出处: https://www.cnblogs.com/nxopen2018/>

    关于作者:......

    如有问题, 可在底部(留言)咨询.

  • 相关阅读:
    qt一些函数
    js时间字符串转时间戳
    golang学习之interface与其它类型转换
    golang学习之奇葩的time format
    windows下安装mongodb
    golang学习之struct
    golang学习之闭包
    js生成6位随机码
    golang学习之生成代码文档
    moment常用操作
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/12872543.html
Copyright © 2011-2022 走看看