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

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

[复制链接]

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

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

admin 楼主

2015-1-21 13:16:44

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

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

x
& @- t# y: o4 |
Teamcenter C++二次开发源码分享:创建item和item版本& S3 u- _( R6 b& i
  T3 S& r7 I6 g2 [3 S- V* L

9 X: d0 h3 ^% V% K3 ?' v, X通过创建businessobject 指定的createinput 完成对象的创建
3 j+ r8 t- m- F* n; E; S
3 E- B( C  b3 X. @; T/ P
( A& |) o7 N* b5 t5 G% i% S" e
  1. #include <constants/constants.h>: X1 p  U4 r' R0 s# E
  2. #include <TCcore/Item.hxx>
    6 A, I; h; ?  J" X; b; Q# l8 r5 r
  3. #include <metaframework/CreateInput.hxx>
    $ U# P. J* O$ F, _& U  Q
  4. #include <metaframework/BusinessObjectRegistry.hxx>
    7 g1 P8 \& Y) w8 ~2 y

  5. # N0 R5 |8 V- M: ]  l
  6. using namespace std;2 z7 E& e1 I& y5 G
  7. ! b/ O/ f6 o& h3 X$ p
  8. static void createItemAndRevisionWithDifferentNames(void)5 Z0 X  g) m3 ]+ G: y
  9. {, C7 j+ X: q0 o/ Y
  10.     int ifail = ITK_ok;  x& {  j' t6 [% L1 C

  11. & O3 A: k( \" G9 y( L6 {  v: X4 }
  12.     char type_name[] = "Item";
    * G/ ^8 N6 E( k) Q& Y7 M% a) K! x5 b
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));; _. s, K0 N, r3 ?  K% L

  14. 4 Y2 E9 p/ |' w+ c6 H; b9 U+ O
  15.     //Revision type name is not always <item type name>Revision" j; o( B' v7 |3 b7 L
  16.     char *revision_type_name = 0;
    1 N- n  ]  G8 d+ a/ J+ B- @8 i
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);
    3 G% R0 F6 D" V; b" P7 S

  18.   V. D9 {4 l/ j: F' V( J
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));
    6 C. V2 [% [9 ]) }, Z9 u
  20.       d0 i& R& W/ q# q* k) Q
  21.     MEM_free(revision_type_name);+ F% k) v" Z( f- {
  22. 6 g1 y6 e: |! o
  23.     // set Item properties+ t6 Q+ j- d+ p  i; W
  24.     itemCreateInput->setString("item_id", "1234567", false);- g6 B) A$ d; g! x) B) U7 N' A
  25.     itemCreateInput->setString("object_name", "My Item Name", false);' L; X( `8 f7 R* m# s4 G
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);6 J+ Y7 y9 h6 m+ k1 c% n) S( I
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);. d+ |& A& s. g/ i3 }
  28. 2 P$ Z  U4 M: p5 p4 |9 F2 f( q
  29.     // set Revision properties$ V% O6 ?0 i% ^, k% B2 H! r4 w
  30.     revCreateInput->setString("item_revision_id", "00", false);
    2 k! J* C7 M9 m8 J) b4 O
  31.     revCreateInput->setString("object_name", "My Revision Name", false);
    ; N% Z" B( l5 l( h  h
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);" m  U% |% G9 x7 b- r

  33. + N; K' s$ h. v- L! b+ |
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
    $ z8 {8 z8 I& ~; k+ j5 ^; ?

  35. 4 p5 |/ p4 H7 O3 I6 |0 D, }+ z* }
  36.     ifail = AOM_save_with_extensions(pItem->getTag());8 b! |4 f% u* z* p1 a

  37. : s: m- d3 I# T( X  P
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.% i% S# |) Q; f/ T
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());2 @7 K$ z, K; s) w9 l6 E0 J
  40. }
复制代码

/ f9 ]0 e9 k/ I  \0 T" E
. |9 G* Z+ }% K% 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二次开发专题模块培训报名开始啦

    我知道了