NX二次开发-UFUN替换组件UF_ASSEM_substitute_component
2024-09-03 03:02:10
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_substitute_component (&instanceTAG, "D:\\1\\model3.prt", "", "", ,&load_status); UF_terminate(); caesar卢尚宇
2019年8月12日
最新文章
- 【重要!】告K2老客户书
- C语言文件的读写
- thinkphp类的调用
- const,static,volatile
- textarea输入框限制字数(JS)
- 【转】C# 重写WndProc 拦截 发送 系统消息 + windows消息常量值(1)
- Unslider--使用手册系列(一)
- POJ 3080 Blue Jeans (KMP)
- linux c/c++ GDB教程详解
- Java---XML的解析(2)-DOM4J解析/Xpath
- TSQL Challenge 1
- 重点block
- Could not autowire. No beans of &#39;xxxx&#39; type found的错误
- 安装vue 教程
- MySQL系列详解八:MySQL多线程复制演示-技术流ken
- mysql where和having的区别
- CAD中批量打印
- .net的XML对象序列化VS WCF中xml序列化问题
- 解决java获取系统时间差8个小时 专题
- 五 Android Studio打包Eegret App (包名和签名,打出正式包)