|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter ITK二次开发源码分享: 替换命名引用name reference
. q& V n S# J( k' D$ b7 c- v: Y9 j- o3 e
7 `. a" Y. [0 @+ E- a3 a7 k
- #include <ae/dataset.h>: o: D k/ j# U, L+ _ W
- #include <sa/TCfile.h>
2 L2 U; y4 i3 ?- G - #include <tccore/aom.h>
5 z7 R4 p! k" D$ }$ W2 C - #include <sa/tcfile_cache.h>$ k, @. m4 x- O j3 k
- ' v+ F! O6 b8 ^2 O* Z
- static void
+ \" q9 Q7 e3 v% z. x - (tag_t dataset_tag, tag_t old_file,2 f4 E8 S( U7 n O$ S% _0 Z, V( w+ p
- char *new_file_path, char *ref_name)( q7 `" V( W+ e
- {2 d9 C; ^, f; A7 d2 J# T
- IMF_file_data_p_t file_data;
' G% s6 p8 K" j) a - IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));9 C( N; V1 V2 o* z; Z( E3 B( e
- a, |) M# Q0 G/ Z- tag_t new_file_tag = NULLTAG;
' s% v+ ]. O2 H* L/ l8 ]; Y - IFERR_REPORT(AOM_lock(old_file));- v: p0 I- `- U* Q* {. U4 `
- IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,
. L: H* f5 @6 f5 ~ - FALSE, &new_file_tag)); 1 J: S/ G: ^7 E G
/ V% {- j3 h$ u6 y# {% [6 d- IFERR_REPORT(AOM_lock(dataset_tag));
( F- W2 N* S9 [9 f# ? - IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,
% i# c5 B) T* D1 F - AE_PART_OF, new_file_tag));6 [- B, U3 W0 W, Q0 S& V+ S
- - ^% l6 `" k; D0 i
- IFERR_REPORT(AE_save_myself(dataset_tag));
; s5 x! ]; `7 Z' g - IFERR_REPORT(AOM_unlock(dataset_tag));
% @3 ?' j, z2 W$ r( }" l" {3 ?, S - IFERR_REPORT(IMF_release_file_access (&file_data));
6 y+ m, P4 V/ |+ N
, `: K9 x9 h' m- /* assuming the old file should be deleted */5 E* ^& n1 }9 C0 j5 f7 ?
- IFERR_REPORT(AOM_lock_for_delete(old_file));; D: E( R" y9 w: n+ `6 e: b
- IFERR_REPORT(AOM_delete(old_file));6 l: I3 O1 l/ N, Z" r$ B
- }
复制代码 C; B# A$ f9 i( x, I
- I; L% T4 s# D' H8 s; w" p6 N
- U. b" y* k2 A; B' V1 J# {# ? q
|
|