|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
Teamcenter ITK二次开发源码分享: 替换命名引用name reference
) o6 h9 a" d( Y! |3 L( \0 n4 ]$ w* F& p0 Z# K5 p* L6 a# _4 D
; {+ e: Q& [7 L+ a4 ^2 d) S
- #include <ae/dataset.h>
5 A0 P* B+ w& d9 V1 J* L - #include <sa/TCfile.h>
5 I$ O$ J( K( L" |, I - #include <tccore/aom.h>8 F, i% W# ^' M# i2 q
- #include <sa/tcfile_cache.h>; d! U: A* N, w/ l7 y
% ^9 J* y0 l6 ^( M: R- static void
/ X% J+ G9 w# J - (tag_t dataset_tag, tag_t old_file,
/ I7 h9 x+ B1 A5 L0 Q/ M - char *new_file_path, char *ref_name)
' j# e' x8 x" ]# j& V/ Z, `# }/ ^4 ] - {. `+ N, _* c" Z7 \
- IMF_file_data_p_t file_data;8 h2 l; u9 \6 T" L
- IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));6 J1 _& W8 ]' _+ Y" l1 M$ N5 I/ \
- * O8 ]% [5 n" u" H4 z
- tag_t new_file_tag = NULLTAG;
1 }; l. J @6 m- V4 i - IFERR_REPORT(AOM_lock(old_file));! Y3 ~+ {) ~( k8 w0 }. X7 w) A G
- IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,- W& D8 c1 }) v% L3 N" C6 i, r* q
- FALSE, &new_file_tag));
; l4 |: h. Q1 w% a! B- G- ^
+ E: Z9 M. b( Z/ `4 _- IFERR_REPORT(AOM_lock(dataset_tag));
. C/ z% |. D! U$ G6 K# @0 ] - IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,3 |, @1 ~; t( b2 n' G
- AE_PART_OF, new_file_tag));; B& D! \& J2 G6 @' W! B3 q
4 ?1 T/ u, [6 @$ A- IFERR_REPORT(AE_save_myself(dataset_tag));
% P1 x$ f- V( I3 a0 g: `# L - IFERR_REPORT(AOM_unlock(dataset_tag));
; M4 Z4 }' w+ e1 i& C; G& d - IFERR_REPORT(IMF_release_file_access (&file_data));
7 r5 X! D) i8 t& g7 }
' ~! M/ S, H& w# I8 A- /* assuming the old file should be deleted */- t1 K( R6 {& |* p3 V/ a+ l
- IFERR_REPORT(AOM_lock_for_delete(old_file));# s4 Q5 R3 {# |9 g* W
- IFERR_REPORT(AOM_delete(old_file));; T& x# Z4 V( f& z: y, x T
- }
复制代码
1 Q' v w! ]' F: n8 h1 g: n
! q) D- F/ G0 P" c) X1 s2 L6 A. F* F
|
|