|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
+ b' s% a$ W: F5 E/ x8 O/ `
Teamcenter 二次开发源码分享:替换数据集dataset的引用集- @$ _& r7 Q- N3 P, L: a
N+ [: g2 Q, d$ {: I! W# {
- |! d% I! _1 U6 i- Q9 v
#include <ae/dataset.h>
1 u* Y2 R, h5 n6 m5 L#include <sa/TCfile.h>% k& o% V# E) N& S3 L5 L+ n
#include <tccore/aom.h>) t# R) i9 [ X+ K: f
#include <sa/tcfile_cache.h>- _* s4 ]) {3 r1 Z4 Z8 n3 U
9 G2 [1 e7 \* o
static void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file,
& N6 n$ c) N) R' U char *new_file_path, char *ref_name)3 T7 @. v. ]' ]* @* {5 i$ J1 R
{% J* K7 b1 r# Y
IMF_file_data_p_t file_data;; Z+ c; c( M# V8 V; m2 f
IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));4 a) H$ y% l4 c4 _ I
$ b, b% G# h5 C9 j$ w. R tag_t new_file_tag = NULLTAG;
, _2 s0 l) w0 L9 @& T8 z) M: W IFERR_REPORT(AOM_lock(old_file));
& F' z- t5 g& y2 g" h IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,7 ^5 a3 P/ a# @, z. | E
FALSE, &new_file_tag));
n8 ?) @# d$ o# }3 z2 E$ J4 x8 b8 d# I& A: B- @
IFERR_REPORT(AOM_lock(dataset_tag));! q! z' |' z8 v; v5 W- V
IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,
% a& g/ ?6 c/ _* X1 j$ U6 z- s AE_PART_OF, new_file_tag));
) [+ ^3 {9 h+ h8 ]& H9 ?' l' a. O( {- b& s+ [
IFERR_REPORT(AE_save_myself(dataset_tag));3 P( B& \5 S8 E8 J8 E0 }' H1 Q `
IFERR_REPORT(AOM_unlock(dataset_tag));
+ Y( }* ~) Y7 A9 m5 ] IFERR_REPORT(IMF_release_file_access (&file_data)); m: w# G8 H5 y* n6 a8 ?, T
1 D8 F5 j, M1 M* a. T: @+ P /* assuming the old file should be deleted */
2 C$ l4 c. m( T% f! _2 T IFERR_REPORT(AOM_lock_for_delete(old_file));
& m6 X( R$ }4 O6 S! F; H, N IFERR_REPORT(AOM_delete(old_file));8 w2 G7 }$ c& D
}
# `' w6 _, R% ]" I# F, ~3 G; P* d$ I0 k0 L
|
|