|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
# T5 g" l: k) _ K( e# ^
Teamcenter 二次开发源码分享:替换数据集dataset的引用集7 j' j0 S( g3 k. t
3 B2 N. R' m& T) I: s9 P6 s* J9 P+ T3 ~8 o8 H: Z% s
#include <ae/dataset.h>6 I6 ]5 I+ b+ |
#include <sa/TCfile.h>" L# { ` ]8 [+ y" p5 K
#include <tccore/aom.h>; J) V. }; M5 l* o
#include <sa/tcfile_cache.h>) x8 |, G( D; e! q/ z
6 n) g. p' i1 Q4 r8 E; p: [/ ostatic void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file,( C! P5 R3 _* t$ j. @
char *new_file_path, char *ref_name)
/ l: g, Z( C6 F2 K+ N M{
* w: \2 I. [, f5 y8 u IMF_file_data_p_t file_data;
' p- M+ x7 ]: A7 A$ t% Y IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));
' O6 J( F8 D/ _& z3 L9 i- J7 `
1 X1 B+ _& {: V0 G: p" ~1 g. m tag_t new_file_tag = NULLTAG;5 @$ {( m8 F! @: {
IFERR_REPORT(AOM_lock(old_file));
$ B$ R% y; u. }2 K% E8 C) [ IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,
7 j: M$ V* ]4 S4 }( K FALSE, &new_file_tag));
( y! d' a) g! p0 ]0 ^! e
I% R2 y" U4 r) e S. [" E IFERR_REPORT(AOM_lock(dataset_tag));' I( \% L* T: W* l4 r
IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,! y$ ]7 ]+ Z; ^* M7 c
AE_PART_OF, new_file_tag));
1 B6 ?" |, n2 r! r# H2 [2 W# f {+ v1 N6 T e
IFERR_REPORT(AE_save_myself(dataset_tag));, U5 s6 j. ~& g5 S9 H3 w7 v0 [
IFERR_REPORT(AOM_unlock(dataset_tag));4 [* P. s5 G( F
IFERR_REPORT(IMF_release_file_access (&file_data));
9 j; \- s. t2 R3 V; g. d# I" j5 [! i; N/ {
/* assuming the old file should be deleted */ @& Y8 N- U# S& S* C7 ~. E' w
IFERR_REPORT(AOM_lock_for_delete(old_file));4 v S0 ?' \5 @; L; T( E$ Q( A# n
IFERR_REPORT(AOM_delete(old_file));
( ^" R% {- e2 {4 k' }0 G6 [}* d1 G( j, q$ M! W1 T
: x1 h" a% N2 \6 x* s7 ^3 n6 G a0 B
|
|