|
|
请使用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
|
|