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

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

[复制链接]

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

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

admin 楼主

2015-1-21 13:16:44

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

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

x

8 v4 E% N# |: A& `1 sTeamcenter C++二次开发源码分享:创建item和item版本# x% d/ c2 K1 k3 D

, J( F5 @3 R4 ^

9 w+ h* r2 N* u% Z/ F通过创建businessobject 指定的createinput 完成对象的创建
  M+ J5 H/ P: L; R: L5 X
4 A. L& ]* M& G9 L/ \2 W2 H
2 C9 F4 b" ^* I) d
  1. #include <constants/constants.h>
    7 `) Z9 v5 W4 V
  2. #include <TCcore/Item.hxx>6 q8 |) U- x) J3 s
  3. #include <metaframework/CreateInput.hxx>
    : ^% ^0 ~( `% o. ~! _
  4. #include <metaframework/BusinessObjectRegistry.hxx>2 B9 R9 n7 ~# Y- G2 Z4 c: X' `; ~
  5. # \% o- [" L; j/ t, V, O- C: E
  6. using namespace std;
    * {" U; S) ]5 i3 ~  u( v: c7 M- C3 B

  7. 2 K; U9 r3 R" z- A; c+ k: M) s
  8. static void createItemAndRevisionWithDifferentNames(void)! x3 K7 H3 z( b. n( i/ C  ]
  9. {* `& @) K' _3 w7 B
  10.     int ifail = ITK_ok;- B/ t% G9 W8 |3 j' j& x$ g5 R

  11. 4 z& C7 F% r; j
  12.     char type_name[] = "Item";9 j+ @* G% t6 f2 L' f# a( X0 o4 E
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));0 P' Z# k  M1 W

  14. & B, g8 j$ F  U: \% L1 i- b
  15.     //Revision type name is not always <item type name>Revision4 c- u5 n$ [8 J% k6 V7 U9 V1 \6 N
  16.     char *revision_type_name = 0;
    & D  a3 O2 K8 r2 r6 S' Z0 K, F4 D* }
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);
    ' D7 [3 Z. s: Z6 r4 _
  18. 6 O% {8 y" F: }& W' K* s
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));
    ' h# O3 {$ _9 v2 R( w  p5 }* I
  20.    
    ( u4 }% n+ I: \$ g
  21.     MEM_free(revision_type_name);2 B# N# v/ x! ]/ a  T- D3 T
  22. & x( f: u  r: I
  23.     // set Item properties
    2 k+ ]. |: d8 T2 R: `5 _  H4 ]
  24.     itemCreateInput->setString("item_id", "1234567", false);
    " T0 d3 |. E& g4 |8 \. P" d8 k
  25.     itemCreateInput->setString("object_name", "My Item Name", false);9 E  |* C8 V* D2 d( B& _) @, D2 F
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);! W, K1 x* n0 C1 }: f! s
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
    ' h7 E0 X& a* M6 I) T

  28. $ U5 r1 A, d+ y% ^$ p% h
  29.     // set Revision properties
    ) c( ?8 n+ O1 O$ p. W2 {
  30.     revCreateInput->setString("item_revision_id", "00", false);
      B4 |7 g4 X, ?3 z, m# Z; S
  31.     revCreateInput->setString("object_name", "My Revision Name", false);6 I; @; n/ d3 K9 H+ Z2 M" ]5 k
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);
    7 @- E% ^( g( u
  33. ( B6 T' g, u0 W6 S, q
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));  ^1 {2 T5 D' B7 u

  35. # p; W+ K9 U* p; u
  36.     ifail = AOM_save_with_extensions(pItem->getTag());  c4 e% n2 k( n' Q* p
  37. * y, q3 \* ?2 W  e( R
  38.     // If the Revision is not saved it will inherit the Item's Name and Description., ]4 s$ m# T& O$ n0 w
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());0 d6 t$ m, j: [% d: Q3 V  [6 n
  40. }
复制代码

) D( m7 Y/ w% |( Y: B+ w: c" R: v6 p. c' J
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了