|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter ITK二次开发源码分享: 替换命名引用name reference
3 R( w' x8 }) r) F k
+ x: V& P1 i( }1 g; r R# i) _+ Q! I! R" w
- #include <ae/dataset.h>$ u6 k' K' d W
- #include <sa/TCfile.h>
) C+ g6 U2 ^2 G8 A - #include <tccore/aom.h>
) m# z' q& U/ x( e ?5 m7 U - #include <sa/tcfile_cache.h>
# t7 E, W5 U8 |7 M6 I - 7 e: M" C3 f: l% v# e3 z
- static void
) q8 x* g1 O% `6 @8 I- a - (tag_t dataset_tag, tag_t old_file,8 \/ j# D9 @, |. h
- char *new_file_path, char *ref_name)
+ N+ a4 s' b8 ~) @1 ~7 ~ - {
. p# }2 Y. c6 V - IMF_file_data_p_t file_data;
0 Z5 ~# f8 \) V2 e8 b0 H - IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));( J3 b& r. _5 j2 s8 i% V
- % t2 r$ ~0 ]! _, O! U' [' t8 x
- tag_t new_file_tag = NULLTAG;5 [5 [ y; G0 a( R! t: K+ B d
- IFERR_REPORT(AOM_lock(old_file));0 u! e1 b2 f! [9 V* Q3 N* K! J4 `9 Y0 {
- IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,
' a7 f0 B1 e" Q/ {6 [% Z3 b; B; S* S( N - FALSE, &new_file_tag)); , Y2 g2 ? d' [
- : z5 J. r4 P) G/ f; c
- IFERR_REPORT(AOM_lock(dataset_tag));5 X8 \3 z8 R/ J; I7 g* `% U
- IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,) d+ t$ ~) b5 g$ Q; M$ C
- AE_PART_OF, new_file_tag)); e) u+ ?. ~# Y. V7 P
$ F, A: y! M( C4 Q% s% i/ I- IFERR_REPORT(AE_save_myself(dataset_tag));
7 W( W. \; V: X+ S9 ^2 t - IFERR_REPORT(AOM_unlock(dataset_tag));) B: F$ G! J/ Q$ Y m
- IFERR_REPORT(IMF_release_file_access (&file_data));
7 _: e: E* m, f) U! M" V: C - % P, S! Y9 Z5 I% X+ a! @
- /* assuming the old file should be deleted */
/ A E4 W# z& R- o. O4 ]2 e - IFERR_REPORT(AOM_lock_for_delete(old_file));+ D; a5 t5 t; S+ B0 [" \- ~
- IFERR_REPORT(AOM_delete(old_file));9 t; p: B' P( F& n( b3 L3 ?
- }
复制代码
' F" V, u t, _5 Z; F- ]- R& p3 `; D3 C1 p
) S: e$ x/ g$ l; e' v! K# y7 V |
|