|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter ITK二次开发源码分享: 替换命名引用name reference; E# _5 H/ A9 d
4 A8 e+ H2 S. k3 t+ G! H8 F! J1 N& M1 s
- #include <ae/dataset.h>
. Z/ o1 H X- a9 @9 J' I; U& L - #include <sa/TCfile.h>/ I, T* U ]7 a/ E- R! V2 ]9 C
- #include <tccore/aom.h>" T& X0 a$ z8 Z
- #include <sa/tcfile_cache.h>8 r. t; h; C3 H, t8 B
- $ Z% h5 g0 [# W, r9 h* s4 S. k
- static void
: [5 q3 Q6 Q) P) I - (tag_t dataset_tag, tag_t old_file,, Z# S$ D1 B6 x, y6 t& b
- char *new_file_path, char *ref_name)7 f' h6 s6 }6 o
- {
6 A* b6 t. h$ o) q$ X+ G - IMF_file_data_p_t file_data;) p7 o, Z' e& L- f5 A9 p
- IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));+ j( \7 o" L/ p9 s$ I' b" V
- ; k; t2 q! D/ o
- tag_t new_file_tag = NULLTAG;
* ?3 v; ~7 b0 c5 I; R - IFERR_REPORT(AOM_lock(old_file));, l0 L4 b4 i6 {; x. D8 |+ j ?8 D
- IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,
5 ?. Q0 {( D* s% Q+ x# I$ g - FALSE, &new_file_tag));
- g! u ]' \0 o8 T! Q: _/ D' Y - ! n! \+ j0 ?2 j5 l2 `
- IFERR_REPORT(AOM_lock(dataset_tag));
! Z U- \* r- G4 h) Y6 P - IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,
, \& }/ \& W% s3 _6 ^4 g - AE_PART_OF, new_file_tag));! U3 g% I' h7 `" a
& {6 D( K9 N7 h, }$ u- IFERR_REPORT(AE_save_myself(dataset_tag));. U/ ], B+ E) h) d" J
- IFERR_REPORT(AOM_unlock(dataset_tag));- ?$ A7 T$ }4 L6 J! t. Q' q. H
- IFERR_REPORT(IMF_release_file_access (&file_data));/ t# y z6 H) q" h- U i
) l- `; a, A8 N0 q9 ?; Q& F- /* assuming the old file should be deleted */
/ |) L: M# } G& v* ^ - IFERR_REPORT(AOM_lock_for_delete(old_file));
j* d3 ?* f; g; T$ E7 p5 K - IFERR_REPORT(AOM_delete(old_file));/ M+ X5 j# P( A4 s" L# G, G
- }
复制代码 $ W% N9 o1 C- B! c
/ t) m" c8 X7 L8 \9 M1 g
* i4 u$ _; Q1 ]6 R _: S |
|