|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
* s6 U$ _+ \7 Z( L2 k1 LTeamcenter二次开发源码分享: 创建Item Create Item方法
% y/ k8 m& n* i) a1 p
" Q$ _% J' i9 L! H+ A2 O[mw_shl_code=cpp,true]#include <TC/emh.h>) X6 o" M& D+ ^; S
#include <tc/tc.h>
. d, w# h* r1 R9 N4 d#include <tc/tc_startup.h>3 _0 d( e2 z+ L0 D' c3 I$ d
#include <tccore/aom.h>
@# p( L: i; q/ L% k
* v# V* H( I- p& `2 J& L( R/ j! e#include <iostream>( @7 [; c3 V* L l! \
#include <base_utils/IFail.hxx>
; E0 H, O. ]8 s5 z$ x/ [#include <base_utils/TcResultStatus.hxx>, D# Q2 Q& t$ Q4 l# T' d9 c9 _
#include <metaframework/BusinessObjectRegistry.hxx>
! M/ W" k8 {. x/ V6 R/ b#include <metaframework/CreateInput.hxx>9 a/ g% ^, U7 }' j# r
#include <mld/logging/TcMainLogger.hxx>
: _1 L. }9 S; P$ g: L% C9 L7 _#include <tccore/Item.hxx>
' e! e4 v4 Y2 c% J, A5 }( B( A8 j5 T+ d9 M
using namespace std;
' |7 {% ] h3 Pusing namespace Teamcenter;
+ I X# y3 J, _. ]using Teamcenter::Main::logger;$ J) N: M8 r+ q0 B
4 h) l6 g, G( L# nint ITK_user_main(int argc, char* argv[])5 T+ D! J, L- R- H
{
' K, |* O/ {3 c( v) Z* l _8 x6 K3 m int ifail = ITK_ok;
8 A6 l3 L( ^. S. g& g ResultStatus stat;
3 X0 L+ P6 {2 O- r5 ]- h" u try4 ^/ T) A4 C( m! g4 W0 J
{5 p/ I8 c7 ]% h7 F! ~& r
stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);
9 t; J& @+ Q. T9 Y8 L# s. Z9 o stat = ITK_auto_login(); 2 S3 `2 h1 b9 o) n3 y0 y9 b" l
stat = ITK_set_journalling(TRUE);
" f+ m3 t$ k% u- c, Q, k
1 n$ O% c* Y5 U C: J" b- l
7 a i1 C4 w2 d2 ^ BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();6 I% j7 l9 S7 ^+ M4 t3 V! a
CreateInput* pCreateInput =
. H& Z8 I0 y$ K3 S dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
6 ~+ {( ^" w+ D, ]9 W$ u) v7 h+ |$ w) Y; o
Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));9 P2 m, E/ x% z w& g% F- g
+ t# f6 E5 a1 p6 Z# A" D tag_t tItem = pItem->getTag();" X( |6 }; J6 s! |
0 h; |* ]0 N6 y& C- {; s
string sId;" ~$ j* \" L# i/ b! \& s
bool isNull = false;
9 d+ S, S# k) Y z2 e pItem->getItem_id(sId, isNull);
. l1 q' t3 j x' k 4 T [& o) f: k2 U- a) E; g
pItem->setObject_name(sId, isNull);
( C5 C% j& `, n% `" r6 O * i. n: B7 t( U5 A8 y
stat = AOM_save_with_extensions(pItem->getTag());5 f) g) b0 g% {- a. u: R
; p" q" z7 H8 E& |2 X
cout << endl << " ID: " << sId << endl << endl;7 x w0 H/ F( \! R7 Q
}5 C+ S4 W) Z' ^7 q4 ^- a" p8 U
catch( const IFail &ex ); v8 l4 e4 h: Z$ A' F& b- m* B+ A
{
) Z& f X8 U# j$ I0 P logger()->error( ex.ifail(), ex.getMessage());
: I; ~2 F# S# {) C! d2 S cout << ex.getMessage() << endl;
) W3 c" P. x9 x# u* J6 v# H cout << "error " << ex.ifail() << endl; $ N5 _0 B& o9 B% e
}
" U$ d5 G& r6 l) e1 b. w( F const char* syslog_path;# K( k1 Y) A' l. U" `! B3 Z1 f) e
syslog_path = EMH_ask_system_log();% Y* i$ e. E" {) g$ S+ z1 c
cout << endl << endl;8 l3 l2 G" |; w% n" E3 P" g- \
cout << syslog_path << endl;
! \) W. ?, m. N; l- `
3 h: E* ~: b3 t* a stat = ITK_exit_module(FALSE); 5 d4 R W! J8 }
return ITK_ok;
% w' u) ?* b% Y4 U}[/mw_shl_code], s9 ~4 v$ y5 |( P8 k0 e
|
|