|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
: j3 b- U$ b( i& H3 ]8 F
Teamcenter二次开发源码分享: 创建Item Create Item方法
2 ^8 k( i9 z `& r& ^7 W2 ?- ^2 q. d& ?, A& o+ X) a! N
[mw_shl_code=cpp,true]#include <TC/emh.h>' ]2 }! n' v2 v9 }! Y8 o
#include <tc/tc.h>
8 |; m) @* c+ _" p#include <tc/tc_startup.h>: ~, X2 S1 e- e) B0 M
#include <tccore/aom.h>. p$ _* m% G: ~2 e8 C% O) F
# H* Q- `" o# v: }) u4 A; |
#include <iostream>' D; ^1 `$ ^. K; i) b9 i" ~# @! N
#include <base_utils/IFail.hxx>0 u3 j! e3 Q+ ~2 D! \; O4 n B
#include <base_utils/TcResultStatus.hxx>5 d& S! `* _; U
#include <metaframework/BusinessObjectRegistry.hxx>
' ~, @3 {+ r+ Z#include <metaframework/CreateInput.hxx>! `% k* J! ^ j- y: H* O
#include <mld/logging/TcMainLogger.hxx>: E' Z$ m- q& Q7 W
#include <tccore/Item.hxx>
" w; w ~5 X. \6 N: C4 [% Z- ]. L% T5 K7 i3 T: x
using namespace std;
+ B. F0 X1 |, A9 fusing namespace Teamcenter;
% _$ G# r* U7 h) T; V2 _using Teamcenter::Main::logger;
1 j: {3 X( C$ X! A4 l% S' R/ \% M, |5 B+ e9 R
int ITK_user_main(int argc, char* argv[])6 C' X, G) h9 |! l
{# ]- v0 r7 O: @
int ifail = ITK_ok;! y( c' T7 ?" o6 q" ~! X; u! ?" |
ResultStatus stat;8 c/ M; _1 b' F, x0 o3 @6 Z! Z
try
5 {1 a% [% B* D' M; ] { _! Q, A. \$ ?/ ~4 g0 a( x
stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);
0 M- R/ C: h# [2 i& J+ e2 G) c stat = ITK_auto_login();
# H8 i# K c, o& i& H stat = ITK_set_journalling(TRUE);
$ K# B8 N& |9 D1 o. g$ A% q2 o$ D" W! }9 F4 [3 j9 K3 b5 b
' E, V d. w5 ]0 k7 h2 Z& B BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
) X8 V; y1 Y2 w* M! b/ g/ j CreateInput* pCreateInput = : y# ]+ M) M# x* D+ r
dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));* l9 s5 W6 `! K! }5 K5 T
' m- H% F. J3 a5 n1 b9 r8 K1 C Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
, i, b" N! ?& h) T' V
* M) z$ c' [$ v5 b# X+ r/ U tag_t tItem = pItem->getTag();
1 x7 ~& d+ R" l7 p) P5 ^6 `7 ^2 u, B* f$ D6 Y
string sId;
0 j3 P8 j: N+ S+ B' ]; @ bool isNull = false;" h9 b/ i9 @2 Y( q
pItem->getItem_id(sId, isNull);
8 M7 _$ n1 B$ o6 c$ n + I; R- [3 l# |7 B* e/ T
pItem->setObject_name(sId, isNull);' j/ w# I1 P a$ C
% B9 ?& \8 S4 S* X8 j0 }6 u
stat = AOM_save_with_extensions(pItem->getTag());4 c: w v* l2 U2 D& p
- V: R9 B& [' c+ O: c$ n5 T cout << endl << " ID: " << sId << endl << endl;& j; t4 e0 `2 M# E; K
} |" ?" O: h/ _3 I- V1 G6 p
catch( const IFail &ex )
; j# m7 ^+ q3 ^9 y {" I( o5 u7 V3 M
logger()->error( ex.ifail(), ex.getMessage());
$ [1 \. M$ _4 O+ k5 }( X$ | cout << ex.getMessage() << endl;$ k( V% t/ J6 b5 H( S& k7 q
cout << "error " << ex.ifail() << endl; 1 ]0 ~9 ]. j q: t
}' E: F: [, y1 b: p
const char* syslog_path;9 p$ N( c( `( ]0 j+ V( m$ s
syslog_path = EMH_ask_system_log();7 ]9 Z- h( }% S0 F9 v/ U* n
cout << endl << endl;" r" r+ t7 K" f/ `# J, m
cout << syslog_path << endl;
6 U) d/ {! v. y% k& j% c+ X1 B6 a) N/ u0 L0 L3 o! C
stat = ITK_exit_module(FALSE);
0 B# d i2 F. a, g! `& U& D) b, W; w return ITK_ok;' z+ \' S# I" g! I$ T% y0 ^
}[/mw_shl_code]
) D$ v* e/ A [' Y1 C7 n |
|