|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
6 o$ u( X3 I4 |( @/ c# u- kTeamcenter二次开发源码分享: 创建Item Create Item方法
* ^" [# U4 U& y e5 Q! x+ s5 C7 q( j4 s3 E
[mw_shl_code=cpp,true]#include <TC/emh.h>
1 D6 u5 c- u6 f' X r#include <tc/tc.h>
7 t5 ^6 m3 ?$ Z: j#include <tc/tc_startup.h>: ~% }6 n' _4 H
#include <tccore/aom.h>
4 O" [# T) N2 H5 I/ W' x
, i) \# f) X( H! Y) q6 J#include <iostream>
@/ }9 i) C3 z3 G. E2 ~5 w( R#include <base_utils/IFail.hxx>& {9 V5 c) _* H, D. a7 I0 h
#include <base_utils/TcResultStatus.hxx>
6 x0 N8 e: [6 {" a& r- C' Y* J H#include <metaframework/BusinessObjectRegistry.hxx>+ r3 c( _# d: \% U/ G
#include <metaframework/CreateInput.hxx>! K5 i l9 A" p% {2 U
#include <mld/logging/TcMainLogger.hxx>- i' X c0 c$ Z5 h' L
#include <tccore/Item.hxx>
2 S- g5 K. X7 v" E7 w
& F: P" D1 v: _! O2 F" S+ J. Gusing namespace std;
0 ]2 Z0 @2 a, Q1 d3 t8 O9 G# t! busing namespace Teamcenter;8 d& \: a7 v, {) D& c+ s4 E# I
using Teamcenter::Main::logger;0 t K% [& \+ k8 M( @0 e
, R* l$ r" {, e2 Tint ITK_user_main(int argc, char* argv[])
5 y2 {! m9 L, ?+ c4 X7 B0 y4 H{4 L5 Y0 u4 C( G* l r
int ifail = ITK_ok;
) [9 g) j5 u8 b- d7 i' r' S* A ResultStatus stat;. I9 n/ O: {) N9 Z. r
try/ y: c' v; F4 r5 ~( B' l
{0 ?3 l# z6 E9 S2 |! S T+ m; J
stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE); + x4 g* n+ O7 R
stat = ITK_auto_login();
: i" _! o7 b( }, j; } stat = ITK_set_journalling(TRUE);
) N* d6 T( @5 z# {* l8 h" z& ?4 \* U1 X
8 b! q+ c2 |' j8 ~- a- S BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();! u' @* R' w* F0 J& n
CreateInput* pCreateInput = 0 Z2 r3 Y* U2 `9 Q0 X
dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));5 X" r3 e- t" ~2 T
9 L/ W9 Y4 @ k6 @ _2 t" o# r Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));; I+ o0 [; u; j+ `! P! p" Z8 H
' B$ J3 \7 @2 {+ W1 C+ G3 ~- R3 }
tag_t tItem = pItem->getTag();1 `# R, H! ~" j
0 `0 `9 H7 u0 \1 A6 K; } string sId;
' ?; l9 t: A* H- [- l( R; R bool isNull = false;) r# @% Y" f$ g
pItem->getItem_id(sId, isNull);
8 c$ N4 l# }. i- \1 ~( V4 z
# E/ I( V, n* m( I6 A0 o8 B pItem->setObject_name(sId, isNull);2 f% u; l$ [) k% R
1 z8 p# p& x& u2 [7 X
stat = AOM_save_with_extensions(pItem->getTag());
- h, a j2 P7 _" v
$ j6 S: U) E8 o/ e. |8 O cout << endl << " ID: " << sId << endl << endl;8 `6 D1 i- o7 Z% T) T: A
}
9 a' N. j( P- z& i catch( const IFail &ex )+ E* U, m7 I3 F o4 @
{
1 K- Q( V- ~3 W' D6 O& H logger()->error( ex.ifail(), ex.getMessage());
: Y/ D. o( b( q! {; f, e) K cout << ex.getMessage() << endl;6 M' |+ \% p' s2 |9 O3 w8 O; r0 ~
cout << "error " << ex.ifail() << endl;
$ N7 Y) O; _2 n. q& y* E( n/ W }' K6 B2 P: u S; X5 z" S% w, o
const char* syslog_path;
- x* L; U' d- m/ V9 M9 |3 v0 ? syslog_path = EMH_ask_system_log();
" g0 I, v: ?& f cout << endl << endl;
! K6 {: N) I% c, w7 Y2 U cout << syslog_path << endl;2 D7 W7 |1 S2 x: o1 N
0 x- l( y! A ^# w: L$ i- A stat = ITK_exit_module(FALSE);
* ^6 ^" |$ x, _. P return ITK_ok;
( G" {3 o& F% C5 L}[/mw_shl_code]6 f) h+ `( N% [3 \+ O
|
|