|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter ITK二次开发源码分享: 替换命名引用name reference# K, {% b+ ]# M: B! a' u
2 }5 h* l$ p: w: _, k; o$ i
1 j: v2 A8 P; a- #include <ae/dataset.h>
! ~" Q9 Z) x4 B2 }; d1 E - #include <sa/TCfile.h>
, a Y2 h t. A% k' W - #include <tccore/aom.h>, x. o% h' Y+ G$ _+ s# i
- #include <sa/tcfile_cache.h>; P K% g) L, Y* c
- * C4 o" M& T) _
- static void / `2 [7 |4 R2 y, z! w) b
- (tag_t dataset_tag, tag_t old_file, X: M& F* {9 v+ o% z
- char *new_file_path, char *ref_name)
5 L5 F, j: T/ G5 K - {
$ d0 N6 A8 m8 V1 ? - IMF_file_data_p_t file_data;
' @9 u/ t/ E$ c6 J/ X1 Q9 o( z - IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));
$ Q) o/ h4 |& s/ ?
) h/ w! ^6 U" g Y9 p9 K- tag_t new_file_tag = NULLTAG;
5 A; U- f' D) h3 a1 ]4 Y - IFERR_REPORT(AOM_lock(old_file));2 B" M- ]+ k- d( E8 \" w* v
- IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,& k. u' u) X3 D, M1 A
- FALSE, &new_file_tag));
$ S! l6 d. {* q+ h. Q& ~- b9 s - 4 g* F% m" s$ L7 k$ d2 V1 q
- IFERR_REPORT(AOM_lock(dataset_tag));6 x/ M0 G! o. T: P- Q+ n5 \2 X( M
- IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,; A( o; Y0 @; }* D
- AE_PART_OF, new_file_tag));% O4 j7 h1 n& j! s/ [1 I
- & a2 O ]& F. V. }" R9 K
- IFERR_REPORT(AE_save_myself(dataset_tag));& T: N. n y; n' q7 X4 T1 M9 J' r
- IFERR_REPORT(AOM_unlock(dataset_tag));% r8 M3 Z# s# i# f0 }) E
- IFERR_REPORT(IMF_release_file_access (&file_data));8 G: M# T2 W. M. Y ^0 C
- / ~( X+ R0 W7 z1 p4 R
- /* assuming the old file should be deleted */! E- t" w0 w F# L5 M* K! [* @
- IFERR_REPORT(AOM_lock_for_delete(old_file));
! Z2 y B: g+ x# u, k8 C - IFERR_REPORT(AOM_delete(old_file));
|' n0 {9 M" i! f4 [" r8 u [ - }
复制代码
. H. b8 ~2 q+ {4 e/ d
/ z! l3 a4 ~! e# L0 L: C! I2 T+ t2 L, F9 z! _: I+ o) I" q
|
|