|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
( B# O8 Q! p% I# _* }9 F9 MTeamcenter二次开发源码分享: 创建Item Create Item方法
* R6 W* X( ?& u8 z. _( Y+ ?! Q( u
: \& O. l9 @9 F[mw_shl_code=cpp,true]#include <TC/emh.h>: Y% i2 ]4 B H- ]: _% t+ w
#include <tc/tc.h>
/ j! u+ A U% I; ?3 f#include <tc/tc_startup.h>
5 y" A/ v+ ]/ c9 B0 _- V#include <tccore/aom.h>- U5 V; J! h9 Z2 s) ^
; U5 K( z/ ~7 I5 ?( a5 ?2 B l
#include <iostream>
2 h& Z q4 w7 u/ \3 ` w3 H3 U; Z#include <base_utils/IFail.hxx>( ^; x+ c0 f& M
#include <base_utils/TcResultStatus.hxx>7 U) A$ w& [! N1 X
#include <metaframework/BusinessObjectRegistry.hxx>
$ F& b" ~* X4 E7 w1 i& M#include <metaframework/CreateInput.hxx>
2 S9 d8 G9 X" W \#include <mld/logging/TcMainLogger.hxx>
! i! n6 L; t {$ E, I/ p#include <tccore/Item.hxx>
; M$ u0 A! Z. |5 S
9 D* G& e7 l7 B2 C: o+ Ousing namespace std; `# i/ |1 W' A1 H/ @7 J
using namespace Teamcenter;# b9 P% ]6 ]) E9 \9 F3 A" ]
using Teamcenter::Main::logger;
% a: B2 ?- _( ~/ h- M4 k7 j# v' S+ a& e0 R
int ITK_user_main(int argc, char* argv[])
P7 |8 `9 `# x{
' k9 \* @1 N, d m1 Q6 w) y6 C int ifail = ITK_ok;8 p- x" L( E7 k& v8 u
ResultStatus stat;
( ~$ M6 a3 O% V0 J: \. X# ? try. R; b) _9 L2 b5 l: a# r4 Y
{
1 `) [; g, Y6 p stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE); + u8 D+ K0 ~8 s/ C2 T8 W
stat = ITK_auto_login(); 8 K$ |9 W2 O. `9 \
stat = ITK_set_journalling(TRUE);
" d# ^* [/ ?+ q5 r/ `+ y: _( x+ k/ o$ T! a+ W
; }0 k. u/ D+ F, I, q
BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();& j3 }: D* {( ^7 v
CreateInput* pCreateInput =
' l3 Y0 f w! e1 W3 { dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));6 d: l7 g1 s+ q6 J8 M S8 V# i8 C
2 t K; A6 \- G9 R Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));* E. B8 h, e: {
; u, W& X4 _4 C4 X! S% A1 [5 E tag_t tItem = pItem->getTag();6 v* y! y; }" w u& }. U
) @2 H& ], B# |# P! z string sId;$ b' R: z8 S0 N% u5 K
bool isNull = false;- x$ t6 q2 v0 G) A2 Y0 A T' v
pItem->getItem_id(sId, isNull);
+ u# D: c, B" ~
3 ~6 ^6 b# I9 l" u" `" k# u pItem->setObject_name(sId, isNull);7 L4 b$ }2 n |* S* k. ^
: u# k4 Q9 J# h- G! J5 U) h8 s
stat = AOM_save_with_extensions(pItem->getTag());
3 q1 B$ t' c- `, w" H( H4 H& g6 j- z# C0 Q6 u; h$ O
cout << endl << " ID: " << sId << endl << endl;# T8 X3 \% j8 }" c1 j) c; |8 s7 _
}
+ ~7 v" L/ t5 \, d catch( const IFail &ex )3 r+ r' B6 K9 }+ F. D$ }- B
{
5 O& v2 l% T2 m" L. [4 u8 }, I% `3 Q logger()->error( ex.ifail(), ex.getMessage());, U5 A- e$ g6 S0 U5 c" s/ A" i
cout << ex.getMessage() << endl;
. ^; r! J- y+ z" A" }' P cout << "error " << ex.ifail() << endl;
, c3 \" p4 v$ T; j) C8 p' q0 [ }
* H8 h, |8 r# Z$ V4 ]# u3 b E const char* syslog_path;, @7 q" F# Z7 q* H+ E
syslog_path = EMH_ask_system_log();1 q6 l7 W$ w; W7 m
cout << endl << endl;& k$ O7 ^6 q4 | K3 c1 t$ T
cout << syslog_path << endl;
6 j, ]- s: K% u6 P- t$ C$ R8 R# n' j+ i
stat = ITK_exit_module(FALSE);
5 u; R* ^9 Q0 W8 s$ { return ITK_ok;5 |, Z8 M8 o* T y) o; R- f3 ^) t
}[/mw_shl_code]8 `$ H/ ]' f5 o9 f6 a: J7 t
|
|