|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 N% ~4 f0 F% h2 F2 n
Teamcenter 二次开发源码分享:替换数据集dataset的引用集
K$ c' o' h. ]% D/ t& ~8 c
2 E6 `, o9 z. j; H. E6 r& \8 O
9 L: t% [6 Z* ~6 u#include <ae/dataset.h>
8 Q/ E4 i, m0 K3 [- B+ r' r#include <sa/TCfile.h>
2 p1 Z$ E/ q1 x; c8 b- O#include <tccore/aom.h>0 c! {/ Q. C B+ R, v& k
#include <sa/tcfile_cache.h>6 @" V; |0 L& d$ [/ s
' u) N/ b( Q. h7 J; m
static void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file,5 D# s! Q3 p% I% D, w; v4 N( t
char *new_file_path, char *ref_name)
3 {! b; x% e7 X: [ f{
9 H1 H4 V+ i! K& [8 @ IMF_file_data_p_t file_data;
N( F/ t1 ?0 a1 B! ?# f* ^ IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));
4 z) W0 w5 }$ L. L8 \
+ {2 a7 n" G( e. M4 H# o$ e8 u tag_t new_file_tag = NULLTAG;5 U2 v1 j4 q9 b" i
IFERR_REPORT(AOM_lock(old_file));
8 u7 l( j9 z1 m& l6 }, [7 A. P IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,0 k7 Z: ?/ v! i
FALSE, &new_file_tag));
7 B0 _: ~* I6 T# U" [8 R o) _( U3 _5 b$ V
IFERR_REPORT(AOM_lock(dataset_tag));
/ r* v/ \! X& s& W: [9 J9 ` IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,0 x w4 v# B3 ^ E0 ?" g' }1 f- O
AE_PART_OF, new_file_tag));& _6 |! K$ C5 Y# \6 U2 _3 j0 p
! c. u2 t: }7 [! }: z# s( S7 d7 h
IFERR_REPORT(AE_save_myself(dataset_tag));0 z M# p; t h( s0 a. d
IFERR_REPORT(AOM_unlock(dataset_tag));
+ P! B$ u& i0 u$ B. g IFERR_REPORT(IMF_release_file_access (&file_data));% j& f3 f! K1 H$ [2 o
, T2 U$ j. N5 ^4 v0 s) I# W* }
/* assuming the old file should be deleted */
+ C9 ^ i& u2 f8 W# l IFERR_REPORT(AOM_lock_for_delete(old_file));- c( c4 Q% A: f" r3 N) n, I: [/ ?1 x
IFERR_REPORT(AOM_delete(old_file));
5 P1 i2 @1 i9 w}
# ]9 [) r2 m' F8 i _/ ]
; f9 j0 \, @' p# A |
|