|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
' }7 h7 E6 N4 }4 M q% e
Teamcenter 二次开发源码分享:替换数据集dataset的引用集
# D7 \! }' M$ V
+ u9 m) r) ]6 h% b' [5 E
5 [# T: P, s) ^: L* n#include <ae/dataset.h># H+ D- ~3 e( ?% I3 d* M
#include <sa/TCfile.h>2 e, @! [! f0 @. i+ T5 y" u
#include <tccore/aom.h>
" a# {$ Y" r9 K' Q#include <sa/tcfile_cache.h>
$ s, e' F2 F+ ^7 w* l" R5 Y5 }1 D' X5 h i9 A) g
static void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file,
) K' v1 K- U! H1 q7 q char *new_file_path, char *ref_name)
' a6 k0 e0 y i* T6 u{8 O+ u6 Q% @2 D2 K7 o# ^+ I
IMF_file_data_p_t file_data;) A3 Z( U$ `+ I5 H+ m; a$ z
IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));
5 f9 E- n$ G0 J `1 N9 t. I: K0 l# }, E4 s3 | J$ ?" w
tag_t new_file_tag = NULLTAG;
* Z& |9 Z' n/ _7 G" ^ IFERR_REPORT(AOM_lock(old_file));( B' u" t( w9 S8 X% y
IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,
/ h3 Q3 b( V M$ O, X FALSE, &new_file_tag));
. K. g! C% C* h& M. Q9 B% h k9 G- ^. |- t# i, t. n4 t
IFERR_REPORT(AOM_lock(dataset_tag));
# J7 x# D- R2 e5 E$ u- l IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,
1 Q ?5 y/ O! b5 [' }' D- K+ L AE_PART_OF, new_file_tag));
6 @3 r( \7 O( n1 w
4 R6 h1 o. v6 L. U IFERR_REPORT(AE_save_myself(dataset_tag));& d7 u: J( n7 m. B& z# N
IFERR_REPORT(AOM_unlock(dataset_tag));0 {" E3 |( ], G! d' h
IFERR_REPORT(IMF_release_file_access (&file_data));, x6 Z6 W5 ]+ W& A+ Q }
! E0 |0 i' k* O* o /* assuming the old file should be deleted *// T8 j4 O& k( v W
IFERR_REPORT(AOM_lock_for_delete(old_file));
/ }& X7 U4 T) f3 R" b IFERR_REPORT(AOM_delete(old_file));9 }9 y8 O2 g2 l# ~8 q* U
}
) `7 G: X* i. e9 P6 [' i6 v" L7 _- J+ u% B2 b
|
|