|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
& s$ X$ P# n/ r0 vTeamcenter二次开发源码分享: 创建Item Create Item方法/ y4 \+ M% W8 s
2 o" |" B( @$ |1 ]$ ^[mw_shl_code=cpp,true]#include <TC/emh.h>
5 y" ? a; {: N3 f4 _: `#include <tc/tc.h>1 e/ \4 u6 `$ ?/ \* N* b2 Z4 f
#include <tc/tc_startup.h>1 j; R3 p" p) H+ ^; |
#include <tccore/aom.h>. g' E/ u" H2 R3 A/ y' m
+ T2 M, S) e( }( M( M( L#include <iostream>
- |8 W' n' ]. y# ^' f#include <base_utils/IFail.hxx>: v7 ^5 {: R0 z+ v& n( Q
#include <base_utils/TcResultStatus.hxx>, q2 _. I" L' R' n! U$ i3 e& p
#include <metaframework/BusinessObjectRegistry.hxx>
3 U! e+ r9 j+ s; A8 r4 x) q6 |#include <metaframework/CreateInput.hxx>3 a0 ?4 O2 k, M' J/ t
#include <mld/logging/TcMainLogger.hxx>! E* c/ \& X8 D8 Q" f
#include <tccore/Item.hxx>: {% {# E7 c* v3 x: l
% Q! g, x8 I# q$ b7 S
using namespace std;( d, |" N& c% I: ?: v1 `5 M
using namespace Teamcenter;
, _; K. T; P, t9 l+ iusing Teamcenter::Main::logger;$ A% h0 `8 `! V% g! B; {. ~" `* a; k
# R3 R) N8 M6 E: H9 b8 mint ITK_user_main(int argc, char* argv[])0 a8 z0 Z, b5 j% _7 `& r
{
5 x1 v) N: @" {3 g! F6 g int ifail = ITK_ok;
; n! Y9 P# h6 e9 c) z) K; g ResultStatus stat;
, Y9 S8 M/ G: V) f+ p, ^1 [ try
$ p& h( x; }/ _, y* F( \! b {
' `1 k+ X/ X' z4 @8 c0 t2 p/ \ stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE); - ^3 ~$ N9 X( f' n9 Z/ k8 f
stat = ITK_auto_login();
/ X" V1 O* C2 V5 z) @/ {7 r stat = ITK_set_journalling(TRUE);
/ \# s% @6 V9 j7 K. I3 Y# w
8 j1 }6 \0 Z1 k c) c7 `+ l% ?
- h! N7 D+ V6 }5 ?' }1 Z BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
! p+ N; k$ W8 o7 u. S4 d' I CreateInput* pCreateInput =
- u$ p& s- @; `3 y' [* X/ w( V dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));* ]: {) E# g/ w! o) s
T g- e. L9 s
Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));9 v+ Q) ~- Q+ ~& j! N# k; ~( o
* C- }+ T8 Y0 V6 ]% f- D
tag_t tItem = pItem->getTag();/ E) d3 c2 L% U$ z5 F3 v
# n( [! t- ?' d5 t3 @" C string sId;# K1 E! o, G: E
bool isNull = false;
4 l9 W- C! E, h% z' t1 o pItem->getItem_id(sId, isNull);+ X( }, H/ n6 E: V! I/ C
* V, Z0 A1 x9 t; A: n$ D: p pItem->setObject_name(sId, isNull);
* c3 x8 A3 O* L4 Q* z2 c. w' I 6 s* m" R7 Y4 M- b
stat = AOM_save_with_extensions(pItem->getTag());; @7 q* V3 N/ K8 N; M
+ ~4 t( @/ x9 U9 K% o
cout << endl << " ID: " << sId << endl << endl;, f/ }4 c5 @0 j: _) ]
}( @/ U, v0 {% j+ M. J3 V8 v( m
catch( const IFail &ex ), e% x j* _- r
{8 h8 t* j* `! |1 \8 K* r
logger()->error( ex.ifail(), ex.getMessage());8 f. B. ^% ], L
cout << ex.getMessage() << endl;$ {, V, s* L/ `) ]/ }- @
cout << "error " << ex.ifail() << endl;
- G% N6 |! X& R. n/ f5 R2 g! |- a }
2 g" A3 ?% P U# I const char* syslog_path;6 _ D* b4 M5 E1 N9 N
syslog_path = EMH_ask_system_log();5 C/ }/ s" ~3 u! d3 Z
cout << endl << endl;
+ o; }2 |; [' g: v: B cout << syslog_path << endl;, n; v" A9 w H7 I! K! k* R
0 `9 _ F# g+ ` h2 j stat = ITK_exit_module(FALSE);
3 y* D* a0 B0 d# Z- V2 h return ITK_ok;
, s2 W [& Y# |6 G+ s}[/mw_shl_code] ~8 I9 D( a1 c: v4 S9 P
|
|