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

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

[复制链接]

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

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

admin 楼主

2015-1-21 13:16:44

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

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

x
3 m$ T; Q5 W# x1 h: c
Teamcenter C++二次开发源码分享:创建item和item版本" e5 T: i# q- D) e: }9 L

7 V, {  _7 t" ]  V

0 [+ C+ u. p; g- x( A通过创建businessobject 指定的createinput 完成对象的创建& m1 Q7 T& {# v6 h  ?8 \
8 A0 E; o9 n9 O/ C+ z& z8 M
& g4 ~7 d8 M+ g, p3 A
  1. #include <constants/constants.h>5 h5 I  c5 Q# {: c
  2. #include <TCcore/Item.hxx>. G- L+ D5 {# Z8 z& Y* i9 i
  3. #include <metaframework/CreateInput.hxx>
    0 h- e$ G$ I$ j6 b; j( C
  4. #include <metaframework/BusinessObjectRegistry.hxx>6 `, J0 s8 a$ Q- G- k- {

  5. # L. R& x7 ]: C* P' Z$ ]/ Z
  6. using namespace std;+ P9 D& ?1 \5 |6 y5 Q

  7. - M  y( x% }/ z/ Z* i- S0 \
  8. static void createItemAndRevisionWithDifferentNames(void)
    2 a0 I/ f3 Y* ?& |4 b( l  L: v
  9. {& u* y# C8 n) R: u3 v" C
  10.     int ifail = ITK_ok;
    7 T4 B$ G  `1 ?* J6 Q

  11. # l( L6 T5 l3 H. z
  12.     char type_name[] = "Item";
    / u# r% K; ~' C$ P
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));
    - ~$ `3 |0 Y8 T; Z$ O2 C# w
  14. & |. u2 k4 [4 I& X: Z
  15.     //Revision type name is not always <item type name>Revision0 A5 u" A3 m, E: l) G
  16.     char *revision_type_name = 0;
    / U2 T$ i/ ^" O0 d  y* @
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);% J! ~" T! a( S1 x
  18. ) G$ M0 @% K& P, w8 W
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));
    5 _/ \1 S8 u! v  D6 U
  20.    
    9 h5 b+ m% w$ [, y$ T
  21.     MEM_free(revision_type_name);8 I. @( O9 f& z& e5 q2 H' m8 s
  22. 2 u. Q' Z2 [' b0 A
  23.     // set Item properties
    3 A6 P; h/ o  V3 ^( d
  24.     itemCreateInput->setString("item_id", "1234567", false);7 I. t  T6 h: l* ]* H2 ?
  25.     itemCreateInput->setString("object_name", "My Item Name", false);
    * D8 I" i' E+ x% n
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);
    $ a$ Y2 V8 r1 \4 j1 {" `
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
    9 q0 L" i0 D! {6 W$ R
  28. ( _) Y2 e: J; U: c) U
  29.     // set Revision properties
    5 T' H1 f) H$ ^. j& B0 K$ p
  30.     revCreateInput->setString("item_revision_id", "00", false);
    % J+ s/ g9 G  L/ X
  31.     revCreateInput->setString("object_name", "My Revision Name", false);
    + S& y9 {# w1 u& [( G- d  k" m# W/ @
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);
    , x* z* N% d1 \' c6 X- r6 f2 A# s
  33. 8 E3 w% E6 H/ @
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
    8 b, |/ @( b9 o3 G' e$ ]+ M
  35. $ t2 z& ~5 z0 u* c$ j. h
  36.     ifail = AOM_save_with_extensions(pItem->getTag());+ N% f+ T  k$ [9 L4 d1 _

  37. & _, U8 \$ @6 d# o# b5 o& C
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.
    9 u6 e9 A9 Y9 \6 l( e
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());( H- Z4 V( ?& ]8 L9 }9 L
  40. }
复制代码

3 f* ?1 }. s0 f- `& l7 S! [6 @7 O7 g: x7 G. c
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了