|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
% f8 h5 j C$ \& B4 z. }: t3 \
Teamcenter二次开发源码分享: 创建Item Create Item方法& x0 y; t7 Z1 s H6 ~3 W: H& r
2 ~0 P( g1 U; n' r- U$ r[mw_shl_code=cpp,true]#include <TC/emh.h>2 S) J7 S5 |0 q/ Z9 D' c
#include <tc/tc.h>- a! O1 n7 ?% T& J+ ? ~
#include <tc/tc_startup.h>' r; m) o3 y5 V
#include <tccore/aom.h>
5 d) ?9 E5 L4 z. |2 O% G [4 }7 n0 Q7 V( g5 f5 i# _, _) R: ]$ C0 F
#include <iostream>, E' [5 m0 |7 z
#include <base_utils/IFail.hxx>+ s# X" ]) A& u/ m) o) b5 D& u8 r3 E
#include <base_utils/TcResultStatus.hxx>
* c6 O' Z- o' b0 Z. {6 g#include <metaframework/BusinessObjectRegistry.hxx>4 ~* G0 s* W" O
#include <metaframework/CreateInput.hxx>! `! H7 m( s3 N7 D( b0 j, t) g
#include <mld/logging/TcMainLogger.hxx># `. {: U/ p( Y! |1 Y
#include <tccore/Item.hxx>
5 O* f# T) Q( `( G# H# H0 i( |* g* C
using namespace std;- \1 C) u5 ~ I# i3 Z$ A
using namespace Teamcenter;
# H+ G+ X' g% [using Teamcenter::Main::logger;1 i/ Y- L4 z9 g% @) Y& ~7 n
) o( _4 v/ t7 x# [
int ITK_user_main(int argc, char* argv[])0 t! d3 Z2 X% k: d- x
{
2 h" M3 b. `& I$ w: |" s6 s# V3 J int ifail = ITK_ok;0 u& J1 N, p) }, x% a! B! z
ResultStatus stat;. B/ v+ c7 S7 b8 p3 c& N
try
3 I" u/ C6 P& A1 e+ f' b+ l {1 I/ a0 s5 t* M/ k( |1 {8 l
stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE); N2 r! O! f; a+ l9 r
stat = ITK_auto_login(); 8 j2 b% Z3 }) _( E
stat = ITK_set_journalling(TRUE);9 W& I ^" o# l3 u" F, N8 q: `
: @$ }9 W1 W: x
; R, g+ r9 |% h0 C BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
' Y3 y% G) F7 ?' \' v% N CreateInput* pCreateInput = 5 h& w! v0 Y2 h% |4 U. q( c i" \5 B& ^
dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));% U- G/ u% m3 y/ B5 j
! S [; Z, V$ N" s Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
& X5 l4 Y- N$ d( w. C5 C; j6 Y/ R r' ~& _
tag_t tItem = pItem->getTag();
% l: K }4 S( K, [/ Z/ N
+ \5 w4 U6 o) Q& t, H string sId;5 j5 I3 l9 c7 t* C8 W% R
bool isNull = false;2 c2 V! v8 n# o8 z& [% C
pItem->getItem_id(sId, isNull);6 F0 u0 F6 E. |+ P
* F' V9 q" V$ }3 Y d s
pItem->setObject_name(sId, isNull);1 {5 m. \4 c5 b3 b8 S
/ E/ y" F6 k! M
stat = AOM_save_with_extensions(pItem->getTag());
2 W5 o' [# F9 p* C& @6 Y- P S3 o" D7 ^" U
cout << endl << " ID: " << sId << endl << endl;
: x$ p, m5 j& \6 H* N8 r }
3 L- n! N: J$ r) D, z! z catch( const IFail &ex )
$ d, A3 [! w" Q; g$ B4 T {" h4 ]- y# O* i1 R: o$ H
logger()->error( ex.ifail(), ex.getMessage());/ u4 Y i7 G/ |$ C# [8 C, G1 q
cout << ex.getMessage() << endl;; x" \4 B2 }7 V0 S$ M3 r
cout << "error " << ex.ifail() << endl;
) g( ^& L! z: y4 h' T# f' S* C" j }
6 ~5 e# U1 P- a$ \: g const char* syslog_path;
: L+ c: G/ |' {9 u1 {& u syslog_path = EMH_ask_system_log();2 B; ?+ y2 y. t4 P* |
cout << endl << endl;% B: q0 T1 J' @ u6 \
cout << syslog_path << endl;
' W6 x: r( e) @
* ^1 H' b. k+ P | stat = ITK_exit_module(FALSE); # ?' D$ s# I( s) f$ G
return ITK_ok;# ]6 s8 X! @, `& Y& Z2 Y1 T8 D* g
}[/mw_shl_code]
5 E2 A m5 K3 k$ b. W |
|