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

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

[复制链接]

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

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

admin 楼主

2015-1-21 13:16:44

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

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

x

5 O; G8 \7 S. D$ l1 \Teamcenter C++二次开发源码分享:创建item和item版本
5 _/ J( t' P  C/ ?* Q* G' c6 e$ g" i

9 u! x5 h1 R) n. \通过创建businessobject 指定的createinput 完成对象的创建
/ x  `0 X2 _/ H' X  S3 |
9 n4 d1 ~4 E5 K5 M# s8 |: p, n( G" u( O8 Q' W! N
  1. #include <constants/constants.h>' s$ g  n) Y. w& \' X# d; |1 F
  2. #include <TCcore/Item.hxx>
    2 o+ P: K9 U2 W; J( Z# N  k* b. R
  3. #include <metaframework/CreateInput.hxx>. w% z3 F: l4 Q
  4. #include <metaframework/BusinessObjectRegistry.hxx>
    7 v4 z+ q' t" n; ^' J6 C& Y$ v  O

  5. 6 J$ h! i! X( @2 \3 a4 X
  6. using namespace std;7 x/ I% g( D% @8 y' F

  7. + {: Y  g% R0 S$ p9 }$ B- D
  8. static void createItemAndRevisionWithDifferentNames(void)) r8 u; L. q/ @  n$ \
  9. {
    , ]' c* D, r" A) @
  10.     int ifail = ITK_ok;
    8 g9 g9 r# F3 k+ b

  11. . F' b; ^" c. E, {( v/ l! Z# u
  12.     char type_name[] = "Item";2 K6 N2 c5 l7 X! j& ?' W, d
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));
    ) |$ l* D- K) O% A2 c7 P

  14. # c& z4 |. H6 @
  15.     //Revision type name is not always <item type name>Revision
    ; K7 t( S; `2 \
  16.     char *revision_type_name = 0;$ H8 ^- R& M* x/ ?0 o3 ]
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);
    2 E3 h8 Y/ Y/ [" ], o' _: _

  18. % B- K4 c; q! E
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));  b% p3 s  S' w5 |. N" e
  20.    
    1 h: C5 D0 Z1 z: Z3 |
  21.     MEM_free(revision_type_name);9 [3 B% S  h/ x% b) W8 b( a# }* |& Z

  22. ; u9 g0 f1 d. w: [' D
  23.     // set Item properties
      [: o1 c( I1 L5 T2 `3 ~
  24.     itemCreateInput->setString("item_id", "1234567", false);, j5 H3 r+ h! j  X; \$ c& z/ c+ T! B
  25.     itemCreateInput->setString("object_name", "My Item Name", false);2 M3 g0 {% z2 |& {
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);
    4 ?9 \8 f3 Y1 P1 a/ o6 `+ F
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
    + a; X- K) u9 D/ J2 V: k9 l
  28. & U2 q! S& {4 h6 I6 Y" c$ j9 |
  29.     // set Revision properties
    1 ^; r# J% e7 B2 w
  30.     revCreateInput->setString("item_revision_id", "00", false);
    # e& T- l) Y0 i* B: W
  31.     revCreateInput->setString("object_name", "My Revision Name", false);
    * g3 Z% l/ `6 i
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);  [( f3 ]2 f- b: C

  33. 7 q$ F( A* _+ C$ O  D0 B3 k
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
    ) Q6 Y  T- I- `

  35. 8 u1 }2 r, i+ |# V* J
  36.     ifail = AOM_save_with_extensions(pItem->getTag());( g3 Z; B0 Y, |- w
  37. & O) `! u2 C0 Q& D. z6 t& W
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.% G+ J& ~& W: n. c% w
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());' s# c- H0 \; {" P9 L0 A4 @
  40. }
复制代码

; \, @' Q! m$ M8 k& l; i$ Y2 Z- [" C. F7 |5 R/ k- f) ?
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了