|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
8 d* Z9 X0 k9 MTeamcenter 二次开发源码分享:替换数据集dataset的引用集
5 g7 u5 I6 h: @7 I9 b7 N/ N+ T! \9 b
8 z, m4 ?- S- y) N9 y! b9 P& J; }
9 X, c- y9 n5 ]4 A8 H; u, E+ N* T#include <ae/dataset.h>
L1 T, g3 H( b/ _& _$ j m#include <sa/TCfile.h>
! m5 ~' U3 a/ S# G% a% C9 y#include <tccore/aom.h>
/ n! d% ]9 Q* o7 t" x' v: S7 A#include <sa/tcfile_cache.h>
+ l$ A6 _: C, d
1 ^: A* P* Z9 F0 Z2 ustatic void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file,) O/ c3 j8 S" z. `4 M
char *new_file_path, char *ref_name)! J3 [6 `4 c/ J+ V+ g" M
{
$ F# V* u" e" g/ _* g IMF_file_data_p_t file_data;
8 I ~6 j: J# n1 K7 d+ ^ IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));
/ Y' z7 P( _+ b3 h l. l8 V# R6 J; d e* T
tag_t new_file_tag = NULLTAG;* w, E' v4 @4 C% \! a, l
IFERR_REPORT(AOM_lock(old_file));" r( H: o2 B5 E1 p/ _2 y" o; ?" o
IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,
" M! R4 \* W! p* i; ` FALSE, &new_file_tag)); 2 B0 \4 b/ W6 |7 m! z f) T
7 v! I% y2 m) o' \( ~- j9 T- w IFERR_REPORT(AOM_lock(dataset_tag));4 \: C3 G3 V, K4 ?7 t+ V* I
IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,4 _3 ?* }/ X3 R
AE_PART_OF, new_file_tag));& i4 W; h! I! x1 D& G- ]
! t9 `. I% j1 J7 G& x, E+ e
IFERR_REPORT(AE_save_myself(dataset_tag));- ]2 s0 m/ E8 j& O y! w
IFERR_REPORT(AOM_unlock(dataset_tag));
2 n! O E) u+ B' D7 y/ U* V+ \; i IFERR_REPORT(IMF_release_file_access (&file_data));
2 t F4 x2 k$ z6 W( ?
- V) E9 p+ d. @3 l9 Y4 ] \0 e/ F /* assuming the old file should be deleted */; @) h! @" t3 Z: b5 Z
IFERR_REPORT(AOM_lock_for_delete(old_file));$ q2 E( a% ?$ l) R, `( w$ l2 I$ M
IFERR_REPORT(AOM_delete(old_file));
5 R& S1 ~. l4 P+ P/ N2 C0 r}/ Y5 c# [! ?( u7 t- P& R
6 J9 ]1 e. L8 G |
|