码迷,mamicode.com
首页 > 其他好文 > 详细

NX二次开发-UF_DRF_ask_dim_info获得图纸尺寸属于哪个视图和图纸页

时间:2021-06-17 16:42:49      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:nat   wing   ==   获取   ddr   alt   inf   soc   mes   

需求:获得图纸上的尺寸属于哪个视图和图纸页

今天看到有个兄弟问了这个问题,这个需求,我以前给公司开发的工具中用到过。

但以前好像是忘记写到博客上了,今天专门记录一下。

NX9+VS2012

#include <uf.h>
#include <uf_draw.h>
#include <uf_drf.h>
#include <uf_assem.h>
#include <uf_obj.h>


UF_initialize();

//假设已知当前只有两张图纸页
//获得所有图纸页tag
int num_drawings = 0;
tag_p_t drawing_tags = NULL_TAG;
UF_DRAW_ask_drawings(&num_drawings, &drawing_tags);

tag_t workPartTag = UF_ASSEM_ask_work_part();
//遍历所有尺寸
NXString ExpName;
string FeatureExpNameStr;
string StrRight;
tag_t dimTag = NULL_TAG;
while (!(UF_OBJ_cycle_objs_in_part(workPartTag, UF_dimension_type, &dimTag)) && dimTag)
{
    //获取尺寸值
    int dim_subtype = 0;
    double dim_origin[3];
    UF_DRF_dim_info_p_t dim_info;
    UF_DRF_ask_dim_info(dimTag, &dim_subtype, dim_origin, &dim_info);
    string DimValue = dim_info->text_info->text->full_string;

    //找尺寸属于哪个视图
    tag_t FindViewTag = dim_info->dim_line_info->assoc_objs->assoc_object_view_tag;

    //找视图属于哪个图纸页
    tag_t FindDrawTag = NULL_TAG;
    UF_DRAW_ask_drawing_of_view(FindViewTag, &FindDrawTag);

    if (FindDrawTag == drawing_tags[0])//第一张图纸页里面的所有尺寸
    {
        //获取尺寸原点位置
        double DimOrigin[3];
        DimOrigin[0] = dim_info->text_info->origin[0];
        DimOrigin[1] = dim_info->text_info->origin[1];
        DimOrigin[2] = dim_info->text_info->origin[2];

        //重置原点位置
        double NewDimOrigin[3] = {10, 10, 10};
        UF_DRF_set_origin(dimTag, NewDimOrigin);

    }
    else if(FindDrawTag == drawing_tags[1])//第二张图纸页里面的所有尺寸
    {
        //获取尺寸原点位置
        double DimOrigin[3];
        DimOrigin[0] = dim_info->text_info->origin[0];
        DimOrigin[1] = dim_info->text_info->origin[1];
        DimOrigin[2] = dim_info->text_info->origin[2];

        //重置原点位置
        double NewDimOrigin[3] = {50, 50, 50};
        UF_DRF_set_origin(dimTag, NewDimOrigin);
    }

}


UF_terminate();

阿飞
2021年6月16日

技术图片

阿飞

2021年6月16日

NX二次开发-UF_DRF_ask_dim_info获得图纸尺寸属于哪个视图和图纸页

标签:nat   wing   ==   获取   ddr   alt   inf   soc   mes   

原文地址:https://www.cnblogs.com/nxopen2018/p/14891532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!