|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
1 ~) ]0 ]/ ~. a( U/ R* w- h, F; j
Teamcenter二次开发源码分享: 创建Item Create Item方法! s4 v' _' g5 _, @
1 E" d! ?6 Q. v9 U3 b
[mw_shl_code=cpp,true]#include <TC/emh.h>$ [5 j3 m# X( q* o
#include <tc/tc.h>* L4 r/ Q5 ]) s0 F0 x
#include <tc/tc_startup.h>
/ [# S" q9 i+ r6 D#include <tccore/aom.h>9 B8 ^+ _0 p3 }3 a6 A" p6 y
# w% v) B' X# F' u0 F: ]3 [
#include <iostream>: e0 v D K, H# x0 y
#include <base_utils/IFail.hxx>
& w( j, o6 o, `! _9 k#include <base_utils/TcResultStatus.hxx>% d/ E$ e! E! S5 z: @- e3 r8 w
#include <metaframework/BusinessObjectRegistry.hxx>+ f2 G, x1 t! ~1 W/ h1 g# h7 {! m
#include <metaframework/CreateInput.hxx>
3 S& P! o$ Z+ l0 T& U( m#include <mld/logging/TcMainLogger.hxx>
! |$ M) O+ R; r' b3 B+ N$ I#include <tccore/Item.hxx>' w9 G* A5 M( g0 w4 n6 _8 ~
; N+ d6 w5 X$ Z o; v- Ousing namespace std;) D: K+ a0 F6 x) z
using namespace Teamcenter;
% T/ C6 k0 ?/ [using Teamcenter::Main::logger;
+ m1 `: T5 o- S1 R1 G! G0 o* ^ m
$ Q4 l. I/ K* nint ITK_user_main(int argc, char* argv[])
0 _( i' ]% l& a( s{
0 |! D. ?' [! i1 }8 n! g: g int ifail = ITK_ok;
0 g/ L8 ?2 h+ x4 _! C ResultStatus stat;2 i6 S% H- L& @- {( y) t3 o5 k
try
6 G3 {; A5 \% G3 O5 L' L" _ {
5 k! G& F2 V- d9 j0 J* j ~4 L, t stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE); R# N& ~- E h! P
stat = ITK_auto_login(); 0 b9 u% P; o9 B7 |
stat = ITK_set_journalling(TRUE);
0 m0 I& R0 ?: G- i: \4 ^' }3 G6 U6 m+ u# m8 |- P6 r8 [0 n
( X4 y7 I$ S+ E, L' g# |& M/ _
BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
6 V" u# P9 L- P. k& D CreateInput* pCreateInput = # Z- P3 ?( F0 H$ s3 Z, f/ C
dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));$ D6 p- n; }9 _( { e$ B
I" ]/ F% ^5 Q9 p0 a3 j5 Q
Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
( G1 ^% G( V# B* o+ D8 Q& o4 S+ y# V9 v0 v0 s
tag_t tItem = pItem->getTag();
7 u6 t/ I* q6 t$ ~/ X7 o' u/ r+ U% f
string sId;
: ^- ?! i4 \. o2 O- q6 Y1 r& q bool isNull = false;$ N$ N' O1 I3 Y1 H+ `/ \
pItem->getItem_id(sId, isNull);4 h5 o v, ^, ?- k
# g( s; ] h J$ J pItem->setObject_name(sId, isNull);( h" |: G$ W! L: N; C2 }, w4 t
- j" [4 p9 y9 f4 v stat = AOM_save_with_extensions(pItem->getTag());
5 ^$ o, g& N$ k- q Q
: f6 g0 e# o, Z3 g( }$ f r cout << endl << " ID: " << sId << endl << endl;
# A. N: x( V( `8 X/ p3 P7 B6 H, B }$ j9 S3 j+ _" a" x
catch( const IFail &ex )' N% }2 c2 ~6 R1 h" d) H6 M1 F
{
: F7 g* U! M& ]9 a- x/ A logger()->error( ex.ifail(), ex.getMessage());
8 F) Y, m( W. R cout << ex.getMessage() << endl;
. b9 n$ Y# k/ V cout << "error " << ex.ifail() << endl;
7 x6 p' P: y8 z, o4 T }5 O* |1 i: b3 m6 Y% y# O' ?
const char* syslog_path;- F) O+ Y. P/ d: A1 S
syslog_path = EMH_ask_system_log();
7 ]# g1 G2 B% C6 R1 N0 H- ~ cout << endl << endl;
' ^4 J* z2 I: W4 c8 y1 b8 e- r cout << syslog_path << endl;
/ K8 @: [/ J$ |. _% F% T
& J6 n( L9 Y8 y. t/ l) M stat = ITK_exit_module(FALSE); ( d+ z$ x8 n0 V! Z. [* M
return ITK_ok;
4 m% h/ D5 P; o% K+ A0 Z+ x}[/mw_shl_code]2 f8 x- X/ \! \8 V+ P) V: e, m
|
|