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 5164 0

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

admin 楼主

2015-1-21 13:16:44

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

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

x
0 P7 H/ L& Y: t7 _
Teamcenter C++二次开发源码分享:创建item和item版本
- M6 P4 b3 Q5 d1 K3 |0 H" d3 _6 G1 S% i4 R

, G$ p* E1 Z% }% g' d- k通过创建businessobject 指定的createinput 完成对象的创建; Q5 K+ r1 v$ V8 C

/ G5 n8 N. U; @/ ]# l4 V7 F# ^% F" M
  q" M) L# ~$ y
  1. #include <constants/constants.h>
    # R- R* c( x7 a
  2. #include <TCcore/Item.hxx>" S+ k7 c( H# [' C$ ]( _# S0 H! ]
  3. #include <metaframework/CreateInput.hxx>
    ) w6 L5 A& O* v$ l# a
  4. #include <metaframework/BusinessObjectRegistry.hxx>- w, A+ |! H5 e" H5 n
  5. : M5 {, V' o/ L# v& j4 o
  6. using namespace std;' u+ v9 A+ e2 O& P5 s

  7. * d, A- p6 i8 U' ]
  8. static void createItemAndRevisionWithDifferentNames(void)2 N$ R2 d$ a! Q; y' O: g8 d) s
  9. {) x/ p9 \" t+ k  g+ k/ }; u( T
  10.     int ifail = ITK_ok;0 s- i. E: @5 b# n  r- x  n$ ?5 B/ k8 n0 y

  11. ( |/ ^" R$ ?: E! g! T. o" z
  12.     char type_name[] = "Item";
    0 m4 C1 k, `  j1 n4 w# J2 O
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));
      R5 f/ I1 P/ N3 \  U; _

  14. 8 A: G" a; @4 N6 ~
  15.     //Revision type name is not always <item type name>Revision
    / ]3 c, d' y$ l, `4 u, {
  16.     char *revision_type_name = 0;
    6 J4 o3 `9 @7 c; t+ T
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);
    / m: _4 _8 p$ X4 R* t  E

  18. $ y2 J. O4 B) G: x
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));3 z6 J( S8 ?2 \
  20.     & \7 A9 q/ Y: k" y; \/ @; y/ m
  21.     MEM_free(revision_type_name);* `+ f, v9 L: F6 Z/ m* |

  22. - z5 L, ?$ d" i. N8 R* Y; o
  23.     // set Item properties, X, _/ ~# q; ]$ K( C1 M
  24.     itemCreateInput->setString("item_id", "1234567", false);
    ' |+ c* G  }+ w9 U4 A2 X
  25.     itemCreateInput->setString("object_name", "My Item Name", false);# g6 y, U# t1 s# W
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);( \) j/ f9 }% B& `" e8 X8 P
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
    5 h3 t* a9 p+ ^" s
  28. 8 X2 l* d3 ]! ]3 ?+ S
  29.     // set Revision properties
    2 |: F6 B) S9 ~" b2 h- O3 N; m2 K9 G
  30.     revCreateInput->setString("item_revision_id", "00", false);5 Z. `2 E1 e' b
  31.     revCreateInput->setString("object_name", "My Revision Name", false);
    * C: a0 u; J9 D
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);  N& p) ?+ {$ x/ R
  33. ) \" ]' r! o; G
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
      M0 ]7 x: t6 @# G$ y6 v
  35. 5 S# }. K6 b8 \2 O" I
  36.     ifail = AOM_save_with_extensions(pItem->getTag());/ o, p1 u3 d; o$ @. W# q" ?, |: c1 t
  37. / h% Z/ N  p9 r" n% i- R  Y
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.
    / n2 ]& }+ n' f' Z" i* ^% d
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());$ L4 H0 R, u& k. ^$ M/ ~
  40. }
复制代码

, t- m! d( T0 U* g
0 U. B; o$ y2 v
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了