查看: 2521|回复: 0

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

[复制链接]

2477

主题

1280

回帖

60

积分

管理员

PLM之家站长

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

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

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

×

9 x$ d; T2 j* b2 w* R4 z. \; cTeamcenter二次开发源码分享: 创建Item Create Item方法
" |- K1 e6 w; i
. Q( e. f( U- o9 S. e[mw_shl_code=cpp,true]#include <TC/emh.h>7 z* w6 D# h2 q, q+ m( z, I7 J
#include <tc/tc.h>1 }9 v$ V- s9 U, i
#include <tc/tc_startup.h>
6 W3 A, u9 G  o+ B6 p+ B#include <tccore/aom.h>
( E+ }1 j2 l, v* L2 \" [
2 w' I4 \8 Y: N3 r7 L#include <iostream>
% O9 H" l( V" R3 d  g#include <base_utils/IFail.hxx>" Z4 `7 P4 e4 [3 ^( M# W2 A
#include <base_utils/TcResultStatus.hxx>5 `( a0 H3 F& }7 u7 j( c9 I5 y
#include <metaframework/BusinessObjectRegistry.hxx>
3 f4 Q( \+ C9 l#include <metaframework/CreateInput.hxx>/ I" C, j9 w, N
#include <mld/logging/TcMainLogger.hxx>( t  Z. Y$ l% D9 V. c
#include <tccore/Item.hxx>
) s: @6 m: n6 X0 F$ T& c
; \7 L* {. F! K+ n$ l" |. ?using namespace std;
) U$ }: ?  r9 B% _- _1 v' Yusing namespace Teamcenter;/ _( i, \9 o& j1 b# I( w
using Teamcenter::Main::logger;
* }" Z9 A& J. J
( q* O& p# g5 A, D% hint ITK_user_main(int argc, char* argv[]). y( p  J0 U9 @* w- n" Q" p( Z- H$ v
{
( @: e1 Q! K% N4 \- V6 ^1 F    int ifail = ITK_ok;2 ^$ ~) L; }( U3 H' H
    ResultStatus stat;, r! z' t5 T+ v
    try0 G) r9 G% X( Y& N# q
    {8 I% j+ ?! A. g1 ]
        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         
6 M% W, }1 u3 t( E) X/ `        stat = ITK_auto_login();                                          
2 K: }- Q4 V/ h# @) U5 _0 d        stat = ITK_set_journalling(TRUE);9 O% \7 R5 c5 K/ Q
( R/ f, ?7 {% s$ i+ f

+ f# K6 |/ u8 Z) i5 c/ Q# ]        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();0 [0 @& h' B/ J2 G* N. @
        CreateInput* pCreateInput =
8 h( H8 ?: C# h' R            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));' J5 g3 K  ]2 b

' _9 u4 R9 y; D, S        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));$ v1 q  M$ ~7 E" `( n7 h% g) Z

! l( \& z% Z) u+ L) p        tag_t tItem = pItem->getTag();% d0 ~$ k  K. T: m0 X
0 r7 g; `5 R: O- y9 K) \. p
        string sId;- O3 y5 ?6 b. y) a- [: N, J
        bool isNull = false;
. R6 y$ g* z8 s8 q# X        pItem->getItem_id(sId, isNull);
+ I* F# p4 M7 M7 d( n. [. K6 z" T        
* l, n3 ]- Z/ d  g        pItem->setObject_name(sId, isNull);2 n  n9 S* ?- H' n' t
        0 ?: \/ |2 i, J0 {7 J( _) q0 l/ c; R
        stat = AOM_save_with_extensions(pItem->getTag());
$ W; j* u/ [$ C0 a
8 P/ W" ?4 Z( c9 W" S1 X        cout << endl << "    ID: " << sId << endl << endl;; E2 Z8 O+ T3 `5 e
    }# P1 K# X4 H8 ~5 R
    catch( const IFail &ex )  [5 f8 V; y+ `4 l7 w
    {
4 m7 `% M1 Y6 V  X5 }9 @        logger()->error( ex.ifail(), ex.getMessage());
2 @: X* I" \/ c        cout << ex.getMessage()  << endl;6 m) Y4 {/ K' k$ S7 b
        cout << "error " << ex.ifail() << endl;        
% f: O7 k1 T! G, x5 Y* r; J" \+ N6 x    }
! a) L1 w/ u+ M1 ?& r    const char* syslog_path;& Y! j: V$ G6 ^7 `9 z9 O9 F5 E" |
    syslog_path = EMH_ask_system_log();/ }. P, s0 `0 f
    cout << endl << endl;
$ D$ B& e1 Z/ b+ M* _" r: e    cout << syslog_path << endl;  f( k/ I$ [' B" I2 ^0 ]- z# X1 u
7 K; ]9 Z3 v% X/ o4 R: B
    stat = ITK_exit_module(FALSE);                                        + \1 p9 H5 a) E2 Q, R
    return ITK_ok;) h, V. U  g. W, |6 G8 W
}[/mw_shl_code]
" @( B/ |1 L! u  a
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

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

本版积分规则

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