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

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

[复制链接]

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

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

admin 楼主

2015-1-21 13:16:44

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

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

x
0 W+ v. H/ I- r0 C$ r" v: |
Teamcenter C++二次开发源码分享:创建item和item版本
* r" ?9 `/ F9 z6 D
. @; `+ S  \7 c( Q: \; t4 j
1 Q: `/ O7 Q% u. F2 L/ d
通过创建businessobject 指定的createinput 完成对象的创建& x% P& f" F" n# W$ O
4 x! f) h8 p) {3 r
6 ]; E/ y* J# M. A6 y/ z  ?0 p
  1. #include <constants/constants.h>
    & N% W! R2 _; l
  2. #include <TCcore/Item.hxx>6 g2 y+ q* n! D$ f2 k9 ?0 [
  3. #include <metaframework/CreateInput.hxx>- S0 N3 G$ S: C: T
  4. #include <metaframework/BusinessObjectRegistry.hxx>$ [" s$ @, c( _+ Y2 d- ?

  5. 4 a' [7 t; o  {2 r
  6. using namespace std;: @5 t4 I3 a0 B( e- N& U
  7. # y, W8 r, [4 t) R* g6 g
  8. static void createItemAndRevisionWithDifferentNames(void)# q( }/ c, t& X# K
  9. {/ p2 X' M8 U% @. w/ J& l
  10.     int ifail = ITK_ok;$ o6 ^/ V* V3 q4 @' W  j

  11. 0 @5 W% C5 F$ r& j5 ]8 l4 a0 j
  12.     char type_name[] = "Item";
    1 [/ ^, h4 F+ R
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));& T) ]5 N0 q6 c3 a5 i& |6 `
  14. + o( u6 N+ ^) F. F! _
  15.     //Revision type name is not always <item type name>Revision
    - k& Q* P; G* e% z
  16.     char *revision_type_name = 0;! E' d$ k1 r& X. s! g
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);9 N; F+ c7 j& h/ ^. l( @
  18.   h9 a' a( f6 i  k1 ^$ f" I
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));
    / n' l# D6 S5 P" N0 Y$ a5 t8 |
  20.    
    ( `1 g6 d7 R+ X# q% d; Y6 I  @
  21.     MEM_free(revision_type_name);5 Z& L3 d# [. B6 y* G
  22. * a2 q  @* K4 ^8 h% ?
  23.     // set Item properties$ ?- Z0 L4 _9 j5 J
  24.     itemCreateInput->setString("item_id", "1234567", false);
    5 R7 Y( G7 s4 f! @4 T
  25.     itemCreateInput->setString("object_name", "My Item Name", false);
      t: e. S- l0 y1 Z
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);
    5 P6 \/ `8 u: H/ a- o
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
    3 l$ h, c1 _1 Y) [

  28. 6 ]3 P' n  f7 Z3 q" {
  29.     // set Revision properties  |- E- z% d3 ], u, }
  30.     revCreateInput->setString("item_revision_id", "00", false);
    9 |# V3 U9 \/ M% b7 }6 L5 p
  31.     revCreateInput->setString("object_name", "My Revision Name", false);8 R$ X' H2 K3 Q8 Q. B$ I" ?
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);
    0 {; f+ z* k2 H5 C
  33. " h  q# H, ?! x) q6 g4 g- W
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
    ' }: K; g+ ?: `1 X! i

  35. 1 D& [: \! G8 u: a
  36.     ifail = AOM_save_with_extensions(pItem->getTag());; m# P& Y6 _* h7 w4 n1 I

  37. ' e% A  K9 r/ j
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.
    7 q: u8 k  b; o; ?" z( x) W
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());6 y& B: ?* |; v- p% Q
  40. }
复制代码

+ r3 `9 I3 K) J- n
  @6 e: X' d" k# W- G# B' ?) @
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了