|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 j' i) r6 F2 @) n
Teamcenter二次开发源码分享: 创建Item Create Item方法. ]. {2 }# l+ P: r
/ A+ {2 Z n( q" z+ v( k7 I
[mw_shl_code=cpp,true]#include <TC/emh.h>
" B6 B9 X! ]% k( R#include <tc/tc.h>
* R9 z% Z( ~: r0 w* S; ]#include <tc/tc_startup.h>
s( `: C0 o" k$ q( \( l#include <tccore/aom.h>
$ ?; F2 n- m4 v. p) S7 j) V
( X3 ~1 e& q+ E5 [) c#include <iostream>
) O/ U, j8 [& M#include <base_utils/IFail.hxx>
2 x6 k$ H; J& l& S1 c#include <base_utils/TcResultStatus.hxx>% p+ J* T7 J' `" n( P$ N/ L& M) Z8 f
#include <metaframework/BusinessObjectRegistry.hxx>
, M0 z2 k9 w' H' q#include <metaframework/CreateInput.hxx>1 P+ N- ^! ^0 J. {: ^3 W/ z9 v
#include <mld/logging/TcMainLogger.hxx>9 ~3 k: y, |# v8 V
#include <tccore/Item.hxx>5 o8 }+ {4 R+ K2 t8 r7 l6 i5 }& w$ Y
. n8 L( [( b$ L1 _: v! ]) a
using namespace std;
9 b( A& d, K' f) F0 I/ v* jusing namespace Teamcenter;
+ @8 s- M c$ tusing Teamcenter::Main::logger;0 ~7 a- Y/ h5 n4 z+ i4 M# s' B( ?( T9 e
" X u0 \ l- l5 \. ?8 nint ITK_user_main(int argc, char* argv[])
4 X- A- F" [$ D. g{9 r- ^6 G- e% k0 M& X
int ifail = ITK_ok;
- H) u0 y5 Q8 X1 H: b ResultStatus stat;
2 N% h. L1 I8 `( h' _: _ try+ I: O$ E S5 [, d: H% l3 K" K
{- {0 Y) @. d! [5 @
stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);
' h& d3 v2 Z* y) T0 e stat = ITK_auto_login(); ; Y' `4 X- A) d! x S- d
stat = ITK_set_journalling(TRUE);
- f' X0 G1 b" ]: t4 B' [7 O1 T* D. O; @' j) V
0 \( _3 Q) m6 J4 x
BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
& H! W2 v& k) L' [ CreateInput* pCreateInput = " [ Z4 e3 |! t. ^, } Q
dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));* @$ W( {# k3 z a" f, o
7 i* X& q. e- D' E8 R' F1 Q Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));& k1 B4 `, U0 o8 r4 v- m
7 C0 m5 {3 ], H! e. i
tag_t tItem = pItem->getTag();
$ o0 X! `+ G- y* _9 I
- B( @! n* {% i$ \: _+ g t- b- U string sId;1 x6 D1 R- A. n$ W# W# W
bool isNull = false;6 r8 O3 s; e7 F7 z& u
pItem->getItem_id(sId, isNull);
: Q9 h6 G y8 B* g! ]0 v
* [9 }* [; J. D! q9 A pItem->setObject_name(sId, isNull);1 f) y' \! x0 W
) [8 V: y) F$ K* x m& X
stat = AOM_save_with_extensions(pItem->getTag());
7 B. q8 z( i3 E' C) v1 f" F3 K0 K6 k/ f% e
cout << endl << " ID: " << sId << endl << endl;
! w( E% J2 {) |& H }
( j/ H1 X4 M% A8 S( N catch( const IFail &ex )0 x, C7 ~! d S" {
{9 \& E! O8 E$ n9 x- A% |
logger()->error( ex.ifail(), ex.getMessage());
" D7 w' e( W, N" r9 }9 S cout << ex.getMessage() << endl;& z9 _9 ]2 {4 Y1 D W
cout << "error " << ex.ifail() << endl; + ]4 P5 n% O3 H0 ^
}0 Q; f0 I e& i! G: p
const char* syslog_path;
* B y0 X& _( L syslog_path = EMH_ask_system_log();9 m8 S8 k* ~4 O2 ^) e7 T4 x
cout << endl << endl;
1 A9 k; f- ?4 o) ~5 L# R cout << syslog_path << endl;
6 J+ R" E% ~& Q3 j2 `9 c+ t( q% H& q( R5 Q& X3 N4 z
stat = ITK_exit_module(FALSE);
! l3 o2 Z, ]& }* o9 }7 i3 A return ITK_ok;
a2 |) u5 \3 u& R! E}[/mw_shl_code]
' V, L |- `" H: @. w |
|