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

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

[复制链接]

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

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

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

x

; @3 b5 X0 M1 ~Teamcenter二次开发源码分享: 创建Item Create Item方法* }8 [* s2 V7 E6 {# C) V& K

: D+ A' ^2 {/ Q# P[mw_shl_code=cpp,true]#include <TC/emh.h>
% X- H  a9 x2 m5 u  \9 \#include <tc/tc.h>
& W& p" W& g9 O5 a4 H0 O: s! o#include <tc/tc_startup.h>2 U( q8 ]3 Z8 n/ e( ]
#include <tccore/aom.h>1 }2 _/ B9 M) m

/ x1 K- D: R3 z# U' i1 T#include <iostream>
$ v, N" @/ A1 Q; w3 A#include <base_utils/IFail.hxx>! W; o- [: c5 z  w
#include <base_utils/TcResultStatus.hxx>% f1 S" B" \( v$ T3 {0 Z  r
#include <metaframework/BusinessObjectRegistry.hxx>
! q- I& r' p9 b4 e) R. f$ E#include <metaframework/CreateInput.hxx>
5 L. N0 O8 ^2 i. f/ J. B#include <mld/logging/TcMainLogger.hxx>/ g8 f# e$ Y8 _  y
#include <tccore/Item.hxx>
, p4 F3 U) @- D9 Z, ~: R# U* G. E/ F) G( V6 _& _
using namespace std;
2 {4 m; P+ J% \: X3 j6 n- cusing namespace Teamcenter;0 L) D$ I$ G% Q6 c5 T1 T
using Teamcenter::Main::logger;
2 B1 [6 S- _/ \4 v' L" I3 i' U7 F, n0 W& W
int ITK_user_main(int argc, char* argv[])
: S( A2 p6 |6 `! j{$ g/ b: M5 _+ b, k, W4 X( C
    int ifail = ITK_ok;* s) k/ D) s/ @: B2 k' U# L* V% q
    ResultStatus stat;; Y- \! T! p& v/ k4 y: \4 `, |6 t7 D
    try
' p9 g" V; p1 Z    {4 c7 `3 ?$ C5 G* p0 D1 t8 f  I5 u
        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);           `" v( h1 @8 m) e
        stat = ITK_auto_login();                                          
% R  _3 z: _) S& s        stat = ITK_set_journalling(TRUE);
6 n! C% b) m0 w' R$ ]& f
0 @& z# J' l" U4 Q  f+ ^. _; P& l/ a7 U( ~# E
        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();, S" X# J0 \" V8 ]; @% l, F
        CreateInput* pCreateInput =
. \% V0 J& Q# M0 n! x+ K6 `/ H* V            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));- }( N8 x9 u! K6 j
" Z0 y; b) X0 m4 R4 R. |) c! _
        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));6 |% x, h: K7 Y$ `; h1 _1 r
) j( W5 j- X; w  E. w% I
        tag_t tItem = pItem->getTag();% D' J# {4 b0 h* r( V( k; P
3 }3 J4 D' c; l$ h- d9 g2 v
        string sId;
# Q. O" ^) t- W) v5 h; M        bool isNull = false;
. J* B8 W: W) {  \6 v+ m        pItem->getItem_id(sId, isNull);# V# f7 E3 I; ~9 p- h
        
( k- P7 {* N8 N) V. j" s, X- n, D        pItem->setObject_name(sId, isNull);$ j' g/ W$ @& l5 y% n& Y
        
7 Q4 q8 R! R9 l1 X2 j( h! T        stat = AOM_save_with_extensions(pItem->getTag());8 U5 ?0 }9 C5 b- S# ]
. _1 W" c2 J% ^( L5 A
        cout << endl << "    ID: " << sId << endl << endl;: s! X; A% K7 Y3 h1 O
    }
; O( {9 h& O; q& y    catch( const IFail &ex )
0 o$ i7 |# J% _    {+ C) k( K6 T1 L
        logger()->error( ex.ifail(), ex.getMessage());& e9 H) X  @6 n% y1 i7 }; _
        cout << ex.getMessage()  << endl;' D9 s  B1 \4 s% J7 E: ~# A# a$ f/ C" U
        cout << "error " << ex.ifail() << endl;        , U4 f( K1 M: _# I  d
    }
) ]6 ]1 R9 G" Q. i    const char* syslog_path;
1 F; O8 x5 ~' ~! d7 D, ^    syslog_path = EMH_ask_system_log();
4 [5 p3 z; q" [    cout << endl << endl;, ~6 c7 m( \. X/ N# G$ T
    cout << syslog_path << endl;
) N3 x9 z, ^" f0 ]/ V( A2 r
& O3 G: g' O6 {3 c    stat = ITK_exit_module(FALSE);                                       
% o0 R8 P1 t+ J    return ITK_ok;
- L1 j! _5 i: M3 E3 |}[/mw_shl_code]& I: v9 P: D, J) {& ~9 T1 [+ Y
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了