|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
& F! Y! X0 Q- ~1 k! m
Teamcenter 二次开发源码分享:替换数据集dataset的引用集% R/ P' z* Z1 Q) C5 I
; g3 J# F, D7 m) K: w: i0 G0 ]6 m
% E# R5 q/ H2 O& Y$ } G7 e5 T#include <ae/dataset.h>& D3 H1 p$ K# }3 W% ^
#include <sa/TCfile.h>
8 y9 z0 A/ }: _) @' V4 V#include <tccore/aom.h>
# B& B! I0 F. M4 x#include <sa/tcfile_cache.h>
8 \3 N( v* V) p7 I- c4 U! i: f7 v- G5 d6 g Y8 U$ t! Q7 Z0 v: n' |8 N
static void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file,
7 n- \$ {5 Z* `3 N& A char *new_file_path, char *ref_name)' @# [6 k% H: Y F! L
{- k& A' ~" A+ f, T% q& g
IMF_file_data_p_t file_data;
( P* V% F: G& n+ g. ]' R IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));
( m1 t, F/ V! h: C! U# N* X
2 ~+ K J+ y* ~" ~2 f( i3 m, v tag_t new_file_tag = NULLTAG;
& o _6 `, G. ~5 l IFERR_REPORT(AOM_lock(old_file));# g w" E$ L1 ~$ ?2 y- B
IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,
) J O& q8 a, D FALSE, &new_file_tag)); 2 H/ r+ V0 e8 d- _
9 j G$ L* p/ p' ^0 p, q IFERR_REPORT(AOM_lock(dataset_tag));- ?/ f# Q M+ o1 G" q
IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,! Q5 V3 R; l! a# `5 O; z
AE_PART_OF, new_file_tag));
' }: X K: v; F! u# _/ L& h& u
+ S; q- |: G% Q" P+ f IFERR_REPORT(AE_save_myself(dataset_tag));
+ o9 H, Q) {) V$ P! k. S6 O5 f/ h& H IFERR_REPORT(AOM_unlock(dataset_tag));. ^0 B- [6 ~2 t) G/ c* W1 a
IFERR_REPORT(IMF_release_file_access (&file_data));( a# M4 u7 t8 J: y& F/ ]* h! X- C0 `
+ k0 }# G) `4 u0 |, U
/* assuming the old file should be deleted */
: n% o! b- h# Z: ^5 G IFERR_REPORT(AOM_lock_for_delete(old_file));6 e& l: [9 a' ?- x( _/ x
IFERR_REPORT(AOM_delete(old_file));0 V. V/ c8 W7 A' o* ?3 {6 W
}) @1 M) D. x+ M2 r5 h ?& Z* e" @
" I' W! m$ f( F, P5 w; c
|
|