PLM之家PLMHome-工业软件践行者

Teamcenter二次开发源码分享: 创建Item Create Item方法

[复制链接]

2020-2-8 09:26:33 2176 0

admin 发表于 2020-2-8 09:26:33 |阅读模式

admin 楼主

2020-2-8 09:26:33

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

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

x

3 X5 ]; P' e) B* O$ e2 jTeamcenter二次开发源码分享: 创建Item Create Item方法  S- S# W% ^7 g+ ~8 I7 ~
: ~  w4 g/ f. ]- T9 @
[mw_shl_code=cpp,true]#include <TC/emh.h>
- Y5 G, ]0 d+ G' P3 |, k) {4 b: p#include <tc/tc.h>
2 U1 ^) t: G/ e6 l) Q0 }0 U$ K$ s#include <tc/tc_startup.h>9 T: j$ |' q- e* x
#include <tccore/aom.h>: ?- R4 q8 ^  _
/ R  c2 |* h/ |
#include <iostream>
) L8 l; Y- @5 t1 A+ ~' Y  N. J8 X3 [#include <base_utils/IFail.hxx># `4 c' Y. d4 o1 s' i+ I
#include <base_utils/TcResultStatus.hxx>1 B1 d2 ?$ k  H# Z
#include <metaframework/BusinessObjectRegistry.hxx>
3 J7 y8 z: T. P: F7 s* S& S#include <metaframework/CreateInput.hxx>8 G3 d) r/ q7 V1 m0 k4 ]& a2 v/ _# f
#include <mld/logging/TcMainLogger.hxx>
, W5 `  U( Z1 N4 @' E) e3 m#include <tccore/Item.hxx>
3 c- H  R3 B! e( w- V6 E+ D. B7 R+ i/ [8 e9 J
using namespace std;
0 @5 t# l+ h: Vusing namespace Teamcenter;
% k, z/ b3 Z& O' A6 n' F' ~using Teamcenter::Main::logger;
& |' L9 t; ?, K- P
' A4 Y; j+ k  G' \int ITK_user_main(int argc, char* argv[])
2 e: F% [, X: H{: f, h+ K/ d7 x+ O8 _2 F, F% {
    int ifail = ITK_ok;9 G3 L, {/ ~, ^3 u2 Q+ O
    ResultStatus stat;$ r9 t6 T1 `' l/ `. U
    try+ U: E$ E+ Z4 T
    {! m) g' W0 U+ M, m3 X  h' v' F
        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         
: P0 ^% t% D5 }" Y& J' k        stat = ITK_auto_login();                                          6 {7 |- p6 `8 |, G8 u6 X
        stat = ITK_set_journalling(TRUE);
( z8 G- ?. W+ E
& o( ]. G$ t2 P5 ]; u+ h% \
  ?, K' P9 A: K% v4 t" K        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();% y, C' r  Z! v! ?- ~9 I
        CreateInput* pCreateInput =
$ b1 N. `9 I- Y2 S' ?9 h            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
( F' M( I! ^6 i% r: B: F( i
* k8 y! A/ W% A0 c- X        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));9 Q. {/ G  H, a& c

# ~( o* @, Q  B# s  k        tag_t tItem = pItem->getTag();8 o) ~! J  ?# ]1 a. M6 e

! F* j0 M! ]# y) T9 p3 v        string sId;# R8 j% V( T( q' Z
        bool isNull = false;
% g3 X/ U, s- b( T8 ]7 ^        pItem->getItem_id(sId, isNull);! M# f* ~. ?3 G& q# j0 `/ V
        " o" j" t' J+ R+ o# B. J
        pItem->setObject_name(sId, isNull);
7 L2 M. }  l6 n( D8 \- U        ' [7 |8 @# X  w0 g
        stat = AOM_save_with_extensions(pItem->getTag());
- D. ^/ F. R3 ^& g
. R' I, ?: K" p9 X        cout << endl << "    ID: " << sId << endl << endl;
  u9 B7 ]) z; E) I: X    }! x" J$ |2 J3 R" i; g0 Z" H
    catch( const IFail &ex ); _8 R2 h9 p) y' f, b- t
    {& e6 G0 P* F$ ?% O
        logger()->error( ex.ifail(), ex.getMessage());
3 k0 f5 I8 d) q3 V3 q4 \) p+ h' @* n        cout << ex.getMessage()  << endl;& ]" }$ g7 z) m- ^1 e
        cout << "error " << ex.ifail() << endl;        + w4 `  K* Z' ^+ y; v
    }2 {  S, q# d3 c( Q* D& j7 Z
    const char* syslog_path;
% e) g, ~5 G4 y& _    syslog_path = EMH_ask_system_log();
3 r& w' a7 N/ v    cout << endl << endl;9 R' a) d2 G% V/ g
    cout << syslog_path << endl;
4 m' ]0 d+ P& n! |2 R
6 c% m9 h4 A9 ?! z1 C    stat = ITK_exit_module(FALSE);                                       
6 p9 v  D: u1 g* y& i" w" f+ r    return ITK_ok;
/ y; J' C4 r  P' C3 F0 T}[/mw_shl_code]1 O% z, L; A7 L# }( ]- C+ ]1 n! B8 p1 b0 c
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了