|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 c! X) E& U8 } ^( J8 tTeamcenter二次开发源码分享: 创建Item Create Item方法
) U- E& z' f$ i5 f. D3 Q) D6 [. w& C( i
[mw_shl_code=cpp,true]#include <TC/emh.h>
* P* p. O1 l# l, y p" ] U#include <tc/tc.h>
4 t- o# f8 w5 Z7 M; m#include <tc/tc_startup.h>- ^. F& Y9 `0 {3 o( r& s6 L! |1 g
#include <tccore/aom.h>8 |( I- ^; C* _5 c& \2 Z7 K
7 O3 y/ d1 s8 l) _% l#include <iostream>) v$ g8 T3 p# s! {- ^
#include <base_utils/IFail.hxx>. y. \* s6 E6 e7 j' H( ]& i! ]7 S
#include <base_utils/TcResultStatus.hxx>
8 X9 _" e& i) y. X# i#include <metaframework/BusinessObjectRegistry.hxx>
( [* y v! o6 A! j% |#include <metaframework/CreateInput.hxx>
4 q$ D* ]! P7 u& F#include <mld/logging/TcMainLogger.hxx>
5 e4 r3 J! ^9 x' ^- Q#include <tccore/Item.hxx>
! q7 ?9 e/ [! H6 J2 b/ z/ i' N9 S. {8 ]9 o. X& ~0 J+ d
using namespace std;
( ^- K: l5 ^: o3 F6 ]0 w6 {' Tusing namespace Teamcenter;
* @ j' ~0 N5 S3 T% Q, w2 fusing Teamcenter::Main::logger;" e) D, s0 q( W
& F+ J+ U. U# }2 s+ R
int ITK_user_main(int argc, char* argv[])
' E" f! e7 k, S y) n/ W5 C5 |{. u* M) t; L Z' v. {
int ifail = ITK_ok;
n* o( o- T" I* O ResultStatus stat;
! J7 C* a7 v k$ E) q& B4 w try
/ V, z* w; v# y N {
9 E0 w8 Q$ R: v+ h2 i6 K' @ stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE); ) h) H( [, g& [: M
stat = ITK_auto_login(); * p1 e6 m7 i( K
stat = ITK_set_journalling(TRUE);
) H- ?# K V% r9 n9 g* Y6 |5 z8 W: U7 c- X
5 J: H9 ]1 Y, N. C
BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
$ }. T( K* x, d% d, D0 X4 ` CreateInput* pCreateInput = ( n! P# }- I8 T9 a' @6 N& ^
dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
" g% a p& u) s
+ H' L/ y; f! r5 Y Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
$ ^) T* t5 Q% _0 x8 p
1 v. A! {8 T6 u* t tag_t tItem = pItem->getTag();+ ?5 n' m+ D% }! _# r! |9 j
; D% x: R3 I" w string sId;
' E' n X' ^0 A; o4 T7 Y bool isNull = false;# b$ f' d+ K, T( u
pItem->getItem_id(sId, isNull);
# V* x4 H; D' B) H6 m! D% }
Q/ g% Z" X# v# @4 d pItem->setObject_name(sId, isNull);
0 X" p" x- I+ K, U! |
4 K7 f- ~% i3 I, X0 ^- {* D stat = AOM_save_with_extensions(pItem->getTag());2 G+ b! u Q: y) ?+ m. ~
" O1 i5 J$ S+ V. {5 o cout << endl << " ID: " << sId << endl << endl;8 g+ _- f* k' [1 ]+ {, ], Q" t1 U
}; }2 e0 C/ a1 D) u! z- i
catch( const IFail &ex )- N. K" H- p, O* n/ V# a! L
{
4 o# U" p# ^ `4 Y* ^1 @. n logger()->error( ex.ifail(), ex.getMessage());
1 o3 D* q" A* L; Y- X cout << ex.getMessage() << endl;* U% |1 @+ S; H. M+ G2 `2 s5 y
cout << "error " << ex.ifail() << endl;
( j9 O. Q; e% ?, p6 ]8 R: Y }
' w, L2 Y e4 B$ I7 t4 j const char* syslog_path;, C. \' h" b: Z( l; X
syslog_path = EMH_ask_system_log();
: }6 [; R7 o5 @2 s( Y9 T cout << endl << endl;
* i9 F1 a+ U8 v S& W cout << syslog_path << endl;& x' V f8 m v
0 a2 L/ l p& B8 k" Y! w2 h6 y' L$ s
stat = ITK_exit_module(FALSE); 0 E q" n4 p7 G" y4 A
return ITK_ok;
$ G( e% L& |. I. G3 U}[/mw_shl_code]% V2 V; E; p5 P" T7 U
|
|