|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/ ?0 A9 ^7 X4 w( N$ n0 p0 B: rTeamcenter二次开发源码分享: 创建Item Create Item方法
" `9 ]8 @9 A7 P+ W# g Y
1 n' k4 A" \: F. S0 z9 [7 w[mw_shl_code=cpp,true]#include <TC/emh.h>
# S$ e B, p1 G$ J2 m4 |" R#include <tc/tc.h>
+ o. v4 F t' x+ ?; f/ O" r2 h#include <tc/tc_startup.h>7 O9 {! v7 N, |! V& ]3 ^( f w
#include <tccore/aom.h>
6 Z8 s6 J& h3 V) p9 E3 @0 g2 l( {0 n
#include <iostream>1 k: g7 W' g4 M' B8 Y" b
#include <base_utils/IFail.hxx>; h' _0 G& c, B
#include <base_utils/TcResultStatus.hxx>
6 R8 b7 d+ l* L1 s% k7 b5 c#include <metaframework/BusinessObjectRegistry.hxx>0 ~( g5 {/ X6 z7 |
#include <metaframework/CreateInput.hxx>! ~- f1 o% {* I6 Q! L
#include <mld/logging/TcMainLogger.hxx>7 n$ G1 s- a9 v7 n) H7 y5 h/ d' ]
#include <tccore/Item.hxx>2 K3 u8 G* C4 {- |8 c
+ V1 t; N1 T) k1 b% h
using namespace std;
4 f/ M& u( G. x& ~using namespace Teamcenter;) J( X( q$ Q6 o+ z, A
using Teamcenter::Main::logger;0 @& K- e! X, A. s! @ ~
6 N% T5 v/ h7 x$ N( I2 dint ITK_user_main(int argc, char* argv[])3 ?* g1 M# l3 U' L* Q, Y/ u
{
- h# h8 m& I4 R: P* F# ~ int ifail = ITK_ok;0 {* n% E' M- i. d
ResultStatus stat;
) h1 r. W0 s. j$ l I try2 d5 b5 j; L; ^# {* x' s( ~
{
" C( n3 C" ~6 h; m: k) m2 n3 t stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);
$ K" w% `3 K' ~. x8 B& a9 o, u stat = ITK_auto_login();
8 L* |% d. o3 J. E u9 G stat = ITK_set_journalling(TRUE);1 P7 O; x: B: F4 Z6 a* H4 y
4 t7 A" x9 ~- p
4 h; u% P5 w6 q' q BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();4 O4 O* C7 D" `; a3 I
CreateInput* pCreateInput = - K% k* [# G# |* @
dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
# c6 |' x8 b# E! s' J# @2 o7 h7 b* E) t" Z; ^
Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));" K# G# R6 L( h/ U* Y8 |3 o. b: h
# H# G. K/ r! c
tag_t tItem = pItem->getTag();
* Y. f1 W/ r2 n' _* t) |9 V- q! p8 P9 r. u1 v
string sId;- s/ d+ ^1 i( \
bool isNull = false;
# Q9 L0 I9 M+ T8 [; U8 F$ L( A pItem->getItem_id(sId, isNull);
) i2 c1 V2 T0 v& V7 I
+ K9 T3 E- f* p% { pItem->setObject_name(sId, isNull);
; V3 m% t! d+ r2 @$ c+ w L6 h ! k% W0 ] S- x
stat = AOM_save_with_extensions(pItem->getTag());
1 e7 y& @4 l T9 M- E) O" b( H1 ^ [0 z) K1 i$ ]0 M; L1 r- {8 t
cout << endl << " ID: " << sId << endl << endl;( I* K# G1 M$ S6 y* ?* b- [& e
}+ I' G+ [1 E% W* b: ^
catch( const IFail &ex ); \9 p, q0 o8 r, k/ ~ M+ @, A
{0 I" O g! d6 s2 X5 T4 b
logger()->error( ex.ifail(), ex.getMessage());
4 d/ Z4 W) |# t1 d& V cout << ex.getMessage() << endl;( S% V1 [0 X- b8 S/ W; f9 |
cout << "error " << ex.ifail() << endl; 0 j* V1 ^+ \! [3 |' i6 a
}, B0 t: q! m. C" N6 N2 Y1 F# O
const char* syslog_path;0 `8 i/ m! H. \2 s. X9 H
syslog_path = EMH_ask_system_log();7 ?1 `% l3 w& k2 @. F6 A
cout << endl << endl;' x1 a+ V- p" g' m5 L4 [4 L; p, A0 T
cout << syslog_path << endl;
3 T: o7 j* k) E! t/ R. B, h) K% O- s& F) y3 l
stat = ITK_exit_module(FALSE); 4 \- D) X+ ?7 x! B. n
return ITK_ok;
9 E" k% U4 ?4 G* \: G0 Z7 m}[/mw_shl_code]
+ ^% m; y' s7 \2 ?& e4 a |
|