|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
5 R0 a! l% N1 v7 U
Teamcenter 二次开发源码分享:替换数据集dataset的引用集
) A) b6 r6 Y3 d. t, g3 m) K: t1 [; ?1 C9 C- ?/ ^6 t
& N2 I7 W4 x2 ~* l0 u8 O- x, Z/ u
#include <ae/dataset.h>+ \; v2 f3 X' Z! j# O, u
#include <sa/TCfile.h>7 D. f* q3 `# t, k, U1 g
#include <tccore/aom.h>. r ?- m7 e/ x' t" C7 F
#include <sa/tcfile_cache.h>
6 S; W) N; T2 o4 L4 v2 `0 [( F) S( T7 Z6 o2 S
static void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file,
5 }$ H' y- T' Y$ ^! a# J) | char *new_file_path, char *ref_name), I( H1 h" c! {- K7 g. D
{
3 ~" N6 U: {# ?1 ?1 p6 d* k IMF_file_data_p_t file_data;
/ E: p1 h1 f0 Q0 k; M7 j5 {6 V' K, u9 C" g IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));
" A0 w d( i! F- s7 \' c* V/ g; p( s3 N; {+ P4 V
tag_t new_file_tag = NULLTAG; E8 l* n8 a, Q3 h% D
IFERR_REPORT(AOM_lock(old_file));8 f! r1 ~. {: c2 L
IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,
& s- A/ Y$ i( _0 |4 X% N0 C* c FALSE, &new_file_tag)); 9 P& J: W; K8 z4 P9 O* c
5 Z; R* _1 U5 n% q" U7 w) b IFERR_REPORT(AOM_lock(dataset_tag));
2 N+ L# ]& `5 d5 ~+ t& U IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name, s! D8 O$ n0 p3 A8 ^
AE_PART_OF, new_file_tag));
5 [1 p& l4 F2 E; ~9 n
5 P0 o% I& d, I/ h1 J0 E IFERR_REPORT(AE_save_myself(dataset_tag));5 a. \5 a) M& `: N* E* Z
IFERR_REPORT(AOM_unlock(dataset_tag));9 Q8 V3 o* n4 ~- F: N; E! o: V
IFERR_REPORT(IMF_release_file_access (&file_data));
E% l4 L* y3 X D7 B) b# t! z+ R2 y7 h Y# H7 c+ ~# V
/* assuming the old file should be deleted */
# V5 n6 e; ^6 W; G; o! ]' ] IFERR_REPORT(AOM_lock_for_delete(old_file));. ^0 I( y# I9 f& g5 c1 ]
IFERR_REPORT(AOM_delete(old_file));
' G/ d" \+ g3 W& u5 ^0 P. {) m}
! W6 o7 C! I% @+ X4 [
9 K' D3 [4 I/ ?6 A0 z2 v4 | |
|