|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
0 @( d O2 a. r9 WTeamcenter 二次开发源码分享:替换数据集dataset的引用集
/ S3 f$ M! Z) f/ m X" x2 g, K1 m! G1 d- S ~ A
5 M* N5 X2 a4 K" C2 W! x" ~1 W
#include <ae/dataset.h>: d- l9 A2 M! c9 b: i. y
#include <sa/TCfile.h>- o7 n2 A! A' r/ ]0 N
#include <tccore/aom.h>& _0 f+ U6 \' L
#include <sa/tcfile_cache.h>3 Z9 X* l4 c; J6 p8 V4 O
( v$ d/ A+ [. K' O- w' }static void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file,
' W5 f; t: S5 E3 } char *new_file_path, char *ref_name)
. L; V# X6 O( T' B' y{
* x+ ?+ t5 o. a: K# j2 I IMF_file_data_p_t file_data;
3 n2 d# M# c) b' U) W5 n IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));
/ B9 {" O( U. {) R9 ]2 R0 }5 C! j/ G; G; z2 {6 V6 T
tag_t new_file_tag = NULLTAG;
3 U* P3 z" \! Z9 |; E3 ] IFERR_REPORT(AOM_lock(old_file));6 d) |1 X$ G; v: T
IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,
: J9 b4 H4 h7 [; w FALSE, &new_file_tag));
4 ~0 g, ?9 O d1 R
% t2 A9 Y. i3 H5 r6 ^/ X IFERR_REPORT(AOM_lock(dataset_tag));- i4 Q0 T7 f! @
IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,8 B6 Y& \0 m5 s9 N& M4 T( c
AE_PART_OF, new_file_tag));/ m0 j3 T4 w7 W% k1 i& B0 d
$ Z4 l) D9 W8 z
IFERR_REPORT(AE_save_myself(dataset_tag));2 \1 C9 c! k4 i1 s
IFERR_REPORT(AOM_unlock(dataset_tag));9 {: i1 F) _2 T8 `
IFERR_REPORT(IMF_release_file_access (&file_data));
& z& z y( ?9 e$ `* h9 g8 A9 a0 W: K/ U( z
/* assuming the old file should be deleted */3 e9 X2 U. F8 ? ?
IFERR_REPORT(AOM_lock_for_delete(old_file));( H: ^$ N. ~0 k6 c
IFERR_REPORT(AOM_delete(old_file));
( @. e Q) N q" s} d- K: A* d1 p: v
4 j1 X5 y8 C0 H; f9 ], ] |
|