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

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

admin 楼主

2015-1-21 13:16:44

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

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

x

  x3 ^' L6 [; C! N2 LTeamcenter C++二次开发源码分享:创建item和item版本$ G  C; M& y3 q1 m

" |2 |, R9 ~0 ~. d, S! V* Q; L4 N
4 ~0 j$ M& L& x+ w' J( Z7 }
通过创建businessobject 指定的createinput 完成对象的创建
8 M! {/ ~7 m; B, Z- D0 }, k5 m9 A: ]$ Z8 g3 m

5 W4 H; Q( N8 {  Q. z0 T
  1. #include <constants/constants.h>( H" k, f. \% P3 J$ j# O' }! `
  2. #include <TCcore/Item.hxx>: Y' c: k6 W5 Q: a4 M; b! c
  3. #include <metaframework/CreateInput.hxx>+ h/ E/ m. i$ N4 M2 i  j
  4. #include <metaframework/BusinessObjectRegistry.hxx>  [0 W, D+ }7 Z  [) F1 v

  5. ' ~: R( b' g5 ~
  6. using namespace std;) v; {/ q$ J! B; i" X( K) Y$ n
  7. 7 a7 f! _/ b0 v1 I+ {
  8. static void createItemAndRevisionWithDifferentNames(void)
    8 `9 I/ Q7 V$ i% }' z
  9. {7 @( @4 O- {4 V9 ?2 t" R
  10.     int ifail = ITK_ok;
    # j0 {2 q5 c: h1 D
  11. 1 u- w8 T9 |* U
  12.     char type_name[] = "Item";
    ' q) P3 e2 _. b+ O
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));% ?; U# Z; m9 ^' L- Z
  14. $ W3 m3 V7 D7 {+ g
  15.     //Revision type name is not always <item type name>Revision, m8 d* \3 H2 B1 O9 O
  16.     char *revision_type_name = 0;
    / p$ W: `) a- r# h2 e8 t5 @
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);5 h' Y# A1 f" U5 {
  18. ! f( g' ]+ b7 b- _/ K
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));
    9 F% k* [' Z: G7 g- d& o
  20.     * P" H- e& I# h$ g8 v) S9 K# e
  21.     MEM_free(revision_type_name);" r) t% t. Y$ {: J  L, n

  22. 1 A  |# F/ }. |9 M+ b; G. Z
  23.     // set Item properties# F, U. r- G& q* r4 M) F, V. Q, f
  24.     itemCreateInput->setString("item_id", "1234567", false);  X2 h- ^* F# t$ G
  25.     itemCreateInput->setString("object_name", "My Item Name", false);
    % P( {, g$ Z- `; H& J* E+ I
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);; _. K; N" o/ j$ ~+ v1 y3 b6 D
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);! Q" T; T  j. d( i& W4 y

  28. : P' Q- E! q& H1 c- I* J, |( J; m
  29.     // set Revision properties
    + ]& V- H0 d: o) a3 K- b( Y3 p
  30.     revCreateInput->setString("item_revision_id", "00", false);; G% P4 Q0 ~5 O2 Q6 u1 j
  31.     revCreateInput->setString("object_name", "My Revision Name", false);
    8 r, ]; C, R7 ~. }3 p+ P
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);6 m: y* W, a; N( t& L2 P" p" _
  33. ( [- ?3 w; K6 B- {5 w# X
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
    1 C; I& K: k. Y. s3 J0 R3 `
  35. ) y2 s* h8 `- ]4 G8 h) R' V
  36.     ifail = AOM_save_with_extensions(pItem->getTag());
    / J: V0 i( m1 `4 a9 u

  37. : e: A' T+ W0 v7 \6 j* P/ |# k7 B
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.
    7 D, ]8 t1 z" h3 D# f( D9 g
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());& U4 v' w+ y# U% J( [, U
  40. }
复制代码

5 ]( R( R* ?- _9 y( h: f5 J7 ?* X% b- n0 @2 S* ?+ j( ^6 l1 x
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了