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

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

[复制链接]

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

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

admin 楼主

2015-1-21 13:16:44

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

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

x
! s9 a) A' I1 R9 o$ d% s
Teamcenter C++二次开发源码分享:创建item和item版本
! s. [  n% Y/ P& a1 ?; k
0 G, D5 E4 x3 q
' [8 E9 s! M! P8 h, D/ }- O
通过创建businessobject 指定的createinput 完成对象的创建
) M1 H3 g' P" |
- M1 w$ Z* q; n( l+ j/ L. M% K8 k& ], y  z# v! Z/ S" J: r
  1. #include <constants/constants.h>! S: k6 T: v4 h- O0 d2 m
  2. #include <TCcore/Item.hxx>
    5 H: O0 Y8 e' a: p' d8 H& k
  3. #include <metaframework/CreateInput.hxx>9 x: d! x. G8 u/ ~; M6 n( r
  4. #include <metaframework/BusinessObjectRegistry.hxx>+ w( h, U: b" `. w9 R0 {; C

  5. $ A/ d  C: ~+ \9 c
  6. using namespace std;
    / ~0 L: u  c( s) K# f! E

  7. . }( K' \( G$ }$ U: d. w7 ~
  8. static void createItemAndRevisionWithDifferentNames(void)# L1 S! q- D/ D7 g6 ]& @$ ?
  9. {: C* S$ I+ ~1 k& g6 p
  10.     int ifail = ITK_ok;
    ) N) o! x8 j2 d+ ]4 ~
  11. 6 {' }! G  J$ L& a/ O% C
  12.     char type_name[] = "Item";9 I; l# ~$ Z( M1 T  X" u
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));: e9 R+ h1 n5 z6 |& b; ~. h6 C

  14. 0 N" @& |, M# b, h6 u! @: }8 d" l9 B( J
  15.     //Revision type name is not always <item type name>Revision
    - d3 F# C* f) m- r3 A# [
  16.     char *revision_type_name = 0;. \. X& i$ s- y* |' X2 W/ W/ V, H( O7 m
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);% o+ V" ~" z7 c" U

  18. ; K' {8 m% f% n. M
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));
    3 e. {/ x9 ~9 }  J
  20.     7 I6 s4 \/ P# _6 i% M
  21.     MEM_free(revision_type_name);+ N2 y" E+ J6 C. z6 n9 e+ J! m% L
  22. 9 J# }* Q3 C2 [* b; b/ q" {
  23.     // set Item properties) ~3 W$ n8 m) ^- n2 \) d2 M
  24.     itemCreateInput->setString("item_id", "1234567", false);
    ; _2 f6 D: @' O! D+ j8 X- ?
  25.     itemCreateInput->setString("object_name", "My Item Name", false);
    9 S' t+ H7 X  b1 V+ M/ u! m6 i: C
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);
    + |: \- \/ f) L4 q) a
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);  {, {# _& B' d, j. D, ?1 e

  28. 9 ^0 ^7 O- i( k3 f# k1 W
  29.     // set Revision properties
    + T' n( ?- M/ q/ \; Z
  30.     revCreateInput->setString("item_revision_id", "00", false);
    & d8 O) Q3 A1 I3 v' l$ ?
  31.     revCreateInput->setString("object_name", "My Revision Name", false);6 x  ?6 u' E( Z. C
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);
    . X% R# f; Q0 l

  33. 3 L) S3 e# d. k6 _6 `- f) r" ]6 h
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
    8 t3 Q$ ^8 O: N, i% C# N7 L- _

  35. ( ^% q0 o6 ^& M, W; Z* x+ \# q
  36.     ifail = AOM_save_with_extensions(pItem->getTag());
      V: h$ F% N% g. |
  37. * N) }( r0 O' L$ q9 J
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.* ?: l: g% V0 b$ ?: {+ h5 Z
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());! Q! `% S$ X% g) s! I1 e9 n3 v
  40. }
复制代码
# S7 W0 X$ Z* i
9 ]/ W% Q6 D; s/ O
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了