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 }