PLM之家PLMHome-工业软件与AI结合践行者

teamcenter C++二次开发源码分享:创建item和item版本

[复制链接]

2015-1-21 13:16:44 5372 0

admin 发表于 2015-1-21 13:16:44 |阅读模式

admin 楼主

2015-1-21 13:16:44

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

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

x

  d- j4 }+ ~* y3 O# `& ^Teamcenter C++二次开发源码分享:创建item和item版本' m7 _2 m2 k& |; I

( Z* O! g& ^- K' v4 A: d

  B: H2 D+ g% s+ }/ x, ]) v" F通过创建businessobject 指定的createinput 完成对象的创建  i  A2 z" v% K) v4 f5 Z

- y5 O' r. B+ s1 l$ e0 x6 u! e/ b
8 [+ j% ?0 }% p2 @& f  C9 E
  1. #include <constants/constants.h>
    2 J3 E) \) U* V1 @( |2 s
  2. #include <TCcore/Item.hxx>
    4 g( t# j4 T# F. }2 O% [
  3. #include <metaframework/CreateInput.hxx>* J4 _/ }7 ^& H: z
  4. #include <metaframework/BusinessObjectRegistry.hxx>
    ! b8 f+ x7 t$ r' F! q9 R1 o

  5. / }  J6 K. S9 `( U  W: d
  6. using namespace std;
    ; c5 J* m& O  v& ~2 O: o
  7. 5 j* s, o9 [! O% k# r5 n3 B
  8. static void createItemAndRevisionWithDifferentNames(void)% F) s0 J& M; D( q; y; U8 M
  9. {1 t. J+ x, ~( s! G: [+ B
  10.     int ifail = ITK_ok;- I$ `+ d/ N& `  r4 {

  11. 3 I/ N5 A+ Z" S; w) O3 D& c
  12.     char type_name[] = "Item";
    % `, t5 x$ u, b: ~7 ~' x! S5 W
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));% e; o" ]* r5 G  S) G9 z
  14. + _# H" C/ ]* s4 [8 L" m
  15.     //Revision type name is not always <item type name>Revision! w, u8 x& x1 d4 R9 q
  16.     char *revision_type_name = 0;
    ( @4 N- \5 N$ k. T
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);
    ! y+ s) p6 ]( B/ N5 B
  18. & s% _$ H% {) S
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));9 l, v$ p, H+ y
  20.     ( e! q! J0 Z! T
  21.     MEM_free(revision_type_name);
    ( i/ d9 P" Z# l" Z

  22. ( b) r+ w9 r8 n- M
  23.     // set Item properties' {/ ~) j2 G" S+ U- b4 v6 I
  24.     itemCreateInput->setString("item_id", "1234567", false);( |- ]* n; {# U
  25.     itemCreateInput->setString("object_name", "My Item Name", false);  }8 U$ g' ^1 R! D
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);" G' e: Q) V6 u6 _
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);, `4 M& H: p+ H( M0 v

  28. ' x( `8 K) H) Z6 Z! q
  29.     // set Revision properties
    " _9 I3 `7 Z" m6 ?- {
  30.     revCreateInput->setString("item_revision_id", "00", false);- N( V* O6 b8 A
  31.     revCreateInput->setString("object_name", "My Revision Name", false);
    % ]2 _# X+ W. \2 }
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);6 ~, _5 h, E+ i/ w! E  _

  33. 7 T7 v2 G% l, B; h9 `
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
    . n8 \( `% I) c3 c8 [# c

  35. 8 |4 p2 ?( }: h0 R( w( A
  36.     ifail = AOM_save_with_extensions(pItem->getTag());
    0 \1 w( t6 S( L( {; q3 M
  37. 3 V/ P# {0 M, ^8 P
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.
    7 @* @/ E  q' H- M$ B
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());
    4 j# O& h0 Z9 y) j; U
  40. }
复制代码
; b# {8 ^3 U" j+ N( f, P9 V$ m3 ^

1 W5 G2 G+ m& F: X" |
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了