NX9+VS2012

 #include <uf.h>
#include <uf_ui.h>
#include <uf_assem.h>
#include <uf_part.h> static int select_filter_proc_fn(tag_t object, int type[], void* user_data, UF_UI_selection_p_t select)
{
if (object == NULL)
{
return UF_UI_SEL_REJECT;
}
else
{
return UF_UI_SEL_ACCEPT;
}
} static int init_proc(UF_UI_selection_p_t select, void* user_data)
{
int num_triples = ;//可选类型的数量
UF_UI_mask_t mask_triples[] =
{ UF_component_type, UF_UI_SEL_NOT_A_FEATURE,
};//可选对象类型
UF_UI_set_sel_mask(select, UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC, num_triples, mask_triples);
if ((UF_UI_set_sel_procs(select, select_filter_proc_fn, NULL, user_data)) == )
{
return UF_UI_SEL_SUCCESS;
}
else
{
return UF_UI_SEL_FAILURE;
}
} UF_initialize(); //单对象选择对话框
char sCue[] = "单对象选择对话框";
char sTitle[] = "选择一个装配组件";
int iScope = UF_UI_SEL_SCOPE_NO_CHANGE;
int iResponse;
tag_t tView;
double adCursor[];
tag_t ComponentTag = NULL_TAG;//单选控件获得的tag
UF_UI_select_with_single_dialog(sCue, sTitle, iScope, init_proc, NULL, &iResponse, &ComponentTag, adCursor, &tView); //获取装配部件的相关信息
char part_name[MAX_FSPEC_BUFSIZE];//零件名称
char refset_name[UF_OBJ_NAME_BUFSIZE];//引用集名称
char instance_name[UF_CFI_MAX_FILE_NAME_BUFSIZE];//实例名称
double origin[];//组件的位置
double csys_matrix[];//坐标系矩阵
double transform[][];//转换矩阵
UF_ASSEM_ask_component_data(ComponentTag, part_name, refset_name, instance_name, origin, csys_matrix, transform); //由名字得到装配部件实例的TAG
tag_t instanceTAG = UF_ASSEM_ask_instance_of_name(UF_PART_ask_display_part(), part_name); //替换组件
UF_PART_load_status_t load_status;
UF_ASSEM_use_alternate(&instanceTAG, "D:\\1\\model3.prt", "", "", &load_status); UF_terminate(); caesar卢尚宇
2019年8月12日

补充2019年11月18日

今天有网友wzl给我留言,纠正了一个bug,在这个例子中,这个函数tag_t instanceTAG = UF_ASSEM_ask_instance_of_name(UF_PART_ask_display_part(), part_name);

里面的这个输入参数,part_name,不应该是part的名字,应该是装配部件的实例名称instance_name。这个地方是我的一个疏忽,因为默认情况下应该part名字和实例名字是一个名字。

感谢网友纠正的错误。

NX二次开发-UFUN替换组件UF_ASSEM_use_alternate的更多相关文章

  1. NX二次开发-UFUN替换组件UF_ASSEM_substitute_component

    NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_assem.h> #include <u ...

  2. NX二次开发-UFUN发射线函数UF_MODL_trace_a_ray的用法

    今天是国庆节,放假休息懒得动,没有出去玩,在家研究一下发射线函数UF_MODL_trace_a_ray.小弟以前在软件公司混的时候,当时我做的那个项目就用到了UF_MODL_trace_a_ray,当 ...

  3. NX二次开发-UFUN将工程图转成CGM和PDF文件UF_CGM_export_cgm

    文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...

  4. NX二次开发-UFUN获取NX系统默认导出CGM的选项设置UF_CGM_ask_default_export_options

    文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...

  5. NX二次开发-UFUN获取当前导出CGM选项设置UF_CGM_ask_session_export_options

    文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...

  6. NX二次开发-UFUN修改当前导出CGM文件选项设置UF_CGM_set_session_export_options

    文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...

  7. NX二次开发-UFUN计算两点距离UF_VEC3_distance

    NX11+VS2013 #include <uf.h> #include <uf_curve.h> #include <uf_vec.h> UF_initializ ...

  8. NX二次开发-UFUN拉伸函数UF_MODL_create_extruded

    NX9+VS2012 //NX二次开发中常用拉伸函数为UF_MODL_create_extruded2,但是此函数不能拉伸片体, //想要拉伸片体用函数UF_MODL_create_extruded. ...

  9. NX二次开发-UFUN拉伸函数UF_MODL_create_extruded2

    NX9+VS2012 //NX二次开发中常用拉伸函数为UF_MODL_create_extruded2,但是此函数不能拉伸片体, //想要拉伸片体用函数UF_MODL_create_extruded. ...

随机推荐

  1. 排序+并查集——cf1213F

    /* 有向边(pi,pi+1),形成链后进行dfs,求出dfs序 一个联通块内的元素必须是同一个字符,如果最后的联通块个数<k,说明不行 */ #include<bits/stdc++.h ...

  2. 设置select下拉框高度的一种方法

    这种方法可以设置下拉框最多显示几条栏目,多余的栏目用显示滚动条展示: <select style="position: absolute;z-index: 1;" onmou ...

  3. (转)秒懂,Java 注解 (Annotation)你可以这样学 ---- 重要 注解定义与反射解析

    转:http://blog.csdn.net/briblue/article/details/73824058 文章开头先引入一处图片.  这处图片引自老罗的博客.为了避免不必要的麻烦,首先声明我个人 ...

  4. css 导航样式

    html  结构 <div class="nav-menu float-r"> <ul class="menu-item"> <l ...

  5. Invoking destroy method 'close' on bean with name 'dataSource'

    Invoking destroy method 'close' on bean with name 'dataSource' Spring与Mybatis整合时出现的问题,找了一晚上结果是一个属性写错 ...

  6. msgbox用法

    http://www.w3school.com.cn/vbscript/func_msgbox.asp VBScript MsgBox 函数 VBScript 函数参考手册 定义和用法 MsgBox ...

  7. HDU 6628 permutation 1 (暴力)

    2019 杭电多校 5 1005 题目链接:HDU 6628 比赛链接:2019 Multi-University Training Contest 5 Problem Description A s ...

  8. POJ 1673 EXOCENTER OF A TRIANGLE(解三角形重心)

    题目链接:http://poj.org/problem?id=1673 AC代码: #include<cstdio> #include<cmath> #include<a ...

  9. Red Hat Enterprise Linux 7.7 使用最小化安装后,怎么安装桌面的解决方法

    准备工具: xshell6,xftp6,到官网(https://www.netsarang.com/zh/downloading/)进行下载,教育版的,个人使用 虚拟机安装教程百度即可,安装时有两个重 ...

  10. (数据科学学习手札61)xpath进阶用法

    一.简介 xpath作为对网页.对xml文件进行定位的工具,速度快,语法简洁明了,在网络爬虫解析内容的过程中起到很大的作用,除了xpath的基础用法之外(可参考我之前写的(数据科学学习手札50)基于P ...