UFUN函数 UF_ASSEM UF_PART函数(UF_ASSEM_ask_work_part,UF_PART_ask_part_name)
Posted zzyfym
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UFUN函数 UF_ASSEM UF_PART函数(UF_ASSEM_ask_work_part,UF_PART_ask_part_name)相关的知识,希望对你有一定的参考价值。
1 UF_initialize(); 2 3 tag_t work_part_tag=NULL_TAG; 4 char part_fspec[MAX_FSPEC_SIZE+1]=""; 5 //获取当前工作部件的tag 6 work_part_tag=UF_ASSEM_ask_work_part(); 7 //得到工作部件的路径 8 UF_PART_ask_part_name(work_part_tag,part_fspec); 9 //拆分字符串 10 string s1_buffer=part_fspec; 11 string path_name=s1_buffer.substr(0,s1_buffer.find_last_of(""));//注意此处""不能为""。 12 //打印 13 UF_UI_open_listing_window(); 14 UF_UI_write_listing_window(path_name.c_str()); 15 16 UF_terminate();
注意:上分程序截图是单个函数的表示方法(我也不知道怎么表达合适)
而下方的程序截图是自己写的函数,主程序来调取函数完成相应功能(代码的模块化)
1 //此函数功能是输入工作部件的tag,返回工作部件的路径 2 static string path_name(tag_t path_tag) 3 { 4 char part_fspec[MAX_FSPEC_SIZE+1]=""; 5 //得到工作部件的路径 6 UF_PART_ask_part_name(path_tag,part_fspec); 7 //拆分字符串 8 string s1_buffer=part_fspec; 9 string path=s1_buffer.substr(0,s1_buffer.find_last_of(""));// 注意此处应是""不能为""。 10 return path; 11 } 12 13 extern DllExport void ufsta( char *param, int *returnCode, int rlen ) 14 { 15 /* Initialize the API environment */ 16 if( UF_CALL(UF_initialize()) ) 17 { 18 /* Failed to initialize */ 19 return; 20 } 21 22 /* TODO: Add your application code here */ 23 UF_initialize(); 24 25 //以下为函数对应内容 26 tag_t work_part_tag=NULL_TAG; 27 //获取当前工作部件的tag 28 work_part_tag=UF_ASSEM_ask_work_part(); 29 //路径名称 30 string name=path_name(work_part_tag); 31 //打印 32 UF_UI_open_listing_window(); 33 UF_UI_write_listing_window(name.c_str()); 34 35 UF_terminate(); 36 37 /* Terminate the API environment */ 38 UF_CALL(UF_terminate()); 39 }
以上是关于UFUN函数 UF_ASSEM UF_PART函数(UF_ASSEM_ask_work_part,UF_PART_ask_part_name)的主要内容,如果未能解决你的问题,请参考以下文章
NX二次开发-UFUN替换组件UF_ASSEM_use_alternate
NX二次开发-UFUN替换组件UF_ASSEM_substitute_component
NX二次开发-UFUN设置当前显示部件UF_PART_set_display_part
NX二次开发-UFUN装配添加组件UF_ASSEM_add_part_to_assembly