zoukankan      html  css  js  c++  java
  • NX CAM二次开发-UF_OPER_create用指定的操作及子操作创建一个操作

    NX9+VS2012
    
    #include <uf.h>
    #include <uf_ui.h>
    #include <uf_ncgroup.h>
    #include <uf_setup.h>
    #include <uf_ui_ont.h>
    #include <uf_obj.h>
    #include <uf_param.h>
    #include <uf_param_indices.h>
    #include <uf_oper.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 programRootGroup=NULL_TAG;
    UF_SETUP_ask_program_root(setup_tag, &programRootGroup);
    
    //创建程序组
    tag_t newProgTag=NULL_TAG;
    UF_NCPROG_create("mill_planar" ,"PROGRAM", &newProgTag);
    UF_OBJ_set_name(newProgTag, "newProg");
    UF_NCGROUP_accept_member(programRootGroup, newProgTag);
    
    //获得机床视图的根节点
    tag_t mctRootgroup=NULL_TAG;
    UF_SETUP_ask_mct_root(setup_tag, &mctRootgroup);
    
    //创建新的刀具
    tag_t newToolTag=NULL_TAG;
    UF_CUTTER_create("mill_planar", "MILL", &newToolTag);
    UF_OBJ_set_name(newToolTag, "D16");    
    UF_NCGROUP_accept_member(mctRootgroup, newToolTag);
    //修改刀具的直径
    UF_PARAM_set_double_value(newToolTag, UF_PARAM_TL_DIAMETER, 16.0);
    
    //获得几何视图下的根节点
    tag_t geomRootgroup=NULL_TAG;
    UF_SETUP_ask_geom_root(setup_tag, &geomRootgroup);
    
    //创建加工坐标系几何
    tag_t newMcsTag=NULL_TAG;
    UF_NCGEOM_create("mill_planar", "MCS", &newMcsTag);
    UF_OBJ_set_name(newMcsTag, "newMcs");    
    UF_NCGROUP_accept_member(geomRootgroup, newMcsTag);
    
    //获得加工方法视图的根节点
    tag_t mthdRootgroup=NULL_TAG;
    UF_SETUP_ask_mthd_root(setup_tag, &mthdRootgroup);
    
    //创建操作
    tag_t newOperTag=NULL_TAG;
    UF_OPER_create("mill_planar", "PLANAR_MILL", &newOperTag);
    
    //插入操作得到4个组里面
    UF_NCGROUP_accept_member(newProgTag, newOperTag);
    UF_NCGROUP_accept_member(newToolTag, newOperTag);
    UF_NCGROUP_accept_member(newMcsTag, newOperTag);
    UF_NCGROUP_accept_member(mthdRootgroup, newOperTag);
    
    //刷新加工导航器
    UF_UI_ONT_refresh();
    
    UF_terminate();
    
    Caesar卢尚宇
    2020年5月12日

    作者: 阿飞

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

    关于作者:......

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

  • 相关阅读:
    移动端应用rem定义相对长度单位
    ionic4(angular) 生成browser平台的(webApp)在手机QQ浏览器不更新页面
    解决 git bash命令行执行git命令一直报错 segmentation fault
    MACBOOK OSX升级到10.15.3 Catalina 后 photoshop CS6(32位)不能用了
    自制操作系统笔记-第三章
    自制操作系统笔记-第2章
    自制操作系统笔记-第一章
    Vue学习笔记
    解决 MAC 终端上每次打开新窗口手动执行source ~/.bash_profile导出环境变量
    HTTPS的安全性
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/12878437.html
Copyright © 2011-2022 走看看