PLM之家PLMHome-国产软件践行者

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

[复制链接]

2014-1-15 19:35:45 5342 0

admin 发表于 2014-1-15 19:35:45 |阅读模式

admin 楼主

2014-1-15 19:35:45

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

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

x
Teamcenter ITK二次开发源码分享: 替换命名引用name reference
2 g& d/ ~: F: Q9 a. t4 t0 l% Y
0 l# I! @' d! P; N, B9 @! F0 g; l& @
  1. #include <ae/dataset.h>
    4 n! T" W0 @4 l/ g9 y; @
  2. #include <sa/TCfile.h>% {& P$ N# w2 |* ~7 b
  3. #include <tccore/aom.h>0 u. C5 u. d* m/ w( R1 ?* f% D
  4. #include <sa/tcfile_cache.h>) `/ F7 a( q4 G* ~) S
  5. . d) [, V# p2 v9 v
  6. static void
    8 k2 R& \7 K% l# L
  7. (tag_t dataset_tag, tag_t old_file,
    $ |. }$ S( D( @* q" S
  8.             char *new_file_path, char *ref_name)
    " D% \  D8 k4 c% g+ x
  9. {
    ( _& T* E% E* M, q0 L
  10.     IMF_file_data_p_t file_data;
    8 {6 G! |! j: t" _+ e) L7 v6 i2 ~' J
  11.     IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));
      c5 q, v: g. [  X  `
  12. $ Y4 c9 T1 n" k& |
  13.     tag_t new_file_tag = NULLTAG;
    $ V9 N5 J! M, D0 I+ D( v& P
  14.     IFERR_REPORT(AOM_lock(old_file));
    ' i" r. @6 w5 W" x# L
  15.     IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,
    ) h2 S  A/ e& ]: B0 K( ?
  16.         FALSE, &new_file_tag)); 0 {& I4 d, B4 }4 i" b+ b7 M3 H% \

  17. ! x$ H* t& R1 Z7 K  {8 O. m$ y* Y0 N
  18.     IFERR_REPORT(AOM_lock(dataset_tag));0 E8 N2 C# \$ D; S- u- o
  19.     IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,
    ! u1 U$ X# }/ o
  20.         AE_PART_OF, new_file_tag));
    . V; E7 Q  _# f0 G6 h

  21. " l2 r5 G3 ?1 j3 [0 X
  22.     IFERR_REPORT(AE_save_myself(dataset_tag));
    3 \/ s5 _  r; R0 G$ u
  23.     IFERR_REPORT(AOM_unlock(dataset_tag));
    * v% ]+ r5 H. Z( u; X7 W3 t3 [! g% j
  24.     IFERR_REPORT(IMF_release_file_access (&file_data));
    0 j* o& ~* `  v' g9 \1 O' @
  25. + ]4 M# j' w8 y+ K
  26.     /* assuming the old file should be deleted */5 Y" v6 _( a' n0 l% r
  27.     IFERR_REPORT(AOM_lock_for_delete(old_file));
    3 D4 g+ i) {4 {
  28.     IFERR_REPORT(AOM_delete(old_file));* t" T) o% y3 `& J$ I
  29. }
复制代码
( `0 Y- N  v/ y' O# f3 _: p

2 V4 g, C1 T, L( q9 w3 v3 n

) b) G/ k8 O8 a. o8 ?
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了