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日

  • 相关阅读:
    python批量安装包文件requirements.txt
    python→列表、元组、字典、集合对比整理表
    Python ddt+xlrd的使用
    input类型上传多个文件(selenium+Python)
    iframe切入切出问题,经常会碰到
    selenium+python 第一步启动火狐报错解决方案,已成功
    QTP从svn上载下来无法跑,解决
    函数可变参传值(python)
    关于python 函数参数
    Air Kiss
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/15409203.html
Copyright © 2011-2022 走看看