查看: 2522|回复: 0

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

[复制链接]

2477

主题

1280

回帖

60

积分

管理员

PLM之家站长

积分
60
QQ
发表于 2020-2-8 09:26:33 | 显示全部楼层 |阅读模式

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

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

×

' y; S2 d% S% N$ C" mTeamcenter二次开发源码分享: 创建Item Create Item方法
' H4 H. Q- f% u- Q6 _; k  U. C! ?. k  m1 P5 Q. ?
[mw_shl_code=cpp,true]#include <TC/emh.h>
. }/ }( K2 y; L4 `% I0 l" w#include <tc/tc.h>
- D' h7 N1 w, c: R6 x#include <tc/tc_startup.h>% z0 ]* [3 G) i6 {; Z6 I
#include <tccore/aom.h>- a2 i8 S. E4 Z2 H( A, X# B
5 c0 |7 c/ M0 A( B
#include <iostream>* C1 S4 ?" g' }' z4 T. p9 H
#include <base_utils/IFail.hxx>
( b0 F9 g' N$ C8 d/ y#include <base_utils/TcResultStatus.hxx>
9 A" c: H. g5 K% d. L#include <metaframework/BusinessObjectRegistry.hxx>
: E9 L' x4 m- Q: @* x. E1 L% C$ C#include <metaframework/CreateInput.hxx>9 P; R2 t6 ~" H$ ?  S8 u
#include <mld/logging/TcMainLogger.hxx>
& j# p" T+ ]2 ?6 O7 _% _#include <tccore/Item.hxx>
2 v! i: ]  C( L5 S3 V! U& i8 @+ x( _
  c7 w' q3 a3 o1 \; l- ausing namespace std;. E  H" w3 ^  G; [( v- S& x
using namespace Teamcenter;" N/ H! u) g* O: w1 x) {1 v1 B
using Teamcenter::Main::logger;$ Z9 W5 F* J+ \

3 r0 W, S" e* Oint ITK_user_main(int argc, char* argv[])2 }* p$ Z3 s5 x: T0 z1 J
{
. N: M9 f5 k, X    int ifail = ITK_ok;) g/ C0 }/ ]0 W: ^8 @) I
    ResultStatus stat;: B4 [7 p! N; g# u, I" K4 U  R: d
    try
2 \' ]# a: L/ X: ~    {4 D1 C  g8 W; Q. \
        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         
2 l, |2 d) P+ m8 K9 q* ]/ C        stat = ITK_auto_login();                                          
/ Y* C0 c  |7 h- o% i4 b        stat = ITK_set_journalling(TRUE);
0 ~' M) F. [1 `7 b) v3 T! p3 s" M! `/ Z

& N% E7 y5 J9 n; V* _        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();+ ~9 V' _9 [( I- i. P& d  x
        CreateInput* pCreateInput = 1 Q! _3 _0 S4 {  L7 }8 }+ X
            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
* u7 z# c. `5 k' O1 I, W/ X* O. m0 x! p5 r
        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
6 b6 m+ Y7 F7 r9 ~4 S) O8 k9 l7 S' n5 w+ `" K1 J. S7 Y8 o2 \
        tag_t tItem = pItem->getTag();
3 k0 g4 ?6 s' D: g; B
/ s+ g- H$ M( e        string sId;/ F* Z: e1 D' I8 K5 x
        bool isNull = false;
/ J$ H4 v8 i) j9 ~0 z* b- \        pItem->getItem_id(sId, isNull);5 ?% l& h8 k6 S2 y5 F/ X2 d
        
1 D3 h# i% u8 V        pItem->setObject_name(sId, isNull);! d  Y% h* ]$ B/ W( x) [8 f9 I
        $ N1 P; }3 G6 i/ N0 r. [
        stat = AOM_save_with_extensions(pItem->getTag());
& x2 {; g2 E* Q/ m! A; c$ W- K- T; ~9 S8 L* Y4 A6 q
        cout << endl << "    ID: " << sId << endl << endl;6 C) g; y6 e8 b. S
    }) i  a$ G8 ~9 I* r; {' V+ @
    catch( const IFail &ex )5 T& `4 V$ a0 W* V2 C
    {
# d. ?& Y/ O1 s3 n) S        logger()->error( ex.ifail(), ex.getMessage());+ \! _1 s$ p7 \" K- X
        cout << ex.getMessage()  << endl;6 ?8 }3 t3 Q. Q6 \
        cout << "error " << ex.ifail() << endl;        
0 Q+ H. G9 V+ o" U1 ^    }, N( ?. q2 z8 e
    const char* syslog_path;' o; R& U. Z9 D1 F( H
    syslog_path = EMH_ask_system_log();
4 \+ B4 w# n9 p% v8 W6 u    cout << endl << endl;
6 j. Y8 D9 Q! C+ z5 _, u8 Z    cout << syslog_path << endl;
1 H3 B9 J' }/ a* ^5 _. h/ D" p+ {( _3 `# V( h& a4 h" K
    stat = ITK_exit_module(FALSE);                                        7 g4 y  Z' ]. Y( B
    return ITK_ok;8 |* m1 |6 n6 v' _+ \1 R
}[/mw_shl_code]
* t1 P/ _% H; L* Y3 F" _  W
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部