NX二次开发-UFUN替换组件UF_ASSEM_use_alternate
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的更多相关文章
- NX二次开发-UFUN替换组件UF_ASSEM_substitute_component
NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_assem.h> #include <u ...
- NX二次开发-UFUN发射线函数UF_MODL_trace_a_ray的用法
今天是国庆节,放假休息懒得动,没有出去玩,在家研究一下发射线函数UF_MODL_trace_a_ray.小弟以前在软件公司混的时候,当时我做的那个项目就用到了UF_MODL_trace_a_ray,当 ...
- NX二次开发-UFUN将工程图转成CGM和PDF文件UF_CGM_export_cgm
文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...
- NX二次开发-UFUN获取NX系统默认导出CGM的选项设置UF_CGM_ask_default_export_options
文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...
- NX二次开发-UFUN获取当前导出CGM选项设置UF_CGM_ask_session_export_options
文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...
- NX二次开发-UFUN修改当前导出CGM文件选项设置UF_CGM_set_session_export_options
文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...
- NX二次开发-UFUN计算两点距离UF_VEC3_distance
NX11+VS2013 #include <uf.h> #include <uf_curve.h> #include <uf_vec.h> UF_initializ ...
- NX二次开发-UFUN拉伸函数UF_MODL_create_extruded
NX9+VS2012 //NX二次开发中常用拉伸函数为UF_MODL_create_extruded2,但是此函数不能拉伸片体, //想要拉伸片体用函数UF_MODL_create_extruded. ...
- NX二次开发-UFUN拉伸函数UF_MODL_create_extruded2
NX9+VS2012 //NX二次开发中常用拉伸函数为UF_MODL_create_extruded2,但是此函数不能拉伸片体, //想要拉伸片体用函数UF_MODL_create_extruded. ...
随机推荐
- PHP ftp_chdir() 函数
定义和用法 ftp_chdir() 函数改变 FTP 服务器上的当前目录为指定目录. 如果成功,该函数返回 TRUE.如果失败,则返回 FALSE 和一个警告. 语法 ftp_chdir(ftp_co ...
- 预处理+状态压缩+剪枝——codefoece 1209E
那一步剪枝实在是没想到 #include<bits/stdc++.h> using namespace std; #define N 2005 struct Col{ ],Max[< ...
- renren-fast-vue-动态路由
在renren-fast-vue项目中,左侧边栏的系统管理这一模块的路由采用的是动态路由的写法, 模块中的路由内容由后台动态生成,在前端开发阶段,采用的是mock模拟数据生成 先是在左侧边栏(view ...
- Framework7-Vue的UI组件代码
Framework7-Vue提供了一套UI组件库,想要什么效果,直接到上面复制代码即可 http://www.framework7.cn/ 这里有非常多的ui组件,基本上可以满足项目中的大部分需求 h ...
- Codeforces Round#498(Div.3)D. Two Strings Swaps
题目 题意是给了两个字符串a和b,然后可以对这两个字符串有三种操作来使这两个字符串相等,一是交换a[i]和b[i],二是交换a[i]和a[n-i+1],三是交换b[i]和b[n-i+1],这三个操作都 ...
- C/S模式简单socket通信
TCP连接方式 sever.c #include <stdio.h>#include <stdlib.h>#include <sys/socket.h>#inclu ...
- vim与ctags/cscope的完美结合
1. 安装vim/ctags/cscope ctag 2. 在源码根目录下执行 sudo ctags -R . 会生成tags文件,里面包含着整个源码目录下的符号信息. 3. 直接到达某个符号(比 ...
- LeetCode 相交链表&环形链表II
题目链接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/ 题目连接:https://leetcode-cn.com ...
- Django框架(七)—— 模板层:变量、过滤器、标签、自定义标签和过滤器
目录 模板层:变量.过滤器.标签.自定义标签和过滤器 一.模板层变量 1.语法 2.使用 二.模板层之过滤器 1.语法 2.常用过滤器 3.其他过滤器 三.模板值标签 1.for标签 2.if标签 3 ...
- 牛客练习赛51 B 子串查询 https://ac.nowcoder.com/acm/contest/1083/B
题目描述 给出一个长度为n的字符串s和q个查询.对于每一个查询,会输入一个字符串t,你需要判断这个字符串t是不是s的子串.子串的定义就是存在任意下标a<b<c<d<e,那么”s ...