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

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

[复制链接]

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

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

admin 楼主

2015-1-21 13:16:44

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

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

x
3 X* g  _1 I/ m2 Y
Teamcenter C++二次开发源码分享:创建item和item版本8 B8 C  l+ `: s3 W! n- O) [& t
. \/ b# f( N0 P, M( F' @5 V

8 p. u4 R. S& d5 X4 g8 u通过创建businessobject 指定的createinput 完成对象的创建* Q) U  z6 R1 q$ |' g3 U2 e

# F4 t9 k/ g; ?$ ~
2 P, b6 f9 K5 c3 o
  1. #include <constants/constants.h>
    " ^% s: Y2 x8 f! |* ]  e* H
  2. #include <TCcore/Item.hxx>4 x+ j; Z- Z6 R- H
  3. #include <metaframework/CreateInput.hxx>
    8 b4 Z# \) B1 Z: S
  4. #include <metaframework/BusinessObjectRegistry.hxx>* q2 P& w3 j% R# }
  5. 8 Q  K' t4 H) c. y$ O# F
  6. using namespace std;! \/ m1 n2 l9 ^
  7. 1 |9 U6 k' C+ @, N4 l& F
  8. static void createItemAndRevisionWithDifferentNames(void); x( p! |; @, ?; f) N+ [
  9. {
    , H! d  ]4 a' E
  10.     int ifail = ITK_ok;( N( Z! ^! o9 l& U

  11. ; Y; c5 b1 y! d; s' Y
  12.     char type_name[] = "Item";4 \- P- P0 a# u, a3 ~0 @$ h. j. H
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));; w; ^0 b+ l& O" m7 ]
  14. $ ]8 s. I+ w. a- H5 O+ X6 I
  15.     //Revision type name is not always <item type name>Revision
    $ Q' E0 y) [7 R
  16.     char *revision_type_name = 0;
    ' E9 k% j0 }1 a0 Y( u; o
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);9 C' L  @( C8 W5 p, v
  18. ) T2 w; e& p! b. ?5 c
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));
    6 K" [7 J. A% j- ~- S2 d& u: S
  20.     8 r7 {, o9 `, ^) s7 r$ V
  21.     MEM_free(revision_type_name);" x5 `8 E9 q" I; E3 W3 H1 h
  22. ! o5 i$ y0 N: }% a# Y# m! a- `- D2 R
  23.     // set Item properties
    : X, G8 J3 U- y% R
  24.     itemCreateInput->setString("item_id", "1234567", false);1 \. s, s" j$ A' ~7 T# ]
  25.     itemCreateInput->setString("object_name", "My Item Name", false);/ M0 P0 c6 \4 K( U
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);
    . P+ ?# U9 c* _! G; t- U  P
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
    1 b5 x9 u3 h3 W# x" z& f% B* Z
  28. , S9 r# T" U3 Z
  29.     // set Revision properties/ X- y# \9 e# e- A3 x- y1 e
  30.     revCreateInput->setString("item_revision_id", "00", false);* u5 K- [0 S0 s) Y# y0 d' I
  31.     revCreateInput->setString("object_name", "My Revision Name", false);
    8 d8 X  M& h8 ]; }
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);
    0 t$ }' A( V) i2 q; J
  33. 6 A" m0 p- B+ p% _& ~3 N
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
    0 i9 f, ~. I* Y; Z+ j- v
  35. 7 h4 e9 h& A3 t) h9 q! R
  36.     ifail = AOM_save_with_extensions(pItem->getTag());
    ' E* U$ Z( r8 o

  37. " F. _" ?$ @+ I
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.
    ( ~& M- _- [0 A
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());1 ?. X3 M* D. R$ x% q
  40. }
复制代码
" z; b. q3 v; h/ F" S# l5 g

; @: o4 p/ v( V! O4 |. 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二次开发专题模块培训报名开始啦

    我知道了