|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
: G# `4 [( l* m, w4 F6 cTeamcenter二次开发源码分享: 创建Item Create Item方法
9 z9 U) h; e( k& @( v. V( {* O4 B; V, K* Y3 N0 u5 L# ?/ e
[mw_shl_code=cpp,true]#include <TC/emh.h>
0 \/ i" G( o$ V/ q3 r2 i0 f#include <tc/tc.h>
~+ w6 D/ h# n2 Y#include <tc/tc_startup.h>3 t8 J- |/ q7 K( e, r9 M& j: T: c
#include <tccore/aom.h>
# { v$ z7 C' C5 b/ \
8 M$ \5 I7 [+ I# z* x& n#include <iostream>8 R$ w( C$ E' a& J/ d; ~7 {
#include <base_utils/IFail.hxx>
2 n* [- b; Z( F8 E5 H#include <base_utils/TcResultStatus.hxx>
1 d5 k+ ~) {( b7 F3 y#include <metaframework/BusinessObjectRegistry.hxx>5 K/ p8 q# l" _# H
#include <metaframework/CreateInput.hxx>, }. O* e' U+ L4 V- q$ b) \2 H
#include <mld/logging/TcMainLogger.hxx>* E" g; E# X3 b2 g) o/ I# ^
#include <tccore/Item.hxx>
! h. o5 _% T3 k& U. @) ~" t
( q7 C, i) c6 V1 x/ Pusing namespace std;# g3 J- d A f. M
using namespace Teamcenter;+ e/ b( m+ e5 x* `$ }* y
using Teamcenter::Main::logger;6 J4 l) o; k+ A4 t
! G7 \3 j5 t7 H, O' S' Uint ITK_user_main(int argc, char* argv[])
; |; W2 o! z* g7 R, j4 J{
a5 y/ h3 a& Z/ f% B int ifail = ITK_ok;, ^7 @9 s* b0 c& I" c, t
ResultStatus stat;0 B2 M- m& \, `
try# P' a) N1 f0 m- o$ X: o- U
{; K+ Y5 r& T) A& @
stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);
4 U; W. @: I! P) W$ M% ~0 g stat = ITK_auto_login();
, c d% c, \. Q1 C stat = ITK_set_journalling(TRUE);4 C3 v4 v! c* }. `
- |5 Z2 Y" z" `
- E" t/ k: Q/ W3 K8 \ BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
~1 U! j6 x. E) H8 x( T CreateInput* pCreateInput = 9 |/ I1 r* W. x2 V" R
dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));0 `& E) ^' Q9 m: Q
, J1 J' a8 A: r2 P* s/ D. N. ? Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
, R; v- P; S' }; E- |+ f
: j* h7 h6 g! O' j) ~+ s/ F2 N tag_t tItem = pItem->getTag();
5 i# t& X W1 K% g( s% J+ d4 F( ^; m7 E9 n
string sId;
! [7 c7 p; r! t$ M bool isNull = false;
+ Z# d5 c; m; z5 J pItem->getItem_id(sId, isNull);4 T( K9 g3 @# C5 ?" Q) R
% j0 y7 V# f9 |% m' F+ M3 u4 {( D
pItem->setObject_name(sId, isNull);
+ P4 }. J8 t) m5 _' d
# Y2 w- Z: R8 E% ^, Q/ C6 n. s+ @) | stat = AOM_save_with_extensions(pItem->getTag());
8 o- V, j2 q! R) E8 f& E, R" b$ H: C0 a8 g, C, n, J+ f) C. w2 U
cout << endl << " ID: " << sId << endl << endl;
- e* I8 N' J7 s f. ^. V% R }8 M1 G# l( h. t, }" x/ z& d
catch( const IFail &ex )1 X$ a8 f2 ^8 s# B* j; u, E8 H" Z% G% P
{ M% O/ M) H0 R e/ I p
logger()->error( ex.ifail(), ex.getMessage());; O7 h, o1 g3 ]/ ]% o6 j' E
cout << ex.getMessage() << endl;
1 ^& `& Y" ^& P! ]: w& [& E$ k cout << "error " << ex.ifail() << endl; # Y; e7 N5 V* W1 i5 x6 [: B
}
0 r6 F4 ]) D5 M8 J' x const char* syslog_path;- _2 ]4 N# u- y. T1 B+ Q7 j$ B
syslog_path = EMH_ask_system_log();
9 |' G0 _& _0 i+ C! w+ q8 q. m cout << endl << endl;8 g" P, K) I$ G7 U$ x
cout << syslog_path << endl;
' `& P/ A, c+ F5 T; u# ]8 ]) l* s+ m# L- j8 x2 {, I
stat = ITK_exit_module(FALSE); V2 o$ i: K5 _ C! g( @7 z
return ITK_ok;
2 V+ w, D9 j1 J9 \, P8 |; H}[/mw_shl_code]
: J( n( H* D& o; w) x7 @' [ |
|