|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter ITK二次开发源码分享: 替换命名引用name reference
, L/ Y/ p9 F( U3 g' t
" b) e( W5 B9 i+ F& M- _+ V# b& L N! w9 o- j, f6 t, q2 [, e
- #include <ae/dataset.h>0 r( z8 a Q; _ a2 r
- #include <sa/TCfile.h>
; U1 p, D( M. R" j - #include <tccore/aom.h>5 A, l5 G3 O1 V
- #include <sa/tcfile_cache.h>7 K8 H. a+ ]0 w+ L! U Q
" ?) ]3 }6 @4 o- static void
* C: Z5 |+ F, N; D% t" H - (tag_t dataset_tag, tag_t old_file,
3 p, L+ a5 k6 |" ]2 B - char *new_file_path, char *ref_name)
2 D1 w6 @$ x1 r% a) p2 E - {
+ {+ R* p Q* v7 F4 a - IMF_file_data_p_t file_data;
1 b3 b8 g( `8 K' n! W - IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));9 L$ |0 T8 L6 X5 g; \( G
- b! {% i" Z0 R' [- tag_t new_file_tag = NULLTAG;
: p8 s/ m! u3 o2 f# B- O2 G- n - IFERR_REPORT(AOM_lock(old_file));, }- C0 A% x/ N4 H3 v) I5 q; P$ P; ?
- IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,; O# Y. y+ w/ {) {1 Q# V
- FALSE, &new_file_tag)); & C& }& q) ^* ~7 _' q
2 w7 s( B. g# C5 w! N8 K1 L5 v* o- IFERR_REPORT(AOM_lock(dataset_tag));: Q% N$ `) c! G* G f/ Z
- IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,
A' g% {/ b5 G' w - AE_PART_OF, new_file_tag));
' O: n* Q2 g' \5 l5 q6 ^ - 4 c; L8 F% `( G% c
- IFERR_REPORT(AE_save_myself(dataset_tag));; y3 c/ S \3 C+ O% |3 t6 [3 _7 g
- IFERR_REPORT(AOM_unlock(dataset_tag));, C. |) ?1 B! M9 W( q
- IFERR_REPORT(IMF_release_file_access (&file_data));# ~/ ?7 N) j* c7 }7 I) j
- 4 S4 Y+ j; Z" x3 A) D* b# j* y
- /* assuming the old file should be deleted */7 d0 P% U3 n8 G
- IFERR_REPORT(AOM_lock_for_delete(old_file));
5 \! A u# s! Y+ p4 r+ Z - IFERR_REPORT(AOM_delete(old_file));, \3 b' F# g: j6 c
- }
复制代码
O; E" F0 C5 d0 p
+ S4 }) Y2 Y2 { g" J7 p+ K& O7 l) @+ c: z7 r
|
|