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

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

[复制链接]

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

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

admin 楼主

2020-2-8 09:26:33

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

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

x

2 P/ C2 A1 j  `! c0 h8 zTeamcenter二次开发源码分享: 创建Item Create Item方法
2 w- H) ]4 X' Y2 s9 ?
; [4 H6 p" Z- Q4 N" E2 v) H[mw_shl_code=cpp,true]#include <TC/emh.h>
! O4 E; C2 E/ l7 O, l& @) F- m7 d4 S#include <tc/tc.h>3 x4 q2 [) l7 v) _5 }
#include <tc/tc_startup.h>7 o! t# u. O5 x( M" _
#include <tccore/aom.h>( Z* p% s" A9 p, T
$ S! Q- T. Y$ S& N% a
#include <iostream>' l! Q0 C% R& C5 O
#include <base_utils/IFail.hxx>
5 J' e' p5 a/ o$ a/ Y$ i& ~#include <base_utils/TcResultStatus.hxx>5 p6 y- ~) A" C& R0 ^: T4 E$ Q
#include <metaframework/BusinessObjectRegistry.hxx>/ e% _) N" ?* h, `5 C) }
#include <metaframework/CreateInput.hxx>
' w; w8 C7 E4 \$ h( k" k#include <mld/logging/TcMainLogger.hxx>
5 m3 |$ `6 c6 {+ P! W/ W#include <tccore/Item.hxx>
) o3 m6 Z/ W, _+ Y4 z. v' o* D# x# ?. z/ S
using namespace std;, Z/ ?0 t% G/ R+ o- X, q" ]
using namespace Teamcenter;# w, q5 k; O) p3 a- m: {
using Teamcenter::Main::logger;) }6 ^0 a; w1 N9 p7 c) |, d. f
- Z- f9 p, G) j  j4 F: x+ u
int ITK_user_main(int argc, char* argv[])
+ O. P& c8 z6 J8 z{
* j9 l  K% M1 i: I. @8 E4 O  Y    int ifail = ITK_ok;
5 F0 S: r5 r0 T' l    ResultStatus stat;
& X0 I7 u+ W/ f+ }    try
5 w& p3 u* v, p    {
% Z" m  v* f8 D6 l2 {        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         
: q" ?( i: \4 D, T+ a; W: e" j- u        stat = ITK_auto_login();                                          + f. w) `+ o! j2 [; u9 ]
        stat = ITK_set_journalling(TRUE);
4 F' l4 N5 G/ u" H% ~% D8 G& I& T9 w! H6 n5 ^6 M4 {' Q/ c
, \# `6 r* R! h# [! E6 u% u) h
        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
6 I3 h. t% ~7 c7 ]8 _$ l        CreateInput* pCreateInput = " C) K% ^# t" S6 D$ ^, I4 C7 ?
            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));$ ?. E; j) `% J8 d' C; m2 P: o
& x3 h: f1 [2 ^( O- z- l
        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));* Z, P0 t8 q' _/ @* {# a$ ]
9 j, p8 U* {  z
        tag_t tItem = pItem->getTag();
  M) y4 @# ?. l  n& A9 P5 K
  W$ x; E9 l1 L1 |        string sId;. d3 t8 @2 y2 @3 \$ w/ }
        bool isNull = false;
1 J8 O) |$ u3 J. M1 t3 W  |        pItem->getItem_id(sId, isNull);+ ]: I* |- j/ P) x9 N
        
, F3 X9 B7 E; A* O' D- o9 `! N: a! t        pItem->setObject_name(sId, isNull);4 h( w3 v) z5 T+ B* H
        0 H0 i7 p  h9 U( n5 v" }
        stat = AOM_save_with_extensions(pItem->getTag());* o6 \8 S* L$ ^6 b1 i
3 P2 _4 o4 G! @  F( |5 ?$ ~
        cout << endl << "    ID: " << sId << endl << endl;: x4 N# Q5 a- X& y" T4 Q! ]* x  e
    }
; p" w* j- S' f4 f4 `0 }7 i. m    catch( const IFail &ex )
1 K3 r% @& v3 h  n5 a, R    {3 V9 M& L8 \. I8 D1 E* S4 [% K
        logger()->error( ex.ifail(), ex.getMessage());
. N5 G; `5 {  j4 g# ~7 n        cout << ex.getMessage()  << endl;
' K1 `2 Q" I% n0 o- W        cout << "error " << ex.ifail() << endl;        . G; U) y; [3 k
    }
; S  N& k& i, M: ]5 T) S$ `    const char* syslog_path;# K6 S* b: o! H5 [; m
    syslog_path = EMH_ask_system_log();, g; `' P3 P9 Z6 R' j
    cout << endl << endl;8 ?; q9 B9 j5 Q* ]
    cout << syslog_path << endl;
& G; }% `3 O- L/ ^2 B/ u+ }+ W/ q9 y8 q
    stat = ITK_exit_module(FALSE);                                        5 y* b1 G) c/ t* C1 e6 ^/ W: ~
    return ITK_ok;
: q9 _' L  ^( d7 o}[/mw_shl_code]8 T2 I( S) q3 O9 }) 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二次开发专题模块培训报名开始啦

    我知道了