PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2015-1-21 13:16:44

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

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

x

! b) }# T5 ~4 G) }5 ]Teamcenter C++二次开发源码分享:创建item和item版本
/ f+ t: K7 h6 s9 _8 E
7 q) t7 M8 h# r% j6 u  f

; j' w: v9 ]# }& m! B通过创建businessobject 指定的createinput 完成对象的创建
9 M8 O: M* H2 ?* `9 {6 a/ V, Y
: I' b. b6 k+ Z8 ~, u
4 i  {0 s/ |' X1 h
  1. #include <constants/constants.h>+ y4 C. j% {! _8 r: n
  2. #include <TCcore/Item.hxx>
    " A+ r: p) @, M/ C# @3 w7 T# L
  3. #include <metaframework/CreateInput.hxx>6 v# p8 X8 z- G
  4. #include <metaframework/BusinessObjectRegistry.hxx>7 w9 |: w3 ~0 R

  5.   C: L6 L, a! s1 p9 H6 U
  6. using namespace std;
    0 W- b$ p  s8 Y' r5 p) T

  7.   B4 V2 v5 J0 K) k
  8. static void createItemAndRevisionWithDifferentNames(void)4 p7 Z- C4 D' l& {  R5 Q
  9. {) U) J9 p& U0 n$ b0 `, U
  10.     int ifail = ITK_ok;
    6 l: v6 u, O; z1 G1 _8 G
  11. 8 m+ ^( m) y# w3 z( R' y$ S% t
  12.     char type_name[] = "Item";
    , F1 V. O. A3 O$ ^
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));
    1 g' F% F, n+ X) I9 _! t3 r
  14. 3 h! C, U$ M2 n$ E0 }. s9 @1 q
  15.     //Revision type name is not always <item type name>Revision9 Z6 s- g) _" J, ~
  16.     char *revision_type_name = 0;9 ]5 N' L* [2 A/ T8 W% D& H
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);1 p# n5 K; P& y7 h
  18. + T/ S! ?9 t  ~, N! @3 x
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));
    1 Z+ q1 S  _& O; U" c! T7 ?0 w4 m7 w
  20.    
    1 r1 B3 C. V  [6 Y
  21.     MEM_free(revision_type_name);
    * s* M8 l& z& y1 i$ Z+ V' K

  22.   k$ A! i! u% U: Y0 @8 b) F
  23.     // set Item properties' _1 s3 C. L2 x/ t, W
  24.     itemCreateInput->setString("item_id", "1234567", false);3 Z, p: h' X2 y
  25.     itemCreateInput->setString("object_name", "My Item Name", false);2 ?. z% c' d7 H# b! d# @
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);9 k, u/ I2 L$ u/ j) w- b# v
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
    # b* R3 i; r5 x: d$ m# U7 ~. K
  28. ) k3 J* `( s1 v8 ?& R/ _2 ~% _7 r
  29.     // set Revision properties
    : z4 q/ X) \. O  U% }
  30.     revCreateInput->setString("item_revision_id", "00", false);
    5 k- O! Z- B* S+ [3 r* J* @
  31.     revCreateInput->setString("object_name", "My Revision Name", false);
    # w2 `* @4 x" a/ t
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);
    : @2 u6 o0 n, M% L( f
  33. + ~* q: d/ L3 A: ]. ]9 W3 H
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
    8 A6 p4 i& [/ Y3 Y  l+ ], G8 }% j
  35. ( |9 s& o0 M. S/ g# M" g! K. P
  36.     ifail = AOM_save_with_extensions(pItem->getTag());( ?1 a- [# @' s7 x

  37. ( [+ e% t' `! [3 l5 }
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.
    3 r6 ^! d' Y" K7 ^
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());+ e" c( L; E2 v5 ]! e
  40. }
复制代码
% E) P$ \7 }; d6 r6 ?3 W
( A: q/ j; n4 c8 L/ q+ \
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了