设为首页 加入收藏

TOP

Teamcenter_NX集成开发:UF_UGMGR函数的使用(二)
2023-07-23 13:35:03 】 浏览:112
Tags:Teamcenter_NX 成开发 UF_UGMGR
nt, &names);// 获取关联文件 91 for (k = 0; k < dep_count; k++) 92 PRINT(("Dependent files: %s", names[k])); 93 94 indent_level--; 95 if (dep_count > 0) 96 UF_free_string_array(dep_count, names); 97 98 _errCode = UF_UGMGR_list_part_rev_files(revisions[j], &count, &file_types, &file_names);// 列出版本下数据集 99 for (i = 0; i < count; i++) 100 { 101 _errCode = UF_UGMGR_encode_part_filename(part_number, revision_id, file_types[i], file_names[i], part_name);// 根据ItemID、版本、文件类型、文件名encode成新的文件名 102 PRINT(("Rev.: %s - Type: %s, Name: %s", revision_id, file_types[i], file_names[i])); 103 indent_level++; 104 _errCode = UF_UGMGR_ask_dependent_files(part_name, &dep_count, &names);// 获取关联文件 105 for (k = 0; k < dep_count; k++) 106 PRINT(("Dependent files: %s", names[k])); 107 108 indent_level--; 109 if (dep_count > 0) 110 UF_free_string_array(dep_count, names); 111 } 112 if (count > 0){ 113 UF_free_string_array(count, file_types); 114 UF_free_string_array(count, file_names); 115 } 116 } 117 indent_level--; 118 UF_free(revisions); 119 revisions = NULL; 120 return _errCode; 121 } 122 123 static int list_in_folder(UF_UGMGR_tag_t folder) 124 { 125 int _errCode = 0; 126 char folder_name[UF_UGMGR_NAME_SIZE + 1]; 127 if (folder == UF_UGMGR_null_tag) return -1; 128 129 _errCode = UF_UGMGR_ask_folder_name(folder, folder_name);// 获取文件夹名称 130 PRINT(("Folder: %s", folder_name)); 131 indent_level++; 132 133 UF_UGMGR_object_type_t object_type; 134 int root_folder_contents_count = 0; 135 UF_UGMGR_tag_t * folder_contents = NULL; 136 _errCode = UF_UGMGR_list_folder_contents(folder, &root_folder_contents_count, &folder_contents);// 列出文件夹下的所有文件 137 for (int idx = 0; idx < root_folder_contents_count; idx++) 138 { 139 _errCode = UF_UGMGR_ask_object_type(folder_contents[idx], &object_type);// 获取文件类型 140 switch (object_type) 141 { 142 case UF_UGMGR_type_folder: 143 list_in_folder(folder_contents[idx]);// 是文件夹 144 break; 145 case UF_UGMGR_type_part: 146 list_in_part(folder_contents[idx]);// 是零组件 147 break; 148 default: 149 printf("Invalid object type found"); 150 break; 151 } 152 } 153 UF_free(folder_contents); 154 folder_contents = NULL; 155 indent_level--; 156 return _errCode; 157 } 158 159 void do_it() 160 { 161 int _errCode = 0; 162 163 tag_t partTag = NULL_TAG; 164 UF_PART_load_status_t error_status; 165 UF_UGMGR_tag_t database_part_tag = NULL_TAG; 166 UF_UGMGR_tag_t part_revision = NULL_TAG; 167 UF_UGMGR_tag_t root_folder_tag = NULL_TAG; 168 UF_UGMGR_tag_t user_folder_tag = NULL_TAG; 169 170 char current_rule[UF_UGMGR_NAME_BUFSIZE] = { 0 }; 171 char revision_id[UF_UGMGR_NAME_BUFSIZE] = { 0 }; 172 char export_dir_name[MAX_FSPEC_BUFSIZE] = { 0 }; 173 char encoded_name[MAX_FSPEC_BUFSIZE] = { 0 }; 174 char user_role[UF_UGMGR_ROLE_BUFSIZE] = { 0 }; 175 176 _errCode = UF_UGMGR_ask_part_tag("000000000AA000082", &database_part_tag);// 获取编码为000000000AA000082的部件标识 177 _errCode = UF_UGMGR_ask_config_rule(current_rule);// 获取默认配置规则 178 std::cout << "默认配置规则:" << current_rule << std::endl; 179 _errCode = UF_UGMGR_set_config_rule("Latest Working");// 设置配置规则 180 _errCode = UF_UGMGR_ask_configured_rev(database_part_tag
首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇vs2017编译curl 静态库 支持https 下一篇C++内存重叠

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目