PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2015-1-21 13:16:44 | 显示全部楼层 |阅读模式

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

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

x

1 R8 g( M$ a! eTeamcenter C++二次开发源码分享:创建item和item版本
0 [! |& z/ n; |! X. Z6 l% w" c5 U3 A5 {. O3 K
9 h8 H0 A: c, F$ v" h
通过创建businessobject 指定的createinput 完成对象的创建7 M* M+ @: e! W4 I6 U" d, L& F

  u, W- R7 I1 V  N
. v* A7 d- [) U. i2 |
  1. #include <constants/constants.h># N; D% X& B' N( u. h* y
  2. #include <TCcore/Item.hxx>
    ( S5 R6 i! G% C' W5 k- e  L
  3. #include <metaframework/CreateInput.hxx>
    ! P  B( \* D$ Y  r2 v7 ~
  4. #include <metaframework/BusinessObjectRegistry.hxx>& b$ ~+ g) s" w
  5.   G8 s6 N  ^% Z6 A# v4 Z
  6. using namespace std;
    % R- [& L8 T- ~* B' Q
  7. ; o) h+ e1 A6 _' Y: R% c1 r  Q
  8. static void createItemAndRevisionWithDifferentNames(void)5 {# e: a5 L; p- j9 n
  9. {' l9 S; k8 J7 z
  10.     int ifail = ITK_ok;" ~- E" r+ W* ]5 }
  11. 7 \7 T4 ^# a$ M
  12.     char type_name[] = "Item";
    ) G1 }1 C' J' J0 L7 N
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));+ a. s/ k5 S- W2 t
  14. + F6 u  R% ?5 h- _. H, [0 o* r
  15.     //Revision type name is not always <item type name>Revision
    5 P2 H+ s+ k6 b3 _' i! Y0 k4 S
  16.     char *revision_type_name = 0;. r; e$ m" H6 `1 J* T
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);
    % E% z) v' i- e

  18. 1 L/ f6 ?1 f$ K
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));
    " c( [# X$ q1 d+ D: {7 p' Z
  20.    
    * l$ D1 X, J$ ]4 W* D
  21.     MEM_free(revision_type_name);6 }" R0 H( a7 U* R
  22. * [* j6 r) Q" l
  23.     // set Item properties
    9 v7 N+ ^* z3 O0 g
  24.     itemCreateInput->setString("item_id", "1234567", false);
    4 U' Z8 Q  N( K% y! D  n) T) ?
  25.     itemCreateInput->setString("object_name", "My Item Name", false);1 X% D7 X  P" K2 L7 b/ X# j+ ?
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);" @( b- U4 `: [$ C- R3 @
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);( x' c6 Q, a, J* M
  28.   B) }! {8 K7 [' {* n
  29.     // set Revision properties
    6 N  I& w) }8 l
  30.     revCreateInput->setString("item_revision_id", "00", false);
    8 c. v  M' H( E0 x! s
  31.     revCreateInput->setString("object_name", "My Revision Name", false);
    9 v  K+ w9 ?8 p
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);
    $ C; X+ h! f- e; x

  33. 9 y7 i4 P8 Z6 Q5 p' G  ]7 R
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
    1 h2 t0 g2 I4 `, ~+ P$ p7 c
  35. 1 M7 A) H8 k+ t( ]4 X+ T
  36.     ifail = AOM_save_with_extensions(pItem->getTag());
    5 [  ]6 l) ]3 x" Y8 _
  37. 5 Z0 U. m( G$ B) A% d* u/ m
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.
    4 ~3 P" Z! E/ e) H' r$ }% H
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());
    ! ~0 O, |& J! |3 M
  40. }
复制代码
. P8 A8 }, Y5 k. N  V' S

1 k6 L* }& e. L* ]+ m* C# B$ C6 Y9 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二次开发专题模块培训报名开始啦

    我知道了