OPENC函数 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 }
posted @ 2019-12-14 12:08  你好我叫赵老师  阅读(670)  评论(0编辑  收藏  举报