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

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

[复制链接]

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

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

admin 楼主

2015-1-21 13:16:44

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

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

x
+ ]5 u1 w% \8 _6 Q
Teamcenter C++二次开发源码分享:创建item和item版本
" w* ?$ g+ T3 }% I; l
$ M& H6 f# L. m" \# c# V8 }

! U5 p8 D; k6 U7 a- o  G6 z通过创建businessobject 指定的createinput 完成对象的创建7 [8 `) [, I& A, P& v, @

, D+ M) y# W+ y* o7 G' g% [& k' h
5 O# }/ F+ V6 w1 E8 j7 s
  1. #include <constants/constants.h>
    ' `9 s0 J+ N0 Z2 H
  2. #include <TCcore/Item.hxx>
    . g" B. }7 G; O! m2 `) b7 U
  3. #include <metaframework/CreateInput.hxx>
    ! O2 S6 T( V4 B: }
  4. #include <metaframework/BusinessObjectRegistry.hxx>+ }; n, C, l- k9 p4 @: O4 W
  5. ' @! S( Y2 s0 K+ x$ S2 o; m. N
  6. using namespace std;. |$ K! m+ N$ Y8 F/ \

  7. : ?3 i* K; j, I. x: t# H
  8. static void createItemAndRevisionWithDifferentNames(void)
      }9 A, M4 z9 z2 A* k
  9. {
    ! J- D9 {" [8 A5 w# J4 ^
  10.     int ifail = ITK_ok;
    & c& u' z- W9 P8 @% g( q2 \+ W+ b3 |

  11. # J! O9 P/ l/ a
  12.     char type_name[] = "Item";
      E4 P6 L, B4 O/ f" P
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));# u+ l! C* e: w

  14. : W, l% F: a9 v7 ~# c# T
  15.     //Revision type name is not always <item type name>Revision
    ; h- D5 H9 M0 u; S  l0 v
  16.     char *revision_type_name = 0;7 k- P; b: Z7 B& c# n" G
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);, o+ v) R& |8 G$ i7 R! s, U

  18. 2 H) X# [. a& j1 r& V/ p
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));6 }8 k/ M! m  J8 T6 s  r. e
  20.     3 s  ?/ j0 n; U) q7 u( C
  21.     MEM_free(revision_type_name);
    : X% [3 u. v! X, v* P3 v3 g, ]

  22. # L) x5 a2 F& l# H. O& X. P
  23.     // set Item properties
    0 f: `" G) A% A3 i8 w) ]* G/ v
  24.     itemCreateInput->setString("item_id", "1234567", false);) `4 U* D% B- `4 s0 X
  25.     itemCreateInput->setString("object_name", "My Item Name", false);$ a) ?0 f! a) @! E
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);7 H6 J/ R2 p* ]3 z* B) j' @: t
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
    + h( ~# A3 S* V

  28. 8 J/ F+ A: B5 P3 t( r
  29.     // set Revision properties; T' D6 v% i/ c1 B
  30.     revCreateInput->setString("item_revision_id", "00", false);5 `9 d+ K* T" W+ y
  31.     revCreateInput->setString("object_name", "My Revision Name", false);
    ' p- A7 Q6 o! V/ P
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);
    $ j& f& h2 T' c' `) X3 a+ B

  33. 9 ]' |3 l4 u( e. m  v1 O
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));6 {- H6 k8 y8 m5 B1 `& h

  35. # f0 U7 v$ d. L( y3 w1 [7 u" d
  36.     ifail = AOM_save_with_extensions(pItem->getTag());
    / t1 A) i& p1 f6 L: w
  37. 1 x5 ?% L* L* X
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.& @+ o6 j9 Z' L/ A4 h- i
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());
    ( V  N9 L$ b; \
  40. }
复制代码
' ?' B: c* f5 J( W/ t  e& U

5 r; f2 y" x* J! k$ w
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了