|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
. Y% o( j, r0 e- F: Q' s' v. E6 |2 M
Teamcenter二次开发源码分享: 创建Item Create Item方法* |6 U" v0 n' Q7 u' G
7 |+ x0 g) [1 s8 s+ j[mw_shl_code=cpp,true]#include <TC/emh.h>
- ?6 ^- D$ q5 X5 Q8 d5 e$ E d7 |+ N#include <tc/tc.h>
7 K4 {" A: P: Z z. _#include <tc/tc_startup.h>( H1 z6 D( J/ y: ] y' ]
#include <tccore/aom.h>
# s* h2 l }2 w" U/ T$ y: X
6 v4 O& k/ q6 \1 e#include <iostream>
# f! D" g9 n' v7 Z, u8 s#include <base_utils/IFail.hxx>0 F8 k3 Q" h. ?) B. T. u: E ]
#include <base_utils/TcResultStatus.hxx>8 b" j: X$ N1 y7 b% N
#include <metaframework/BusinessObjectRegistry.hxx>+ c' r, n0 @* P! `
#include <metaframework/CreateInput.hxx>
' B; {9 |$ L" a0 D6 h7 O" o#include <mld/logging/TcMainLogger.hxx>2 l$ x) s6 @- j1 V& t5 U8 M
#include <tccore/Item.hxx>! t4 {( o! U! N \% X5 p
9 x! C. {6 M- r. Fusing namespace std;
7 V- E5 B5 {9 H; \: z7 R( U, qusing namespace Teamcenter; r! Y m+ J; v6 m
using Teamcenter::Main::logger;
! K& I' n* e5 a, J
3 E+ T& q& v2 P" a* l3 I2 rint ITK_user_main(int argc, char* argv[])( T$ h; q9 I" q/ z1 G
{1 g; O: Q; u% {& }, w' _6 q
int ifail = ITK_ok;
: s6 q. C& Y+ O" E0 ]9 V ResultStatus stat;& ]/ H) F5 c4 K$ p( z
try
' W! i( a+ t, s( {# d4 R {6 ]* S) X z2 H* l, F* q. G9 m
stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE); 8 c# Z$ l& O1 i! [; L: F
stat = ITK_auto_login(); + u0 s4 H# @* R, G' c. f& n
stat = ITK_set_journalling(TRUE);
' Y7 p: G x0 s) l8 d
1 z, o7 F: _6 Z2 \! ?4 k9 v' n, F; Q1 K% N c( @
BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
! [$ \+ E; j) B1 k CreateInput* pCreateInput =
3 A- d1 y. a2 N1 }+ h; _/ ~5 {* J dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
% i5 X# \5 ]# x& A6 Z; W! H& k/ h9 p5 f
Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
! O* z' d" T5 F( ~$ x
( t" H7 ?" i9 |% q: j tag_t tItem = pItem->getTag();" {0 Y5 h( \7 ?
7 {3 }( w: E2 p) L* e/ O5 C string sId;
8 K( i& r/ o7 C/ q" l5 l bool isNull = false;
% B" Z3 ^- c8 b pItem->getItem_id(sId, isNull);
1 V# \- h* A- @! v) z5 C, q# z5 A 4 y6 z+ m5 h* f" I* a3 w ~
pItem->setObject_name(sId, isNull); i2 o, R& l6 K* `( e& {
' p# M) m& e) n/ I; w8 o
stat = AOM_save_with_extensions(pItem->getTag());
# l* D/ H) J; H3 J+ d. @
# \+ ^, g0 f+ v1 Q cout << endl << " ID: " << sId << endl << endl;/ m7 L& a; P: b6 Y$ @
}' S5 k% I1 Z* Y% d! l
catch( const IFail &ex )
0 q, b4 t' I- A+ ]6 M {" b' T: t) n: {' i" d
logger()->error( ex.ifail(), ex.getMessage());
' C7 `( T: r8 E8 L4 q, Y( o cout << ex.getMessage() << endl;
7 _: J& Q2 V8 _2 _( p* M; w cout << "error " << ex.ifail() << endl; ; @& Q6 \5 O* V/ H, u' h
}
. Z. i% o0 [1 t. W const char* syslog_path;; f( w; e; h& |. t3 y P
syslog_path = EMH_ask_system_log();
" t v6 i5 Y) s: y" ?1 e cout << endl << endl;
( s3 ]% F5 a; g, U% s cout << syslog_path << endl;
6 Q- s3 G6 r5 d) n- J, |; P( ~, ~$ K/ b
stat = ITK_exit_module(FALSE);
( O: V% t+ L3 A9 w: \ return ITK_ok;
- }" E9 G- ~9 g}[/mw_shl_code]1 l5 Z U: L8 e& b6 D, E+ Y
|
|