zoukankan      html  css  js  c++  java
  • NX二次开发UFUN获取几何对象的维数UF_MODL_ask_obj_dimensionality

    NX11+VS2013
    
    #include <uf.h>
    #include <uf_ui.h>
    #include <uf_curve.h>
    #include <uf_modl.h>
    
    
    UF_initialize();
    
    //创建点
    double point_coords[3] = { 10, 10, 10 };
    tag_t point_tag = NULL_TAG;
    UF_CURVE_create_point(point_coords, &point_tag);
    
    //获取几何对象的维数
    int dimensionality = 0;//物体的维度 -1 = object is not valid  UF_MODL_POINT  UF_MODL_LINEAR  UF_MODL_PLANAR  UF_MODL_THREE_DIMENSIONAL
    double data[6] = { 0 };
    //如果维数 = UF_MODL_POINT
    //Data[0 - 2] = 点的坐标
    //如果维数 = UF_MODL_LINEAR
    //数据[0 - 2] = 直线上一点的坐标
    //Data[3 - 5] = 直线的单位方向向量
    //如果维数 = UF_MODL_PLANAR
    //数据[0 - 2] = 平面上一点的坐标
    //Data[3 - 5] = 平面的单位法线
    //如果维数 =  UF_MODL_THREE_DIMENSIONAL
    //数据[0 - 5] = 未使用
    UF_MODL_ask_obj_dimensionality(point_tag, &dimensionality, data);
    
    if (dimensionality == UF_MODL_POINT)
    {
        //打印
        char msg[256];
        sprintf(msg, "点的坐标 X:%f, Y:%f, Z:%f", data[0], data[1], data[2]);
        uc1601(msg, 1);
    }
    
    
    UF_terminate();
    
    阿飞
    2021年10月14日

     

    NX11+VS2013
    
    #include <uf.h>
    #include <uf_ui.h>
    #include <uf_curve.h>
    #include <uf_modl.h>
    
    
    UF_initialize();
    
    
    //创建直线
    UF_CURVE_line_t Line_coords;
    Line_coords.start_point[0] = 15.0;
    Line_coords.start_point[1] = 16.0;
    Line_coords.start_point[2] = 17.5;
    Line_coords.end_point[0] = 100.0;
    Line_coords.end_point[1] = 100.0;
    Line_coords.end_point[2] = 100.0;
    tag_t Line = NULL_TAG;
    UF_CURVE_create_line(&Line_coords, &Line);
    
    //获取几何对象的维数
    int dimensionality = 0;//物体的维度 -1 = object is not valid  UF_MODL_POINT  UF_MODL_LINEAR  UF_MODL_PLANAR  UF_MODL_THREE_DIMENSIONAL
    double data[6] = { 0 };
    //如果维数 = UF_MODL_POINT
    //Data[0 - 2] = 点的坐标
    //如果维数 = UF_MODL_LINEAR
    //数据[0 - 2] = 直线上一点的坐标
    //Data[3 - 5] = 直线的单位方向向量
    //如果维数 = UF_MODL_PLANAR
    //数据[0 - 2] = 平面上一点的坐标
    //Data[3 - 5] = 平面的单位法线
    //如果维数 =  UF_MODL_THREE_DIMENSIONAL
    //数据[0 - 5] = 未使用
    UF_MODL_ask_obj_dimensionality(Line, &dimensionality, data);
    
    if (dimensionality == UF_MODL_LINEAR)
    {
        //打印
        char msg[256];
        sprintf(msg, "直线上一点的坐标 X:%f, Y:%f, Z:%f, \n直线的单位方向向量 X:%f, Y:%f, Z:%f", data[0], data[1], data[2], data[3], data[4], data[5]);
        uc1601(msg, 1);
    }
    
    UF_terminate();
    
    阿飞
    2021年10月14日

     

    NX11+VS2013
    
    #include <uf.h>
    #include <uf_ui.h>
    #include <uf_curve.h>
    #include <uf_modl.h>
    
    
        
    UF_initialize();
    
    
    //一个平面的tag(只能是平面)
    tag_t face_Tag = 44046;
    
    
    //获取几何对象的维数
    int dimensionality = 0;//物体的维度 -1 = object is not valid  UF_MODL_POINT  UF_MODL_LINEAR  UF_MODL_PLANAR  UF_MODL_THREE_DIMENSIONAL
    double data[6] = { 0 };
    //如果维数 = UF_MODL_POINT
    //Data[0 - 2] = 点的坐标
    //如果维数 = UF_MODL_LINEAR
    //数据[0 - 2] = 直线上一点的坐标
    //Data[3 - 5] = 直线的单位方向向量
    //如果维数 = UF_MODL_PLANAR
    //数据[0 - 2] = 平面上一点的坐标
    //Data[3 - 5] = 平面的单位法线
    //如果维数 =  UF_MODL_THREE_DIMENSIONAL
    //数据[0 - 5] = 未使用
    UF_MODL_ask_obj_dimensionality(face_Tag, &dimensionality, data);
    
    if (dimensionality == UF_MODL_PLANAR)
    {
        //打印
        char msg[256];
        sprintf(msg, "平面上一点的坐标 X:%f, Y:%f, Z:%f, \n平面的单位法线 X:%f, Y:%f, Z:%f", data[0], data[1], data[2], data[3], data[4], data[5]);
        uc1601(msg, 1);
    }
    
    
    UF_terminate();
    
    阿飞
    2021年10月14日

     

    阿飞

    2021年10月14日

  • 相关阅读:
    使用ANT入门例子
    React 项目中使用create-react-app创建项目引入antd样式不起作用的问题
    js中对象数组遍历,及区别
    vue中axios封装
    uni-app中开发需要注意事项
    git 提交代码和 合并分支 ,回滚代码
    vue..js3.0
    vue中强制组件重新渲染
    vuex中获取当前路由
    H5 video在移动端播放层级问题
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/15409203.html
Copyright © 2011-2022 走看看