|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
& y" A$ O1 g- O, y+ p# M6 Z" l3 `Teamcenter 二次开发源码分享:替换数据集dataset的引用集! F3 h& G, q! v$ D' {$ @" E
* `0 A; |. q& A. K7 W4 e9 @& k7 ]
% U, C4 I# x( V/ U0 T* ?$ x#include <ae/dataset.h>8 P- O# W& @1 @3 `1 G
#include <sa/TCfile.h>- I. C. M S/ z `6 }( N
#include <tccore/aom.h>6 L1 |+ P) e2 b2 _, K3 h
#include <sa/tcfile_cache.h>
" C8 S& p' g8 ]$ D2 \" n+ S6 |. g' {
static void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file,
, ?. @2 }& N$ t3 R char *new_file_path, char *ref_name)
. q C0 q) G0 `" B# p{1 \' P6 Y7 ]4 y( I6 a* }9 X! \2 w
IMF_file_data_p_t file_data;. c+ T" E/ r4 o% N
IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));
$ {0 t: R6 Z! e( N, k5 j2 ]. X" ~$ T4 x: v; j3 |2 j7 Q
tag_t new_file_tag = NULLTAG;' i6 I5 }3 i( q5 k5 p( B
IFERR_REPORT(AOM_lock(old_file));+ ~$ ^7 y4 C. F
IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,2 u. q0 a) p: e
FALSE, &new_file_tag)); - d2 }/ u1 |1 A/ M2 K4 v, K
]- e9 ?8 w5 S6 d
IFERR_REPORT(AOM_lock(dataset_tag));( @0 D4 H% s: Z/ T3 F( M+ _! Y
IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,. n( H; j; t8 X6 [# L9 Q6 b5 M
AE_PART_OF, new_file_tag));% T) K& p* X. v" A
9 S9 o- z2 [* ^4 N( h8 I1 G0 ~5 g
IFERR_REPORT(AE_save_myself(dataset_tag));
1 ^- W: @9 E9 V9 o IFERR_REPORT(AOM_unlock(dataset_tag));
' n5 ~; z+ b' h5 I* G( r8 ^ IFERR_REPORT(IMF_release_file_access (&file_data));/ C9 s/ l$ I) w# p4 ^: W( h' J& P
6 s9 x4 L* p6 ^5 v7 t2 C2 r( M
/* assuming the old file should be deleted */
0 E* t% U' v& x. Z IFERR_REPORT(AOM_lock_for_delete(old_file));
# c2 ~1 L; n9 A IFERR_REPORT(AOM_delete(old_file));* U% C9 o9 K5 N! ~$ U0 S3 |
}
1 w( ^6 H# {1 e- R6 x( i1 Y) v$ t6 v8 T: T
|
|