|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter ITK二次开发源码分享: 替换命名引用name reference
( X/ r. M# s6 c( P# X6 A. T4 W1 m
5 P8 V& f$ ]4 O: l- #include <ae/dataset.h>; X' |: N! }$ c/ u# Z+ |4 F' W
- #include <sa/TCfile.h>) F N: h3 k4 s* a9 c3 @
- #include <tccore/aom.h>: Z0 f3 ?& b/ @4 e9 s: x
- #include <sa/tcfile_cache.h>( [1 s: b$ j! X8 q! V. b1 H
/ T6 F8 i+ n h! W( p/ N( _- static void ' t7 e% W: Z4 y
- (tag_t dataset_tag, tag_t old_file,; C4 V& w8 A0 g: b5 D6 d1 y
- char *new_file_path, char *ref_name)
/ h0 G7 l8 O4 m( g4 d- s - {
: g/ i4 a0 h2 w - IMF_file_data_p_t file_data;, D1 x2 K# V2 R$ Q2 }, i
- IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));
! \+ S8 T' d) r# R! v" R - ) U1 P: M9 H* B) G
- tag_t new_file_tag = NULLTAG;
7 b' w# g% s) B2 Y - IFERR_REPORT(AOM_lock(old_file));
) ~" l% W: f6 K# g - IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,
1 t# @4 W0 J* S) r7 ^ - FALSE, &new_file_tag));
) |7 v0 `" x G6 m% m. g; c9 m( q
5 d" [1 m! s0 v9 L9 O0 e- IFERR_REPORT(AOM_lock(dataset_tag));' z0 r$ |) r6 P- f9 n
- IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,
: f* y& c8 X* o% m - AE_PART_OF, new_file_tag)); t" P/ U& d& j' D9 F5 p
- ! v% s' o8 }: S( e/ L, F9 z
- IFERR_REPORT(AE_save_myself(dataset_tag));
$ I. S, Z* t$ m( r* D2 d# @- j - IFERR_REPORT(AOM_unlock(dataset_tag));9 r2 B# ^8 m: e j
- IFERR_REPORT(IMF_release_file_access (&file_data));; h/ |; \) v6 z: E6 D9 x
- & Y8 r; D& u7 N9 q% V1 i- [
- /* assuming the old file should be deleted */
! O6 L d- m( [" G( I: ^ - IFERR_REPORT(AOM_lock_for_delete(old_file));3 l7 y/ I+ ^2 Y' E+ ?
- IFERR_REPORT(AOM_delete(old_file));
. |% Z! \0 e W2 P- F - }
复制代码 , j( L( j* B3 [" ]& @' q7 B+ B8 @$ U
6 Y7 u/ A ^, Y2 `- I0 n5 `
9 N e) N: S( R+ U5 a |
|