|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
' ?% @/ k7 f: b- N8 z4 ]Teamcenter 二次开发源码分享:替换数据集dataset的引用集
( w* f k/ g7 e: d; I9 }& d6 ^
# R" k! K8 J, D0 g2 h
- m: q! m8 P& |0 l#include <ae/dataset.h>7 Z/ K3 M( e2 m# J* {/ p' F
#include <sa/TCfile.h>8 J: g" t* T/ s6 {
#include <tccore/aom.h>
8 G7 K4 D) V( F( h( v8 \9 \+ ^#include <sa/tcfile_cache.h>
0 P( e9 R4 J$ J" G9 v! |& C
( d7 `. n" I9 g1 K( q1 wstatic void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file,, l0 q' i1 X% z' F" ~+ x
char *new_file_path, char *ref_name)
! U# w7 G: f2 H' y: c# m3 \; j4 ^{
/ P! f9 `& u7 Y IMF_file_data_p_t file_data;
$ ?: R" a9 E* T8 ?$ M IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));, q/ G3 |4 B6 c2 @
+ g% e* N( w1 B- ?( [3 E
tag_t new_file_tag = NULLTAG;4 J# T5 Q S: i; M* K- F3 m5 P2 ^. a
IFERR_REPORT(AOM_lock(old_file));
3 G+ u$ y' J) W IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,; Y0 v j3 {3 W5 ] ?& E h
FALSE, &new_file_tag)); 5 z8 C2 z _# |0 w
e/ d7 c* D! b" r6 d IFERR_REPORT(AOM_lock(dataset_tag));8 K2 C% D8 j5 A9 w: G
IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,
# [" w6 T% E( W5 t3 u AE_PART_OF, new_file_tag));
# u5 @) t6 a& L& f: }: o1 K: H7 z3 O) ]4 \; N
IFERR_REPORT(AE_save_myself(dataset_tag));$ |" A1 q+ g% O# u5 A
IFERR_REPORT(AOM_unlock(dataset_tag));
5 J. F; v o+ l" I5 ]% @; Y$ | IFERR_REPORT(IMF_release_file_access (&file_data));0 x8 o) h- x" S' S& E# z
/ l- ]# r8 O6 ?0 n
/* assuming the old file should be deleted */9 s; G$ ]( R$ K' F1 p
IFERR_REPORT(AOM_lock_for_delete(old_file)); i, \( z2 g9 f1 q6 z8 a
IFERR_REPORT(AOM_delete(old_file));
6 G$ `6 n& l& y, S( `+ x8 s5 ^. Q- C7 [}
( d( u. K0 o0 e' w" {6 M+ p0 {" @
' z# |$ @2 c/ B |
|