|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
0 y# k& D( M% l. ~
Teamcenter二次开发源码分享: 创建Item Create Item方法, ?4 [7 p. W7 T4 r
3 [" y- ?* m- ?: ?' a+ ^" u" J[mw_shl_code=cpp,true]#include <TC/emh.h>. B/ U! N* x! K. G
#include <tc/tc.h>1 l" Y% \6 F: \& V' t/ r/ I
#include <tc/tc_startup.h>
- S" G2 d- p% Y- j ~9 `#include <tccore/aom.h>0 e$ _9 T3 @0 M4 X; t- L
4 y2 i2 S1 P8 v" ?# Q! X#include <iostream>
% S0 j1 T3 N- P2 W+ k' l, Q1 C#include <base_utils/IFail.hxx>/ f/ M/ w6 \( y
#include <base_utils/TcResultStatus.hxx>
* D9 D: n. y- F! q#include <metaframework/BusinessObjectRegistry.hxx>
: V1 P7 w- J! k2 H, Q6 y& w/ ~#include <metaframework/CreateInput.hxx>
2 T5 `, V# @/ o, m#include <mld/logging/TcMainLogger.hxx>/ r: l/ K8 }8 u8 D; \# o# o, \
#include <tccore/Item.hxx>1 V0 S u7 i% P
8 H* K) V' g& `using namespace std;0 {3 o/ M; \" v$ s X4 k
using namespace Teamcenter;
/ y* R$ k$ N& X2 busing Teamcenter::Main::logger;5 e; ~; ^; e; Q0 B4 z# n
) m# |; W1 J! x% ^" g7 H
int ITK_user_main(int argc, char* argv[])
2 N7 U2 ]7 i0 d! R$ _9 z' A{
9 C7 J& Z& ~" p int ifail = ITK_ok;/ x0 e/ a) h- M) B8 t) _2 [
ResultStatus stat;
8 K9 h% K+ K) n* a# c0 D* a try
9 c* i4 |6 X) _ _, k1 T {) H+ s0 p& E& s. I9 M% [; K8 f
stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);
4 P+ M" I8 V. s- u stat = ITK_auto_login();
. P# K7 A8 }; F8 G stat = ITK_set_journalling(TRUE);
, W5 r. s4 \) m5 {; {
$ B& [2 l4 W6 z2 f5 p& S( g( [* U0 w6 r |1 Z- j. u
BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
# u$ _+ r# o1 F- c/ Q& a$ Z$ ?% L CreateInput* pCreateInput = 0 r8 u% A' s* D3 H/ j/ Z f
dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));+ z6 t7 N) ~: \- N9 K
' v/ C1 t4 ^# h) b2 ` Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));: p$ H% N& {; m9 p; W8 C
5 a4 L' Z: E# |2 e; C5 w2 o
tag_t tItem = pItem->getTag();
- z* t% @7 @1 q1 W7 F8 U7 @+ u
( l$ J' F9 @; H3 B5 F, \" | string sId;
' a, s2 A8 @: `9 D$ M0 b bool isNull = false;; I, I4 h" o, ~
pItem->getItem_id(sId, isNull);
Z2 D- B5 q# }
( ^* }4 k8 a4 i: [ pItem->setObject_name(sId, isNull);
0 u: ^6 x6 C8 W9 _5 B 3 g3 P4 }! P" R+ ^) e7 X8 z
stat = AOM_save_with_extensions(pItem->getTag());5 |# I, x9 |+ T8 Q: g
8 R2 a/ ~' A4 V cout << endl << " ID: " << sId << endl << endl;
' w7 p' J0 @& p }
. K6 v& E( F: }8 x* l catch( const IFail &ex )5 H' T, k1 w; g! v
{1 u" R4 V( d: t4 P5 E" s
logger()->error( ex.ifail(), ex.getMessage());
/ W9 G# h% { B8 g cout << ex.getMessage() << endl;
& F/ W, [3 f+ k* W1 c cout << "error " << ex.ifail() << endl; - c7 G+ C+ b0 `' g7 Y0 @ z9 h! q
}3 b0 s: i% X3 _4 k- M5 |8 W) Q
const char* syslog_path;
% F5 U$ H5 `( A4 |. q syslog_path = EMH_ask_system_log();% b* G% l! Q7 b6 X1 u
cout << endl << endl;/ `* ?0 L+ n2 h. S
cout << syslog_path << endl;
( J) e9 z5 J& b0 h7 ^5 H0 O# r0 w* L/ ]+ }# d
stat = ITK_exit_module(FALSE);
4 y/ o" J$ u! }8 ^1 d+ i& u1 a return ITK_ok;6 [8 @1 w2 [3 s/ f3 z
}[/mw_shl_code]
* E: d. x0 d9 y" e) U( X1 h |
|