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

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

[复制链接]

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

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

admin 楼主

2015-1-21 13:16:44

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

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

x
! ~$ W. P% p$ M- p7 E
Teamcenter C++二次开发源码分享:创建item和item版本8 K* f6 t) Z  z3 v$ O+ g7 K4 x) O3 j
/ X/ s2 V8 G4 ^* c: R
3 e6 u" V9 z0 V% ?3 d
通过创建businessobject 指定的createinput 完成对象的创建' {4 H# j2 j" w# m

+ Q: z4 s( ~" d1 u, v) S3 {/ U
- Q0 |" `7 y/ L! M
  1. #include <constants/constants.h>7 C! q+ z: A! R0 D. {
  2. #include <TCcore/Item.hxx>$ L6 y' m- U& Y  L
  3. #include <metaframework/CreateInput.hxx>
    6 [$ w/ c8 T! j9 u0 o) v
  4. #include <metaframework/BusinessObjectRegistry.hxx>
    + e5 N0 s/ B& G  \5 E
  5. 9 v' F' }+ ], G9 V9 r- t2 k
  6. using namespace std;8 `7 `* s' f2 c+ N4 w1 i6 z
  7. 9 w+ H3 R  x! S3 e" v1 u. D; X$ d1 S
  8. static void createItemAndRevisionWithDifferentNames(void)# k- x' y' Q% h, p& J( Z
  9. {  s9 y3 Z; C7 s- B
  10.     int ifail = ITK_ok;
    7 \+ X3 M5 q. G
  11. - R: j% D+ O, ~3 H% K7 d. W' g  @
  12.     char type_name[] = "Item";# n/ v3 d8 y0 A, E& s! R8 Q. W2 _
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));$ I; L. }9 O2 A! z
  14. $ K2 ?3 _' H" \
  15.     //Revision type name is not always <item type name>Revision, e. e+ G& k7 R. ~3 Y6 J7 @' S
  16.     char *revision_type_name = 0;8 @. Y, {; q7 u$ q, c7 o
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);0 G( f+ ^; W: d+ j! \2 r

  18. $ U% i* Q5 t1 h. X  n
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));) L; t# R8 B+ p* A4 }7 M+ {
  20.     " `$ ]* P' A" N1 L3 ^9 e' x
  21.     MEM_free(revision_type_name);1 \: R8 w- e% ^' e8 J$ Z+ t
  22. 2 q7 P3 G1 k* R4 o
  23.     // set Item properties
    9 w% x6 i. T* X$ ?
  24.     itemCreateInput->setString("item_id", "1234567", false);
    . h" M( I8 d" c  S' O/ U
  25.     itemCreateInput->setString("object_name", "My Item Name", false);
    ! f; i4 d7 ~$ p0 D% n7 j0 V' ?
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);
    ( K7 I" N( W+ x2 R
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
    ; g; ~3 \1 h, o5 [2 B. a

  28. - R! {$ B* O* N, C' C
  29.     // set Revision properties
    ' u0 J+ C% J5 S0 w
  30.     revCreateInput->setString("item_revision_id", "00", false);( {0 n4 `$ K! y+ l3 c
  31.     revCreateInput->setString("object_name", "My Revision Name", false);0 u) l9 o8 A; e
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);) T: v6 G! D* j" W
  33.   G2 ^4 |) z: V0 Z
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
    ) k1 T+ o6 R2 l- _# h

  35. * q! T: H& J8 A9 Z* d1 G
  36.     ifail = AOM_save_with_extensions(pItem->getTag());2 D; @; Y# S8 L3 @4 E/ A' }
  37. % `7 z' j5 H# U; t
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.8 z% L3 O* Y2 u- C, \( y
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());
    ) a& z9 y( [: y7 q
  40. }
复制代码
% A2 g2 ]5 _) w, c; ]* m
& Y, [3 Q* f4 N8 G! {
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了