|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
( ]2 E0 Q% B! J3 _$ {- a0 r( u
Teamcenter二次开发源码分享: 创建Item Create Item方法
$ Z7 v, I- R4 L) D4 I2 w' E4 y! O' J
' T; h; P2 E, E9 a2 d[mw_shl_code=cpp,true]#include <TC/emh.h>1 r# Q* [( w& N9 v, i7 f& e
#include <tc/tc.h>
) U3 T5 h" ? f4 D3 |: i#include <tc/tc_startup.h>/ F. t; L& m+ @4 x
#include <tccore/aom.h>8 ?0 h5 W- S" p- N
& w! `- Z- ~9 f6 D& s
#include <iostream>* l8 H1 a3 I/ Z$ b/ F, C2 C
#include <base_utils/IFail.hxx>% C4 H- n" E) M5 e' }* ?. W8 q
#include <base_utils/TcResultStatus.hxx>
) D+ O. s9 {& y/ I3 |, g#include <metaframework/BusinessObjectRegistry.hxx>
. _4 @% e# `; U1 l#include <metaframework/CreateInput.hxx> {* _' s# K7 ?6 K% x& o# d0 J, y
#include <mld/logging/TcMainLogger.hxx>
, C$ q; B& C2 E* ~& Z5 ~% d5 a#include <tccore/Item.hxx>. e4 v: U' W) e/ a, x( X4 I) P
& t2 ]. M+ A( h3 f
using namespace std;
3 u( x: e/ a0 ]2 J! C7 @8 }using namespace Teamcenter;+ M0 c- I+ g4 G2 w% `
using Teamcenter::Main::logger;
/ T: J( u' a9 `6 | {
0 A% R* b/ }; t; M- H7 {int ITK_user_main(int argc, char* argv[]) h7 Y; Q; h8 t2 h: a7 w; B
{! @. o9 @3 b+ e' G1 `( C3 h
int ifail = ITK_ok;. Z/ T5 ]6 {7 `5 {# Z, G3 U
ResultStatus stat;2 m6 v! f: _1 |' v' X6 t
try
. V1 q/ h+ @% {! \9 Y3 @ {- ^ g& m# O( ?: j' o! A7 _+ O
stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);
) T/ y2 D5 Y+ C1 q9 \# ? stat = ITK_auto_login();
3 O5 L. E0 D u+ f2 i stat = ITK_set_journalling(TRUE);4 b, t( W/ ~! r2 Y8 h, N
# d5 |& {$ z+ V( E! S, h
0 Y( a; s( J) G+ t" `6 u/ D% G" D
BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();6 ?" w8 d, \; f7 ]6 }
CreateInput* pCreateInput = " H( A, o# F8 p" h/ l2 J
dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
/ J- _! ]1 A( E8 M( h- a- s! ^* V6 A( e, T+ ` ?" O
Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
! |0 x6 }2 `! E6 ^( G; S( Z3 O3 }# U* y% g$ B( ~ R* z' x/ G+ Q
tag_t tItem = pItem->getTag();
6 s! V! k U, D; K9 \4 T, j4 G8 B8 p& z6 h% ~- }
string sId;+ k1 P; W& O1 m, q9 X
bool isNull = false;
& Z4 r) }, s+ U: d( [ pItem->getItem_id(sId, isNull);. }: f# y8 s) ]" }
* P+ g! @) z" l8 E7 c! N& K: Z. O
pItem->setObject_name(sId, isNull);
. ]9 m+ r4 K& E6 t% f
$ Q: [5 u( d' c1 d/ P3 M stat = AOM_save_with_extensions(pItem->getTag());
& @9 t- B% \0 E" L0 W2 |8 t1 _' l$ a3 a% q3 _
cout << endl << " ID: " << sId << endl << endl;
- w5 j/ T7 ]2 q9 ]7 E }
2 d6 A* r: N8 g# J catch( const IFail &ex )4 E+ ?) [# J0 \6 L
{: Y" D5 z" w* D* X# R/ C
logger()->error( ex.ifail(), ex.getMessage());
+ K& @1 ]5 E7 n& ]7 |0 [* d" } cout << ex.getMessage() << endl;. p6 ~( A& ~4 a9 q
cout << "error " << ex.ifail() << endl;
. c4 K% h {% X8 ~ d0 F' u* T }) }3 U4 Q* L8 P6 E
const char* syslog_path;
6 v( A+ \+ m1 U. _$ l syslog_path = EMH_ask_system_log();8 Z: R5 [' ^2 r) t% H* A$ j& r( G
cout << endl << endl;
$ P |3 w( V4 O) }3 { cout << syslog_path << endl;1 f5 c! j" d$ O' u* k5 l
% s% F5 f [" X2 v% E8 ]; j stat = ITK_exit_module(FALSE);
% ~: H# u6 \1 S2 Y; H \; k8 E; z5 y, A return ITK_ok;
) D! F: y2 k ?) O( M* e2 ?}[/mw_shl_code]% k$ B6 M4 {' D: _ I/ m9 u
|
|