|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter ITK二次开发源码分享: 替换命名引用name reference
" N. q+ ^2 t& k7 H- T9 v6 \% D2 K+ \3 O R
" B6 ^. D$ }+ t7 j2 Y; W- #include <ae/dataset.h>& z1 g/ ?, }# N+ k4 {2 y# p+ @, T
- #include <sa/TCfile.h>
* _& Y7 {0 f$ N X# w4 J - #include <tccore/aom.h>
]; C. Q0 I' s: \ - #include <sa/tcfile_cache.h>
3 P4 p4 Q* ]9 [7 S$ F$ ^) [9 Z3 F
# c" s }7 c2 M7 t9 Z- static void ( [; n" d6 ?1 R# T
- (tag_t dataset_tag, tag_t old_file,
% U+ Q1 Z3 u: l9 u7 T1 N, k& A - char *new_file_path, char *ref_name)
) |) s; q" i; [, A* U: x - {
/ X! D$ e5 X0 f% t - IMF_file_data_p_t file_data;
2 E/ w* M. M: W1 F - IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));( M5 a1 s1 z7 D9 m8 K U' u8 U
# N: Q8 c! \0 T z3 o- tag_t new_file_tag = NULLTAG;
/ E* ~; ]0 C/ s% N; U' b f! X - IFERR_REPORT(AOM_lock(old_file));
8 \9 G0 A! r5 C* Y - IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,
2 H ^0 J. {! k% p+ W - FALSE, &new_file_tag));
8 k5 _3 l- i; Q. g9 z; F
! r2 s' L3 P! p2 r- P- IFERR_REPORT(AOM_lock(dataset_tag));
0 Y% V. A5 S. C( f/ @ - IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,6 K* D8 S- q% a% f: H
- AE_PART_OF, new_file_tag));
& ^% a j. W0 ]1 t, ]4 J' m - 7 H6 B+ A$ M+ _; Q6 a
- IFERR_REPORT(AE_save_myself(dataset_tag));" O2 d) ~) G; S( [& b
- IFERR_REPORT(AOM_unlock(dataset_tag));3 {. G) ] J4 m0 ^! a" f/ N+ P2 }$ ~
- IFERR_REPORT(IMF_release_file_access (&file_data));
% z; f; u2 Y: S1 z# {. ^
5 V$ Y. i) ]+ s# E- /* assuming the old file should be deleted */
$ C- o; X5 W5 ]9 w - IFERR_REPORT(AOM_lock_for_delete(old_file));% [1 ~5 N& [5 A! B9 A( o$ X7 K
- IFERR_REPORT(AOM_delete(old_file));5 [0 k) l# B$ J8 @: |. i! [" b( M
- }
复制代码
; G- w6 l; s, C! [2 K& l
4 [: ~* S: A1 }: G2 u/ s+ d/ g6 F% r( V+ t; n
|
|