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

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

[复制链接]

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

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

admin 楼主

2015-1-21 13:16:44

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

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

x
( Q$ m* z' h0 V5 z+ g* R2 K
Teamcenter C++二次开发源码分享:创建item和item版本3 |6 p3 T8 R& Z, |8 ~
; W% r  v* X" |: c3 D+ K9 ~- O

: ]) R' p# p! z# u通过创建businessobject 指定的createinput 完成对象的创建
, ?( @, R. h5 H" W
0 v9 V: Z- z* K3 B8 E& B
1 m) _: [4 @+ X$ T& N1 y
  1. #include <constants/constants.h>8 N9 A0 I# T: W: K3 y( l
  2. #include <TCcore/Item.hxx>
    3 |1 c; }1 X1 E3 q/ X8 T
  3. #include <metaframework/CreateInput.hxx>) i" d$ d0 a- t1 j# f
  4. #include <metaframework/BusinessObjectRegistry.hxx>: m  v- N: Q: K* q

  5. - i4 h7 c9 I  N
  6. using namespace std;3 x) o; {, M0 g. F7 t8 J( W! [
  7. ) {- d4 d1 I7 b( K2 y. ~
  8. static void createItemAndRevisionWithDifferentNames(void)
    0 E, S, ]6 W; E0 i, Z
  9. {# a6 t3 U" Q5 l
  10.     int ifail = ITK_ok;7 g, B4 O+ `+ q: j

  11. 9 ^! _& y' x8 |6 C* Q5 Q; s
  12.     char type_name[] = "Item";
    7 z1 w* W) t& p* B0 Q/ N' {
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));
    ; l' b; x5 w2 Y$ t" J* D

  14. 2 N2 \! r& L! K  Q
  15.     //Revision type name is not always <item type name>Revision0 b) n$ z4 A$ c& ?( s  S0 [
  16.     char *revision_type_name = 0;0 A$ T; H3 |$ i* V8 p# j
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);8 W) w2 ]' g* H  H0 Q- b: i
  18. & n5 t% v0 ~' b
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));. I# K" U% x: M: \0 J' S- R
  20.     ' j2 |# x+ }5 E: q
  21.     MEM_free(revision_type_name);
    4 l( a- O/ N2 d# C- `9 H; {6 [* f

  22. 7 x$ L- l# x4 F: h1 x- ~6 d- M8 E
  23.     // set Item properties; \3 w2 |! S, a* x2 L
  24.     itemCreateInput->setString("item_id", "1234567", false);6 {* }# F* p) t( R- ^4 E: u- O+ F
  25.     itemCreateInput->setString("object_name", "My Item Name", false);0 F6 A6 c1 C& ~9 c
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);
    , A$ X6 ?# ^/ A8 P& I* M+ i
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
    - W0 A4 o0 a5 R. R
  28. 7 g) J5 p8 O& c+ s$ ^) d
  29.     // set Revision properties, V0 B! S- a  x8 u
  30.     revCreateInput->setString("item_revision_id", "00", false);$ o8 f! B6 T; D$ P  P$ u7 n# D, n; {" [
  31.     revCreateInput->setString("object_name", "My Revision Name", false);$ P+ y" d  p* p6 R
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);( x8 m+ d2 q7 c8 B5 v9 W  f9 k

  33.   o+ A4 W  ^3 o$ {, K
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));! a- ~( N( m$ I6 G+ n3 b* S

  35. 3 {( B+ j/ v) f& y
  36.     ifail = AOM_save_with_extensions(pItem->getTag());
    & o. K, k, Q, p' C. e
  37. ( u2 [+ q# G" @. n& {
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.2 P/ q# Q+ H, z6 m
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());
    7 {$ q( ~% l/ V4 |; f
  40. }
复制代码

3 }7 _  K( I. ^7 f! ~) U) H. @. O0 A( c" n2 I8 ]0 e( R& 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二次开发专题模块培训报名开始啦

    我知道了