|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
; j1 o# p6 b+ i7 F @/ j
Teamcenter二次开发源码分享: 创建Item Create Item方法# l9 h/ h# |: J! M+ |
6 K; g, Y8 i/ W' t( y" A9 I
[mw_shl_code=cpp,true]#include <TC/emh.h>
- R" |3 p% D$ Y9 N1 C#include <tc/tc.h>
# D- ]8 S8 V2 n2 y, I3 g- l( S1 k#include <tc/tc_startup.h>9 T$ A7 T; h4 E/ o0 F5 p; |
#include <tccore/aom.h>! n/ y! m+ F+ O
" {+ y% }! w/ Q9 `3 {
#include <iostream>
* T$ h% o; B% Q6 W5 y#include <base_utils/IFail.hxx>& w% u) C2 }& X2 V: O; S
#include <base_utils/TcResultStatus.hxx>
4 l) B! v% w* i" ~8 N" W#include <metaframework/BusinessObjectRegistry.hxx>
1 l/ n1 U8 s3 N m2 t#include <metaframework/CreateInput.hxx>3 \% ^$ X9 t% ?' v S3 D! b1 M
#include <mld/logging/TcMainLogger.hxx>. Y" i! i: {) {4 W: n; f x$ a
#include <tccore/Item.hxx>% N7 T8 L5 F% D2 k4 C
/ g! X9 [ Q. V' C) ]' s0 \: _
using namespace std;( h5 r: E+ h! q
using namespace Teamcenter;
$ |; `* x! C5 n) y; P* susing Teamcenter::Main::logger;2 L7 t. S o* E; @# `7 }% k
N- ?" h) M& P$ c( w; Mint ITK_user_main(int argc, char* argv[])
, T! C9 E5 b% b9 S( L{" Q# f& j% ~+ J! F) Q3 ]: H
int ifail = ITK_ok;
/ G; m# F1 ]+ r: N% B% H ResultStatus stat;
1 H6 t4 z- J5 a+ h5 T- z try
8 o' u8 x& u0 F8 A2 z: D. ^" s {7 T5 M+ x; h% f: y; ], j1 D
stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE); $ R, Q/ ]7 V8 |; `) t1 m! _" W
stat = ITK_auto_login(); ; C2 x' ?0 `2 {, x
stat = ITK_set_journalling(TRUE);
+ ]: A* G5 R8 n, |5 D/ {7 R9 C
4 A- Y0 d. i; N, E% p) K5 {. L8 R$ C% n* A; S, F; }) P2 z6 t4 w+ T
BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();! l) U1 d6 w/ C
CreateInput* pCreateInput =
1 O2 J7 g: o0 h: V9 ]: _7 E dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));' W% J& I4 u5 J9 b4 b2 o
# |/ a! ]- D& T) r1 q+ D" q$ S& c
Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
$ B1 h! k1 o. E
) w% v, r) s; G& S- \) }6 i h tag_t tItem = pItem->getTag();
- L; i4 k2 r4 t5 @
5 Q1 ]9 {. g R string sId;
1 R% ^+ r+ \ I bool isNull = false;
; D! [3 {' V0 O ^ pItem->getItem_id(sId, isNull);) m _3 Y: q7 B
4 l3 ?+ t* |2 P8 k$ g0 e pItem->setObject_name(sId, isNull);
|6 Q6 H w6 N3 k$ [! e9 J
8 {( \) n7 g0 M; R stat = AOM_save_with_extensions(pItem->getTag());; \/ l( w+ H# l4 o" ?# w. M. L! w% a
8 H9 U8 p1 O$ |! q) A! F$ _( O cout << endl << " ID: " << sId << endl << endl;' T' |0 e1 D, ~7 u4 M$ z5 Z
}& F6 n9 I( A4 `/ j3 Y) z+ Z( U
catch( const IFail &ex )8 U# w! G2 I4 v- F
{% W* s- L$ W) [: Y% X& F
logger()->error( ex.ifail(), ex.getMessage());% T, X2 Z/ C: u1 F! R% E9 E
cout << ex.getMessage() << endl;. h, J) f5 [$ C7 s/ \& A
cout << "error " << ex.ifail() << endl;
9 E1 N" P" n* d% x! x H- J* @ }' h0 G# u" Z" D8 Y6 B) r6 ^
const char* syslog_path;
4 g+ K3 D" T4 W0 H7 x( u6 c6 o syslog_path = EMH_ask_system_log();
6 ~& p/ Q' H) b7 f) D cout << endl << endl;" y: t) J9 r% N
cout << syslog_path << endl;: \7 F; A& e0 J M# s
8 e, }! J" _, `: X- i% }, X stat = ITK_exit_module(FALSE); ) Y' b L/ o U/ g
return ITK_ok;
7 U/ d7 q+ p* H+ Z+ w! V}[/mw_shl_code]
8 J4 a8 d6 ~# \: |% r+ F2 s |
|