PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
Teamcenter ITK二次开发源码分享: 替换命名引用name reference# K, {% b+ ]# M: B! a' u
2 }5 h* l$ p: w: _, k; o$ i

1 j: v2 A8 P; a
  1. #include <ae/dataset.h>
    ! ~" Q9 Z) x4 B2 }; d1 E
  2. #include <sa/TCfile.h>
    , a  Y2 h  t. A% k' W
  3. #include <tccore/aom.h>, x. o% h' Y+ G$ _+ s# i
  4. #include <sa/tcfile_cache.h>; P  K% g) L, Y* c
  5. * C4 o" M& T) _
  6. static void / `2 [7 |4 R2 y, z! w) b
  7. (tag_t dataset_tag, tag_t old_file,  X: M& F* {9 v+ o% z
  8.             char *new_file_path, char *ref_name)
    5 L5 F, j: T/ G5 K
  9. {
    $ d0 N6 A8 m8 V1 ?
  10.     IMF_file_data_p_t file_data;
    ' @9 u/ t/ E$ c6 J/ X1 Q9 o( z
  11.     IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));
    $ Q) o/ h4 |& s/ ?

  12. ) h/ w! ^6 U" g  Y9 p9 K
  13.     tag_t new_file_tag = NULLTAG;
    5 A; U- f' D) h3 a1 ]4 Y
  14.     IFERR_REPORT(AOM_lock(old_file));2 B" M- ]+ k- d( E8 \" w* v
  15.     IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,& k. u' u) X3 D, M1 A
  16.         FALSE, &new_file_tag));
    $ S! l6 d. {* q+ h. Q& ~- b9 s
  17. 4 g* F% m" s$ L7 k$ d2 V1 q
  18.     IFERR_REPORT(AOM_lock(dataset_tag));6 x/ M0 G! o. T: P- Q+ n5 \2 X( M
  19.     IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,; A( o; Y0 @; }* D
  20.         AE_PART_OF, new_file_tag));% O4 j7 h1 n& j! s/ [1 I
  21. & a2 O  ]& F. V. }" R9 K
  22.     IFERR_REPORT(AE_save_myself(dataset_tag));& T: N. n  y; n' q7 X4 T1 M9 J' r
  23.     IFERR_REPORT(AOM_unlock(dataset_tag));% r8 M3 Z# s# i# f0 }) E
  24.     IFERR_REPORT(IMF_release_file_access (&file_data));8 G: M# T2 W. M. Y  ^0 C
  25. / ~( X+ R0 W7 z1 p4 R
  26.     /* assuming the old file should be deleted */! E- t" w0 w  F# L5 M* K! [* @
  27.     IFERR_REPORT(AOM_lock_for_delete(old_file));
    ! Z2 y  B: g+ x# u, k8 C
  28.     IFERR_REPORT(AOM_delete(old_file));
      |' n0 {9 M" i! f4 [" r8 u  [
  29. }
复制代码

. H. b8 ~2 q+ {4 e/ d
/ z! l3 a4 ~! e# L0 L: C
! I2 T+ t2 L, F9 z! _: I+ o) I" q
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了