|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
Teamcenter ITK二次开发源码分享: 替换命名引用name reference; P, G6 l: _, D7 F
8 u2 o6 V" \+ \% N/ {# f
" E" l0 f5 n$ y x/ E M1 k
- #include <ae/dataset.h>9 `' l( P" r2 g G7 [2 T' a
- #include <sa/TCfile.h>
3 ?& u% m8 s% ^& H - #include <tccore/aom.h>
5 W0 k9 F: C; H - #include <sa/tcfile_cache.h>
& B/ i1 G" n: G$ A5 u% s' l9 w x& s - D7 W: ^3 m, P5 `! ~$ x+ p% U/ V& v
- static void
2 I4 O9 H5 ^- S+ C' x - (tag_t dataset_tag, tag_t old_file,7 v; j7 o+ x' d, O- [4 _! v: o
- char *new_file_path, char *ref_name)
* c; c+ d C* n# _0 u; ] - {
2 p/ P8 n1 T* i% d - IMF_file_data_p_t file_data;
; Q. p' f9 {; t - IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));( x- T1 ?4 g* T! n" ^1 X; ~7 q& \$ \& b
- 2 v7 d, S' b& F; ~, S: Q# ?
- tag_t new_file_tag = NULLTAG;5 g) R- w* J% D2 @5 B h* _* x
- IFERR_REPORT(AOM_lock(old_file));
5 a+ e0 Y) _3 ^ - IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,, \- d8 r: |& M. R g0 ?3 K1 ?5 w
- FALSE, &new_file_tag));
5 q O4 ~5 m( X# T- ?2 q+ w, w
6 j9 Z* g8 @4 k: C% K r- IFERR_REPORT(AOM_lock(dataset_tag));
" c$ L+ O; s0 N0 O8 _" _ - IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,
# Z+ ~* t3 a D+ o# y7 ^ - AE_PART_OF, new_file_tag));7 p# Q5 Q* o( Q: d( E
2 w! _. c: m! B( m$ B" ~5 H- IFERR_REPORT(AE_save_myself(dataset_tag));
; I) B6 _: l/ s" D% V - IFERR_REPORT(AOM_unlock(dataset_tag));% e4 z% B9 }/ s2 ^$ i+ l% g& `3 ^
- IFERR_REPORT(IMF_release_file_access (&file_data));
& x/ Z; s. ]* c* }# K% h8 \ - % A" X G9 ~' O b) Y" ]: n
- /* assuming the old file should be deleted */. N9 g6 ~* C7 T) \
- IFERR_REPORT(AOM_lock_for_delete(old_file));
2 [$ W F* j1 F$ ?. r - IFERR_REPORT(AOM_delete(old_file));1 f5 Y- m1 U9 Q& f s
- }
复制代码
+ f! V2 c) T! z( f; Z: g
) T2 q5 X/ l: [
9 ` t7 i( l& e" `, U+ ^ |
|