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

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

[复制链接]

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

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

admin 楼主

2014-1-15 19:35:45

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

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

x
Teamcenter ITK二次开发源码分享: 替换命名引用name reference
" N. q+ ^2 t& k7 H- T9 v6 \% D2 K+ \3 O  R

" B6 ^. D$ }+ t7 j2 Y; W
  1. #include <ae/dataset.h>& z1 g/ ?, }# N+ k4 {2 y# p+ @, T
  2. #include <sa/TCfile.h>
    * _& Y7 {0 f$ N  X# w4 J
  3. #include <tccore/aom.h>
      ]; C. Q0 I' s: \
  4. #include <sa/tcfile_cache.h>
    3 P4 p4 Q* ]9 [7 S$ F$ ^) [9 Z3 F

  5. # c" s  }7 c2 M7 t9 Z
  6. static void ( [; n" d6 ?1 R# T
  7. (tag_t dataset_tag, tag_t old_file,
    % U+ Q1 Z3 u: l9 u7 T1 N, k& A
  8.             char *new_file_path, char *ref_name)
    ) |) s; q" i; [, A* U: x
  9. {
    / X! D$ e5 X0 f% t
  10.     IMF_file_data_p_t file_data;
    2 E/ w* M. M: W1 F
  11.     IFERR_REPORT(IMF_get_file_access(old_file, 0, &file_data));( M5 a1 s1 z7 D9 m8 K  U' u8 U

  12. # N: Q8 c! \0 T  z3 o
  13.     tag_t new_file_tag = NULLTAG;
    / E* ~; ]0 C/ s% N; U' b  f! X
  14.     IFERR_REPORT(AOM_lock(old_file));
    8 \9 G0 A! r5 C* Y
  15.     IFERR_REPORT(IMF_replace_file_and_get_new_tag(old_file, new_file_path,
    2 H  ^0 J. {! k% p+ W
  16.         FALSE, &new_file_tag));
    8 k5 _3 l- i; Q. g9 z; F

  17. ! r2 s' L3 P! p2 r- P
  18.     IFERR_REPORT(AOM_lock(dataset_tag));
    0 Y% V. A5 S. C( f/ @
  19.     IFERR_REPORT(AE_replace_dataset_named_ref(dataset_tag, old_file, ref_name,6 K* D8 S- q% a% f: H
  20.         AE_PART_OF, new_file_tag));
    & ^% a  j. W0 ]1 t, ]4 J' m
  21. 7 H6 B+ A$ M+ _; Q6 a
  22.     IFERR_REPORT(AE_save_myself(dataset_tag));" O2 d) ~) G; S( [& b
  23.     IFERR_REPORT(AOM_unlock(dataset_tag));3 {. G) ]  J4 m0 ^! a" f/ N+ P2 }$ ~
  24.     IFERR_REPORT(IMF_release_file_access (&file_data));
    % z; f; u2 Y: S1 z# {. ^

  25. 5 V$ Y. i) ]+ s# E
  26.     /* assuming the old file should be deleted */
    $ C- o; X5 W5 ]9 w
  27.     IFERR_REPORT(AOM_lock_for_delete(old_file));% [1 ~5 N& [5 A! B9 A( o$ X7 K
  28.     IFERR_REPORT(AOM_delete(old_file));5 [0 k) l# B$ J8 @: |. i! [" b( M
  29. }
复制代码

; G- w6 l; s, C! [2 K& l
4 [: ~* S: A1 }: G2 u/ s+ d/ g
6 F% r( V+ t; n
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了