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

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

[复制链接]

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

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

admin 楼主

2015-1-21 13:16:44

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

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

x

% Y: W4 @) w1 i9 o/ g. `: {Teamcenter C++二次开发源码分享:创建item和item版本( _) e+ n: {0 w' I

! G9 b7 [) h8 a5 z% l
" g3 B3 e* y6 j- F/ r7 r
通过创建businessobject 指定的createinput 完成对象的创建
4 W" C- x8 d  M; d( W- O* ]* r
. J  y& \/ z+ X( D" D% s6 B4 L( E# J" `! \3 T" {: `
  1. #include <constants/constants.h>6 A% |6 l% L. z( G* H4 Z
  2. #include <TCcore/Item.hxx>
    + J( V' Y& R1 S$ k/ ^% ?$ \
  3. #include <metaframework/CreateInput.hxx>- P3 l; V: W- Q. Y: ^3 b: ?
  4. #include <metaframework/BusinessObjectRegistry.hxx>
    - f! l) [- H: v/ G5 k

  5. * L  O* t0 X- k
  6. using namespace std;; p1 L9 F% ^; a! Z) o
  7. - K1 N' @) x6 c1 e2 `, F" r# a
  8. static void createItemAndRevisionWithDifferentNames(void)6 C" W2 e, {7 E6 k$ p5 ?% A8 p" }
  9. {
    9 g# J, F  ]1 J; `
  10.     int ifail = ITK_ok;- ]; J9 p6 V& ?6 j. f

  11. % e+ v8 b, E+ n0 T' P7 h
  12.     char type_name[] = "Item";0 t& E0 i, r) r. U% V
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));8 x* r* j6 l) S" E/ L- R

  14. : u* e4 C$ h- n9 U1 t$ J
  15.     //Revision type name is not always <item type name>Revision0 e# H2 X$ o' W$ Y
  16.     char *revision_type_name = 0;) ?& d  V: X" k7 `
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);
    : n8 b" e% L8 S7 E! u2 ^! J2 s8 \
  18. * Q( W( s- {. H2 `0 a$ s
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));
      T  l# B* d* \# X6 }
  20.    
    1 z- y$ C* t  D3 `' P( n% c/ D! ]
  21.     MEM_free(revision_type_name);; Z* P5 M4 V3 N) E7 X! Y2 o

  22. . ], @: s, S6 o; [; U
  23.     // set Item properties
    " W$ M1 S: h% P: I0 _# O' \+ l  x4 _
  24.     itemCreateInput->setString("item_id", "1234567", false);# v9 l1 z0 T1 Q9 i1 S; ^
  25.     itemCreateInput->setString("object_name", "My Item Name", false);0 }5 M9 K( n9 v8 i
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);6 w4 ]4 f7 |; [1 \
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
    ' A3 `/ I3 \( G+ o9 t7 N6 V# T. F: s

  28. & I) g2 }; r* K- t5 B# Y
  29.     // set Revision properties* R" {9 c' d7 @/ \6 i+ x* \
  30.     revCreateInput->setString("item_revision_id", "00", false);
    2 ]. f1 V: `, m8 ^
  31.     revCreateInput->setString("object_name", "My Revision Name", false);8 z% |- Y2 L4 g% l
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);
    " b  x2 j; X6 b: b# G, ?

  33. ) R) z7 `( D* f+ S5 L5 ?9 `
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));+ z) P9 j1 |% N% d) C

  35.   o; y: u8 k7 @+ C8 o
  36.     ifail = AOM_save_with_extensions(pItem->getTag());
      r4 o0 a. `# g7 a8 r' l
  37. 2 u* e5 J; o, i6 s: ?
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.+ x* C, z8 z7 ~' T$ O$ |. a
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());
    ! A: G7 F% `% L2 [% G
  40. }
复制代码
& I  J* f1 A: H

' t* U+ P( o( g
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了