PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

[复制链接]

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

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

admin 楼主

2015-1-21 13:16:44

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

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

x
' C* f+ k' H. \& y6 \
Teamcenter C++二次开发源码分享:创建item和item版本. `* i, N0 @3 f4 A

! y$ P7 ^/ o, V8 H! S
7 D# v' t7 g# p2 N
通过创建businessobject 指定的createinput 完成对象的创建9 ?4 l! \# p& B/ u9 D; k

' z+ u& W8 C0 C3 i% L) x- d" b# ^/ d* k4 k+ S& ]; W7 J/ P
  1. #include <constants/constants.h>4 E- U4 |0 Y: f; t/ }6 N  W
  2. #include <TCcore/Item.hxx>
    ( l+ G+ V, s. b
  3. #include <metaframework/CreateInput.hxx>
    4 q0 ?; d$ E* V5 c
  4. #include <metaframework/BusinessObjectRegistry.hxx>. T$ B3 ]1 r, F, x

  5. 1 T+ h# C& J+ Z  G& O
  6. using namespace std;
    & c: r3 k$ i2 [+ @7 b) N

  7. : i2 Z/ T  _1 ]8 k7 G5 K$ a6 C2 w. b
  8. static void createItemAndRevisionWithDifferentNames(void)0 B, u8 d5 A2 m6 o
  9. {' h& j' H9 |" d8 }! e, m5 }' P
  10.     int ifail = ITK_ok;
    ' ?, l4 z* k/ |
  11. 7 e+ p4 {1 ~0 J! ~
  12.     char type_name[] = "Item";% R4 L% I# V, f6 a
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));
    8 B2 G+ i- C5 U  u- j  v7 s5 B) d( K  K

  14. & ]1 t+ W! G9 j
  15.     //Revision type name is not always <item type name>Revision! X  E0 v% ?, J1 ^3 k# K" M
  16.     char *revision_type_name = 0;
    0 _$ [; {: \7 h6 h
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);6 m6 w- ^% t  j2 c/ F
  18. 8 ]* Y, A8 _# n! |$ b) N
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));, _4 C, ~' d) N* T/ X
  20.    
    4 D, W+ s7 f+ O4 J6 U8 q, J
  21.     MEM_free(revision_type_name);
    1 s+ D! _/ X; w

  22. $ i: g9 d0 i/ d$ x6 G' |2 `
  23.     // set Item properties+ f* W0 i6 S/ I$ }  c, i
  24.     itemCreateInput->setString("item_id", "1234567", false);, O) u' i" \) ]
  25.     itemCreateInput->setString("object_name", "My Item Name", false);/ m( A* L2 c% ~; w
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);, _" z' Z9 Q4 Y1 J0 r% c; o4 U# v
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
    4 o* ?# R5 t# `/ h& N. @' S
  28. $ K2 }* R$ y2 [. G& b
  29.     // set Revision properties
    5 l- s$ D  g- V* W3 t9 a
  30.     revCreateInput->setString("item_revision_id", "00", false);! W2 W* \" F6 y0 W9 m# e; A
  31.     revCreateInput->setString("object_name", "My Revision Name", false);+ ]* N( y7 _0 O# x
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);0 c: v3 M- m4 p) G# c5 j  u' ~7 P) m# N

  33.   h! [; u) R% a+ P
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
    + z- r9 D8 d* G7 ~5 b
  35. : u9 M4 g& |" [( q
  36.     ifail = AOM_save_with_extensions(pItem->getTag());7 W& [# G& n6 M0 c& C

  37. 9 Y' D0 E% }7 X2 W6 S& ^' r, q, W
  38.     // If the Revision is not saved it will inherit the Item's Name and Description./ p. X; E% e& X, X
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());& a, Z$ d  D4 a8 u0 f7 p
  40. }
复制代码
' J* T! w$ i+ d! l+ H+ b+ u# E
% d% ?' ]! h" Y8 `+ Y, q) F
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了