|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/ J8 r/ g' H$ m" @Teamcenter 二次开发源码分享:替换数据集dataset的引用集
& t1 l9 N7 n5 b, N) A3 y! B0 e
; ^7 w' K" _2 b2 Q' k( u
+ a x6 I5 g1 B J5 ^7 \#include <ae/dataset.h>
( {& [7 H# A1 E8 |7 d3 }: O#include <sa/TCfile.h>
# `3 X( G/ Z1 h: n#include <tccore/aom.h>! e: w+ j! P- y0 n; J, Z ~1 t+ ^! k
#include <sa/tcfile_cache.h>
, \. v. G% e2 u+ |% y* F8 u: v0 ?
5 J2 C8 k$ y% }static void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file,
( i p( l; K$ s; m1 A char *new_file_path, char *ref_name)7 W9 R' G. p8 x5 Y7 `& J2 L
{( g7 x8 N) Z n
IMF_file_data_p_t file_data;
5 {# @! B9 h$ ^2 I( t* x' k IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));2 _8 ~( l' G f# N4 s. R" W
S6 S, Y' q+ w2 z- c' u tag_t new_file_tag = NULLTAG;) P! r+ e2 D& G5 O. ?3 b `- ` A
IFERR_REPORT(AOM_lock(old_file));& u0 R# B6 J# u# o
IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,* A* ^: o0 ^0 `2 r% b& C2 v
FALSE, &new_file_tag)); , y# g( U, W2 _$ r. Q( Z' x8 Z0 Q
, D" ^ H. D' }3 b9 e/ d IFERR_REPORT(AOM_lock(dataset_tag));" y" @' S8 j" k4 h
IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,; [% P. X. Q* R' N
AE_PART_OF, new_file_tag));
' r! h, o$ V: ~6 I* c- \6 X0 X' q( Z. w! ?- G0 M
IFERR_REPORT(AE_save_myself(dataset_tag));
7 m3 d- A1 u' J# Q IFERR_REPORT(AOM_unlock(dataset_tag));
. h% A/ [4 F: c$ `1 b4 w IFERR_REPORT(IMF_release_file_access (&file_data));
" B1 Q2 q) m* H" ~$ P9 ?2 F) W8 H7 o4 S9 k
/* assuming the old file should be deleted *// }- ?9 a3 N4 p& p4 E2 {( R
IFERR_REPORT(AOM_lock_for_delete(old_file));
+ d5 E3 b* J' U3 {' B IFERR_REPORT(AOM_delete(old_file));5 F5 K, y" q8 A; i
}
1 _. k+ \+ d9 V7 k; T
/ |" D! H* I) ]7 m; |+ l( b |
|