|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
! ]/ E; ~; C6 T) l% k$ G0 K
Teamcenter二次开发源码分享: 创建Item Create Item方法: @: z4 F2 z v
1 X, A2 @% }3 u[mw_shl_code=cpp,true]#include <TC/emh.h>4 U! |% B3 Y; y+ M: D" H* s
#include <tc/tc.h>
$ P( Y! s/ l* {3 D- i) R#include <tc/tc_startup.h>
+ `7 X, R$ j( m# M#include <tccore/aom.h>% u ^4 L u& @
6 t7 t& B; S5 N+ T. U+ p9 B# P
#include <iostream>
- }- J/ w1 @: X/ Y+ } F#include <base_utils/IFail.hxx>
: {/ [! {6 u4 j7 [/ }# b" X2 Y#include <base_utils/TcResultStatus.hxx>: ]- I" u# I# v7 _" g, s Y
#include <metaframework/BusinessObjectRegistry.hxx>( w1 \! t0 R; g, p: H
#include <metaframework/CreateInput.hxx>8 v. A& V4 E# ]
#include <mld/logging/TcMainLogger.hxx>
/ W4 q9 W& M* p( {) e/ K#include <tccore/Item.hxx>. ~) i2 C% F; _6 L8 v0 {" r7 t
" Q# V3 h, {; s/ a5 M( s$ i
using namespace std;
) U( @" R4 g: j) fusing namespace Teamcenter;
4 A' J# f1 _0 I0 h2 I) Gusing Teamcenter::Main::logger;3 u5 A/ d. a; b0 o
6 g* X) R6 u' L/ [* V1 S4 ]int ITK_user_main(int argc, char* argv[]). l" p5 ]" D/ d b" E7 o( x0 C
{
) j5 P( E% t" _4 V6 k2 @& t$ ~4 P int ifail = ITK_ok;
) i) Z P# v! V1 ^ ResultStatus stat;
0 i2 R/ _2 i8 r5 e" B try. V; M, Y( a% ^7 h! k0 c; T) B& s
{' I5 v+ }( I4 a9 U
stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE); 1 t5 Y9 B) E+ U" f2 f. [, ~5 Z/ `
stat = ITK_auto_login(); 2 j/ ]6 Y+ ?7 M
stat = ITK_set_journalling(TRUE);
' Q0 J; Q, `8 ?% w9 U& I/ m! _. |; ~0 r) y# O2 v3 E
5 I! N4 G3 \0 t' M8 ] w$ Z0 X
BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
3 E3 n: v6 }( t) T0 F. Z3 `, n+ ` CreateInput* pCreateInput =
7 a/ n6 N, d; y# x! C( w9 x; o dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
+ u# x) _1 ?; S
' w$ _" ~" @5 X7 s% \. C5 C Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));6 ]% P6 Y/ a. d" J+ S) Y% B
2 k2 n: |5 a7 b
tag_t tItem = pItem->getTag();
( m- \7 p4 K* M0 \% G3 Q' d% j) `) a r0 C# h% W' h% i
string sId;/ H/ a; Q# `& _) m
bool isNull = false;
! ~6 k2 S% n7 K3 a. W5 V4 G pItem->getItem_id(sId, isNull);
! g, @, V. S" _" y) u! H) v
8 G. z/ k3 P- i+ k3 K- t: }$ E pItem->setObject_name(sId, isNull);
9 c4 s8 D$ h4 ]# B1 A# @6 R! p
+ f8 C9 ]4 R5 t' y. v9 o stat = AOM_save_with_extensions(pItem->getTag());
9 r0 m& L) T& Q6 K D* P
5 s' w2 d h* R, D/ C" T cout << endl << " ID: " << sId << endl << endl; O) z+ B) Q3 }% d; x5 C
}
. A0 u- b* C3 v, z$ {' h% X4 |# q catch( const IFail &ex )
# m9 n; s5 [! X' i {$ w+ D; X8 N" j
logger()->error( ex.ifail(), ex.getMessage());- M% ?7 [1 k( f
cout << ex.getMessage() << endl;, a, k! e# L/ f5 L0 `1 c. U V
cout << "error " << ex.ifail() << endl;
* G) v( F' t0 Z& e) |' S }
: q5 t% L% d! M& }; ^8 @3 s const char* syslog_path;
2 _4 |6 [" E5 S; D- _ syslog_path = EMH_ask_system_log();
- c2 G& V7 E% z0 ~ cout << endl << endl;
8 W6 }) U1 v; g6 u cout << syslog_path << endl;
- a1 U- x" O- V2 h2 k+ Z i9 X0 \" ]9 y6 T( b
stat = ITK_exit_module(FALSE);
* j, i. ?) I0 M+ h1 Y4 o return ITK_ok;8 [; U0 a2 q; b1 v% D: J
}[/mw_shl_code]/ E, Y& J+ i/ Q/ F
|
|