|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- T& W R$ N4 F& [" }" \
Teamcenter 二次开发源码分享:替换数据集dataset的引用集
. `: v, \ V2 U; O3 G9 }; m: v4 _" L$ \# E4 p3 }- ~
' w% C V, I/ T. N#include <ae/dataset.h>
7 D. r2 ^7 E8 W% G: T' x#include <sa/TCfile.h># Y! G1 @4 @6 s
#include <tccore/aom.h>
' L0 [$ b& f" [8 I0 Z& [% E' H#include <sa/tcfile_cache.h>
& D0 K& z6 ]( ^) y
( \) k O, V. `% D/ t( C) ]4 Ystatic void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file,; s) W: r. {" h' k) a
char *new_file_path, char *ref_name)3 X8 I, V/ B4 }
{
" D# d* p, R/ ^2 M2 w IMF_file_data_p_t file_data;8 R9 V" C0 a/ s! O7 y
IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));
k0 D0 U4 a* ]4 ?) O9 V8 M4 b5 ^" W% P' f- }5 U
tag_t new_file_tag = NULLTAG;/ R* k) ]* n. k' _, V
IFERR_REPORT(AOM_lock(old_file));
# `! f6 E6 _% P. ~. B- U IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,7 _2 l7 |5 v5 m* O
FALSE, &new_file_tag)); 4 r9 C9 r4 g8 Q: Q
0 V6 F: I" H2 w+ o. z% p$ h
IFERR_REPORT(AOM_lock(dataset_tag));
- U2 c: y5 E9 R2 k+ I+ V IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,: i$ ^% d4 h, J/ u
AE_PART_OF, new_file_tag));
1 }2 E* u+ [8 E9 g3 w
8 P9 M \, R5 d1 L& N6 ~: N IFERR_REPORT(AE_save_myself(dataset_tag));
3 w4 l8 l6 ^% L$ e& n IFERR_REPORT(AOM_unlock(dataset_tag));. @8 O3 q# H8 B! f: e3 c) b1 Z
IFERR_REPORT(IMF_release_file_access (&file_data));
: |! q3 `+ c- |- Y) P x) ?4 m9 v. Z; B/ `5 a
/* assuming the old file should be deleted */# N+ a6 z0 D3 h
IFERR_REPORT(AOM_lock_for_delete(old_file));
, u2 e b7 L( q9 \' f/ S IFERR_REPORT(AOM_delete(old_file));
. I! a/ y9 Q4 L6 O, q}2 f* [4 p5 f0 c* v: d+ p
8 V& U! I) P, {% Y% A2 d
|
|