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

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

[复制链接]

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

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

admin 楼主

2015-1-21 13:16:44

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

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

x

  A7 V4 N4 k( b& l* eTeamcenter C++二次开发源码分享:创建item和item版本
6 p9 r8 P. D0 _' N  o: Z
8 m3 l2 U, |- Q5 P3 ?

6 S3 R, m& l$ J" H$ {5 f: h' H通过创建businessobject 指定的createinput 完成对象的创建+ t7 `, j, o/ I( q9 w* ]
  g/ k+ q" R2 Y' n  A7 W7 C
+ r! W8 \9 Y" g& Y. C
  1. #include <constants/constants.h>
    . ^$ ?0 z! f( F
  2. #include <TCcore/Item.hxx>% m# p% `& k0 f  p6 F6 M
  3. #include <metaframework/CreateInput.hxx>% |9 \9 S- Z  ?
  4. #include <metaframework/BusinessObjectRegistry.hxx>
    0 ^9 K% L& ^& F. \' R
  5. 6 f3 y% h& `/ c" _5 K
  6. using namespace std;
    ) L% A6 X. N* A; C) r! Q6 M

  7. + Z8 N+ R/ P, |' z7 E
  8. static void createItemAndRevisionWithDifferentNames(void)
    2 Y5 K5 q  s6 d' i- ]
  9. {
    7 r8 M) _! |+ k5 o( k, B
  10.     int ifail = ITK_ok;( O) w% y4 A# i6 e8 j6 w; n

  11. , ?. r. A* {/ K$ Q9 w4 I& M/ [( v/ {/ q
  12.     char type_name[] = "Item";
    ) {4 t# f- m" J9 ^6 p4 E3 D
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));
    ( C4 z: U) m; s4 K! ]

  14. 5 @+ E. I" _* M, Q& L; D! T0 \1 ?3 h7 l* {
  15.     //Revision type name is not always <item type name>Revision
    0 A7 R7 k5 \& j3 x- |/ [
  16.     char *revision_type_name = 0;
    - J7 N7 v0 B1 o
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);
    3 \6 D1 P2 r; |8 M0 s
  18. 0 m# p. M+ j: m% T+ X* e
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));4 A* y3 A9 H6 X  {3 L( g9 x% {
  20.     ; i( G  q: u* ?2 X. F$ P
  21.     MEM_free(revision_type_name);6 k$ L/ I# l2 L( T6 o& C; \
  22. , Q/ j) V; ^% \: p  y6 D0 m
  23.     // set Item properties) U: S" h6 o, K  o4 B4 J0 Z2 E% K
  24.     itemCreateInput->setString("item_id", "1234567", false);
    2 x# m% G6 r+ A4 F4 Y
  25.     itemCreateInput->setString("object_name", "My Item Name", false);& B% I. w; g" u* K; {0 [
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);
    ) {' h; x( T! D2 ?1 ]
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);! S) M# h% v3 _, v' D( _: |
  28. - [  q, j  G" J( w) p3 D
  29.     // set Revision properties" Y- Y  U* S8 l' m4 m! K/ P% o
  30.     revCreateInput->setString("item_revision_id", "00", false);
    $ b5 h" d( {0 n* l) _+ \- P: Y2 }, f) u( n
  31.     revCreateInput->setString("object_name", "My Revision Name", false);+ K! q4 {5 v  Z, I! J5 T
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);
    0 ]& }: b- D4 O' F& J5 u( C8 Z

  33. 1 f% y5 ?: G7 Z4 c4 v
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));# D+ t" w% L3 r. a  [6 U
  35. / ~1 W0 b# X: M( k8 Y) M
  36.     ifail = AOM_save_with_extensions(pItem->getTag());
    - p7 [; i3 h; l' d# }% M7 q
  37. 3 Y* z1 `9 E( @# b5 i' {" {
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.
    + e4 X# w; ~/ z# G
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());* W7 E* ]$ y2 q" ~0 T) d3 \
  40. }
复制代码

# ~: [3 W/ V4 Q' ~9 C7 J0 g& T4 [; ~7 O0 c9 N, h  @% j7 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二次开发专题模块培训报名开始啦

    我知道了