|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
! j% x! g6 W8 @" B* e' E
Teamcenter二次开发源码分享: 创建Item Create Item方法" t3 p d; f% r9 K. ~3 f
) [: N4 f2 v2 O: c* T6 x: ][mw_shl_code=cpp,true]#include <TC/emh.h>
: R, a" [; o9 D4 f$ Z# c#include <tc/tc.h>! E3 L; c) q, g. k, V" d
#include <tc/tc_startup.h> j' B" U- i5 B5 B3 d
#include <tccore/aom.h>
2 W- i& ~# m* t; d, i/ u$ u' p/ M2 F5 p
#include <iostream>& @! L9 c7 |0 ~6 v
#include <base_utils/IFail.hxx>/ G& H) O6 T! R; a0 {6 O
#include <base_utils/TcResultStatus.hxx>
' X f9 P' | e! t4 E) x8 c/ D#include <metaframework/BusinessObjectRegistry.hxx>. j+ d }/ O6 T2 P7 g
#include <metaframework/CreateInput.hxx>
4 l; B( Z* u' p#include <mld/logging/TcMainLogger.hxx>
9 X f, f8 O6 a5 q$ N#include <tccore/Item.hxx>
" y( K9 _- _$ D. k$ s8 \, l6 T
3 T, W2 z" K1 A9 Y7 f7 ^using namespace std;9 c( |2 f5 n+ ^' b ] b+ V. U
using namespace Teamcenter;' s( Q+ `8 E/ D: j1 W) c, B- ?) S
using Teamcenter::Main::logger;( N8 _# }/ L9 s+ K1 a; P
/ m/ r! S* o+ Pint ITK_user_main(int argc, char* argv[])
, j6 L, T. O2 D7 R" S4 ?{, x- X* W( f5 ~/ o
int ifail = ITK_ok;
7 m# `) C. }) e5 G( \9 u' _ D ResultStatus stat;6 Z% ~" j. r& H4 N4 F S$ J
try8 u! q* z2 e9 O2 I4 O2 w
{( w2 C- e s3 d5 O
stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE); 0 B& d& C- i- l9 {4 M1 y
stat = ITK_auto_login();
- X; {( {3 U2 F$ V) C, X stat = ITK_set_journalling(TRUE);
/ a# d8 K. [2 t/ S
' k$ r9 \" }( w. Z/ M# b3 `( F5 |$ F& z- s+ z5 u" r: r/ O) U
BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
# n+ X( [: Q& e CreateInput* pCreateInput =
1 c" X6 R% R: J9 N dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
6 t. N4 ^$ r# C7 c
, E- n6 w; s$ z* m; [" p Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));2 G6 g' B" B' h; L
4 n1 _. \: ]+ ]0 F& ]/ H tag_t tItem = pItem->getTag();/ g$ Q& S5 C s2 |
, S; b& @ t7 m' h M; z
string sId;
. ?; n2 p ?( a& C- B: u8 A: N bool isNull = false;
2 I) ^8 b9 J0 f4 V2 K2 h; o pItem->getItem_id(sId, isNull);- C! q( H1 z! V
3 v# `- T8 ?+ b6 {$ c
pItem->setObject_name(sId, isNull);
2 D8 D$ ^ w7 Y7 M$ l% i7 O/ Y, Z
/ j$ j1 t- C- S7 D; U: T- G8 A, { stat = AOM_save_with_extensions(pItem->getTag());
& a' c6 V; P. B# q2 h( b+ ]$ p# `+ P
cout << endl << " ID: " << sId << endl << endl;& o0 u7 K8 A3 _4 I
}
( q: q. s: j1 u( M F* y+ R catch( const IFail &ex )
# |/ o- Y3 l* n, N- { { c2 S! N/ Q6 i' Z* h
logger()->error( ex.ifail(), ex.getMessage());
/ r( ]1 }( j! ^) R5 I2 R cout << ex.getMessage() << endl;0 ^! F+ G9 q. A0 u' B& Y
cout << "error " << ex.ifail() << endl;
e( U% N! ` R }( H( L3 P, A4 S' e- y. N' i- c
const char* syslog_path;
0 x6 h" _) f6 k6 F syslog_path = EMH_ask_system_log();
$ t/ a& j( T3 { cout << endl << endl;, n; A, d# E4 F) j3 y
cout << syslog_path << endl;0 ~3 q4 s5 P- Z3 K1 y9 k' h3 d8 E
( V2 v! c" H |9 N stat = ITK_exit_module(FALSE);
& J/ m, q4 U, N* @4 ~$ T R return ITK_ok;3 ^/ `& b& O1 _7 ~. ~2 S0 e# z
}[/mw_shl_code]
5 W6 _- I' @" E |
|