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

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

[复制链接]

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

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

admin 楼主

2015-1-21 13:16:44

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

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

x
7 U5 i# M( G7 v3 C. P" W
Teamcenter C++二次开发源码分享:创建item和item版本
5 V& Y7 k. u4 G3 @
* G& @8 ^( E7 q4 U
; E* h4 ^/ _/ c4 M; \: V, |. [
通过创建businessobject 指定的createinput 完成对象的创建6 L3 W9 X+ Y7 a) T% W
7 u/ n% W+ A# s. O
  {) d6 f: c" y
  1. #include <constants/constants.h>
    7 M0 y4 n0 ?' G" V
  2. #include <TCcore/Item.hxx>
    * H/ V: O. `- K/ Q
  3. #include <metaframework/CreateInput.hxx>
    * A8 m% s* m2 K( N: l
  4. #include <metaframework/BusinessObjectRegistry.hxx>. F, s! u% |- l# ?
  5. * I/ ?7 i/ S$ N( C* f6 S5 C
  6. using namespace std;
    , M" `- r/ |/ |1 e
  7. $ _4 L0 [- [* @! }& U
  8. static void createItemAndRevisionWithDifferentNames(void)- C, Q, h$ E/ V& D
  9. {2 u4 `* _5 U: d
  10.     int ifail = ITK_ok;
    # K* [8 i& h8 }; x% M
  11. 8 m5 }6 r! Z" }# t. T* Y
  12.     char type_name[] = "Item";
    + O: _- m! c/ }7 b8 ~8 |/ c" q! g
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));: L5 G! h; M0 H
  14. 0 n% R) N2 w/ S2 z# c4 }" Q% T
  15.     //Revision type name is not always <item type name>Revision
    : T3 O( g# X. R# L- o( |% x
  16.     char *revision_type_name = 0;
    7 p+ _' c4 L8 Z3 {
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);
    5 Y" ]- j( t) {  X
  18. ' g8 c+ }* N5 j9 M) P1 ]$ a1 v
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));* v6 r; f$ w) b" O4 K8 N* h: ?; m1 H
  20.    
    ! s' y, ?9 [/ ~$ P
  21.     MEM_free(revision_type_name);0 ]2 v! Y$ F6 F2 s
  22. 0 T3 D, W" [: Q; s4 j
  23.     // set Item properties
      S" `. [, N+ u- G. q8 }  \! }
  24.     itemCreateInput->setString("item_id", "1234567", false);
    , v& t( w! S/ _4 j0 ]! F$ }$ j
  25.     itemCreateInput->setString("object_name", "My Item Name", false);2 o, ^, {9 W% K6 Z& m3 R3 q6 V
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);
    9 C) M3 t5 ?7 y5 A2 ^6 S
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);- X/ V" M2 W5 h5 R3 m7 D

  28. , i; t" D! U2 Q$ B3 T* P- w
  29.     // set Revision properties0 `5 G* P# a2 t& H8 W3 Y/ O+ g
  30.     revCreateInput->setString("item_revision_id", "00", false);
    / c! }& \" R) n- j3 n3 j$ n7 H
  31.     revCreateInput->setString("object_name", "My Revision Name", false);% d! I% B, ^2 j5 r
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);
    1 R+ g" a8 C( F5 x* ?0 u3 ~

  33. 5 b2 z& v9 r: A+ T& E# T
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));" b' `1 J, }+ ~: |* q. N3 c
  35. ; m: x' D% k% A
  36.     ifail = AOM_save_with_extensions(pItem->getTag());: f: M. O5 l7 H% N9 y  V

  37. * B( w: W- D$ l
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.
    : ?7 R# o$ l) ]. U; K
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());
    0 [+ y, [: {! ?& m
  40. }
复制代码

" |- M1 @2 \8 [% G: J# d: Y( h
, B' p  k3 ^/ i4 ~. E' o
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了