PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2020-2-8 09:26:33

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

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

x
; j1 o# p6 b+ i7 F  @/ j
Teamcenter二次开发源码分享: 创建Item Create Item方法# l9 h/ h# |: J! M+ |
6 K; g, Y8 i/ W' t( y" A9 I
[mw_shl_code=cpp,true]#include <TC/emh.h>
- R" |3 p% D$ Y9 N1 C#include <tc/tc.h>
# D- ]8 S8 V2 n2 y, I3 g- l( S1 k#include <tc/tc_startup.h>9 T$ A7 T; h4 E/ o0 F5 p; |
#include <tccore/aom.h>! n/ y! m+ F+ O
" {+ y% }! w/ Q9 `3 {
#include <iostream>
* T$ h% o; B% Q6 W5 y#include <base_utils/IFail.hxx>& w% u) C2 }& X2 V: O; S
#include <base_utils/TcResultStatus.hxx>
4 l) B! v% w* i" ~8 N" W#include <metaframework/BusinessObjectRegistry.hxx>
1 l/ n1 U8 s3 N  m2 t#include <metaframework/CreateInput.hxx>3 \% ^$ X9 t% ?' v  S3 D! b1 M
#include <mld/logging/TcMainLogger.hxx>. Y" i! i: {) {4 W: n; f  x$ a
#include <tccore/Item.hxx>% N7 T8 L5 F% D2 k4 C
/ g! X9 [  Q. V' C) ]' s0 \: _
using namespace std;( h5 r: E+ h! q
using namespace Teamcenter;
$ |; `* x! C5 n) y; P* susing Teamcenter::Main::logger;2 L7 t. S  o* E; @# `7 }% k

  N- ?" h) M& P$ c( w; Mint ITK_user_main(int argc, char* argv[])
, T! C9 E5 b% b9 S( L{" Q# f& j% ~+ J! F) Q3 ]: H
    int ifail = ITK_ok;
/ G; m# F1 ]+ r: N% B% H    ResultStatus stat;
1 H6 t4 z- J5 a+ h5 T- z    try
8 o' u8 x& u0 F8 A2 z: D. ^" s    {7 T5 M+ x; h% f: y; ], j1 D
        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         $ R, Q/ ]7 V8 |; `) t1 m! _" W
        stat = ITK_auto_login();                                          ; C2 x' ?0 `2 {, x
        stat = ITK_set_journalling(TRUE);
+ ]: A* G5 R8 n, |5 D/ {7 R9 C
4 A- Y0 d. i; N, E% p) K5 {. L8 R$ C% n* A; S, F; }) P2 z6 t4 w+ T
        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();! l) U1 d6 w/ C
        CreateInput* pCreateInput =
1 O2 J7 g: o0 h: V9 ]: _7 E            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));' W% J& I4 u5 J9 b4 b2 o
# |/ a! ]- D& T) r1 q+ D" q$ S& c
        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
$ B1 h! k1 o. E
) w% v, r) s; G& S- \) }6 i  h        tag_t tItem = pItem->getTag();
- L; i4 k2 r4 t5 @
5 Q1 ]9 {. g  R        string sId;
1 R% ^+ r+ \  I        bool isNull = false;
; D! [3 {' V0 O  ^        pItem->getItem_id(sId, isNull);) m  _3 Y: q7 B
        
4 l3 ?+ t* |2 P8 k$ g0 e        pItem->setObject_name(sId, isNull);
  |6 Q6 H  w6 N3 k$ [! e9 J        
8 {( \) n7 g0 M; R        stat = AOM_save_with_extensions(pItem->getTag());; \/ l( w+ H# l4 o" ?# w. M. L! w% a

8 H9 U8 p1 O$ |! q) A! F$ _( O        cout << endl << "    ID: " << sId << endl << endl;' T' |0 e1 D, ~7 u4 M$ z5 Z
    }& F6 n9 I( A4 `/ j3 Y) z+ Z( U
    catch( const IFail &ex )8 U# w! G2 I4 v- F
    {% W* s- L$ W) [: Y% X& F
        logger()->error( ex.ifail(), ex.getMessage());% T, X2 Z/ C: u1 F! R% E9 E
        cout << ex.getMessage()  << endl;. h, J) f5 [$ C7 s/ \& A
        cout << "error " << ex.ifail() << endl;        
9 E1 N" P" n* d% x! x  H- J* @    }' h0 G# u" Z" D8 Y6 B) r6 ^
    const char* syslog_path;
4 g+ K3 D" T4 W0 H7 x( u6 c6 o    syslog_path = EMH_ask_system_log();
6 ~& p/ Q' H) b7 f) D    cout << endl << endl;" y: t) J9 r% N
    cout << syslog_path << endl;: \7 F; A& e0 J  M# s

8 e, }! J" _, `: X- i% }, X    stat = ITK_exit_module(FALSE);                                        ) Y' b  L/ o  U/ g
    return ITK_ok;
7 U/ d7 q+ p* H+ Z+ w! V}[/mw_shl_code]
8 J4 a8 d6 ~# \: |% r+ F2 s
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了