|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter ITK二次开发源码分享: 替换命名引用name reference
6 ^7 p& P. v; P/ ~; J4 {' g+ r; Y. b' ]$ M8 H. ~
! D' R( C3 o/ T m9 S. V# [* a- #include <ae/dataset.h>, X0 [5 D' G9 ?7 F6 Z7 A7 Z
- #include <sa/TCfile.h>
3 f" N3 J& {( x, y$ Q: S8 y - #include <tccore/aom.h>0 u2 f# c; y Y% w1 \
- #include <sa/tcfile_cache.h>- v4 v$ `! I/ @. g
5 C% s% T2 x+ w1 i- static void
$ g9 @+ n* W, W! |- N4 N0 P$ @ - (tag_t dataset_tag, tag_t old_file,, N: }6 b; Y+ \( Z, Y
- char *new_file_path, char *ref_name)
0 P: O8 I# Y5 P7 ^6 |6 L - {
) O/ S5 T. H/ S) B$ e - IMF_file_data_p_t file_data;% E: S' [( d* l' x, A
- IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));2 c8 ?% p- d: x' o
- " A4 O/ u6 @8 h$ c! |4 ?6 F
- tag_t new_file_tag = NULLTAG;
; L7 y" J, l) w - IFERR_REPORT(AOM_lock(old_file));
+ M( W j0 ]; M! f2 N* e, A; J - IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,9 Q0 \0 q- N$ U1 n
- FALSE, &new_file_tag));
9 B9 v- M, ?: ?% Q. m, F, ~ - 6 l5 | | e4 ]4 E9 n) ^% I5 Q' @
- IFERR_REPORT(AOM_lock(dataset_tag));
4 j* E' q) m; @4 {8 t0 n' N+ x* q - IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,
3 v2 z; v* P, G6 h) x ?" G9 [5 n - AE_PART_OF, new_file_tag));
1 J- Z2 V7 H, ^) J$ u$ |3 S
: w7 o1 f! p1 A4 x# d# r- IFERR_REPORT(AE_save_myself(dataset_tag));
* s7 u7 Z2 [2 Q2 f7 k) G9 ^8 a- D - IFERR_REPORT(AOM_unlock(dataset_tag));8 T/ N* J) s ], \
- IFERR_REPORT(IMF_release_file_access (&file_data));) {% Y. M/ c& d, {
@9 [+ n0 S. x6 `. o! ?# U) g- /* assuming the old file should be deleted */
/ R* }3 {1 z* F7 I - IFERR_REPORT(AOM_lock_for_delete(old_file));9 p' w! o3 }. x) U' V Q
- IFERR_REPORT(AOM_delete(old_file));
4 X3 T/ t" Y2 k- z - }
复制代码
' |+ X4 ~* J2 ~
- b8 m6 ?% Q3 i8 g+ F
+ z3 C3 H+ i6 B/ y |
|