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

NX二次开发-UFUN获取当前工作部件tag UF_ASSEM_ask_work_part

NX二次开发-UFUN通过prt名字得到prt的tag UF_PART_ask_part_tag