查看: 5616|回复: 0

teamcenter ITK二次开发源码分享: 替换命名引用name reference

[复制链接]

6

主题

4

回帖

60

积分

管理员

积分
60
发表于 2014-1-15 19:35:45 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

×
Teamcenter ITK二次开发源码分享: 替换命名引用name reference; P, G6 l: _, D7 F
8 u2 o6 V" \+ \% N/ {# f
" E" l0 f5 n$ y  x/ E  M1 k
  1. #include <ae/dataset.h>9 `' l( P" r2 g  G7 [2 T' a
  2. #include <sa/TCfile.h>
    3 ?& u% m8 s% ^& H
  3. #include <tccore/aom.h>
    5 W0 k9 F: C; H
  4. #include <sa/tcfile_cache.h>
    & B/ i1 G" n: G$ A5 u% s' l9 w  x& s
  5.   D7 W: ^3 m, P5 `! ~$ x+ p% U/ V& v
  6. static void
    2 I4 O9 H5 ^- S+ C' x
  7. (tag_t dataset_tag, tag_t old_file,7 v; j7 o+ x' d, O- [4 _! v: o
  8.             char *new_file_path, char *ref_name)
    * c; c+ d  C* n# _0 u; ]
  9. {
    2 p/ P8 n1 T* i% d
  10.     IMF_file_data_p_t file_data;
    ; Q. p' f9 {; t
  11.     IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));( x- T1 ?4 g* T! n" ^1 X; ~7 q& \$ \& b
  12. 2 v7 d, S' b& F; ~, S: Q# ?
  13.     tag_t new_file_tag = NULLTAG;5 g) R- w* J% D2 @5 B  h* _* x
  14.     IFERR_REPORT(AOM_lock(old_file));
    5 a+ e0 Y) _3 ^
  15.     IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,, \- d8 r: |& M. R  g0 ?3 K1 ?5 w
  16.         FALSE, &new_file_tag));
    5 q  O4 ~5 m( X# T- ?2 q+ w, w

  17. 6 j9 Z* g8 @4 k: C% K  r
  18.     IFERR_REPORT(AOM_lock(dataset_tag));
    " c$ L+ O; s0 N0 O8 _" _
  19.     IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,
    # Z+ ~* t3 a  D+ o# y7 ^
  20.         AE_PART_OF, new_file_tag));7 p# Q5 Q* o( Q: d( E

  21. 2 w! _. c: m! B( m$ B" ~5 H
  22.     IFERR_REPORT(AE_save_myself(dataset_tag));
    ; I) B6 _: l/ s" D% V
  23.     IFERR_REPORT(AOM_unlock(dataset_tag));% e4 z% B9 }/ s2 ^$ i+ l% g& `3 ^
  24.     IFERR_REPORT(IMF_release_file_access (&file_data));
    & x/ Z; s. ]* c* }# K% h8 \
  25. % A" X  G9 ~' O  b) Y" ]: n
  26.     /* assuming the old file should be deleted */. N9 g6 ~* C7 T) \
  27.     IFERR_REPORT(AOM_lock_for_delete(old_file));
    2 [$ W  F* j1 F$ ?. r
  28.     IFERR_REPORT(AOM_delete(old_file));1 f5 Y- m1 U9 Q& f  s
  29. }
复制代码

+ f! V2 c) T! z( f; Z: g
) T2 q5 X/ l: [

9 `  t7 i( l& e" `, U+ ^
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部