|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
' J7 b) o r- v& F" ~5 `Teamcenter二次开发源码分享: 创建Item Create Item方法2 W9 W: i+ w' C# g/ V2 s+ t; ~
! a* | \: L; @- h[mw_shl_code=cpp,true]#include <TC/emh.h>
6 v% G7 z- P+ r* c! k1 |) @#include <tc/tc.h>
! b6 P3 D# Y- T1 E#include <tc/tc_startup.h>! p6 N" y) [$ e. U# D
#include <tccore/aom.h>' S9 e( z _, | o K8 e+ J
# B3 O5 c2 j3 L# @& [0 y
#include <iostream>
* T& H4 \- G1 r4 \+ m9 h1 A3 v#include <base_utils/IFail.hxx>& _. H$ A- u6 {! w5 [- P6 M( {
#include <base_utils/TcResultStatus.hxx># u, v$ ?6 Q$ [ u
#include <metaframework/BusinessObjectRegistry.hxx>
, I* R( U0 U8 {9 f; M' b#include <metaframework/CreateInput.hxx>, w- r* U* _% G s
#include <mld/logging/TcMainLogger.hxx>' H; f2 r" O, u* u+ y- N
#include <tccore/Item.hxx>% H, P* P9 N$ r, {/ P, M# H/ e
# n% O9 G( P0 D+ j3 C
using namespace std;" K+ p. F5 f6 S
using namespace Teamcenter;; b) ^* h& A# Y4 f* ?2 A6 |
using Teamcenter::Main::logger;
3 I# f" `! j% [. f8 j/ P7 V3 a2 V4 C3 g2 @ M
int ITK_user_main(int argc, char* argv[])# x% l& `8 V, D! U
{
# I m( \& g8 m# ?; k) K, v, B7 z int ifail = ITK_ok;
: _5 z2 u# A% ?: t8 @! O* x5 b* v9 t ResultStatus stat;* h) k9 e! z5 R6 P0 r+ _
try" I/ m6 h$ l) s+ w$ U" m0 b
{* c% F( \3 V0 L, P" w, G2 J
stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE); : u8 ^1 f1 Q! B6 y3 I
stat = ITK_auto_login(); # e1 `" u3 D# C% S, p L5 A! K, y
stat = ITK_set_journalling(TRUE);
% U$ s7 X( n! ~& p0 W7 Y+ A. ^$ j3 M" Y m
5 Z# I, g8 S, }: c; W BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();# K: D& y1 N! w0 {* F' Q6 A
CreateInput* pCreateInput =
" U. d8 S% C2 I dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
! |7 L7 f% V* L$ e4 t* q1 q$ U5 B. W4 y$ d
Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));5 f. o5 M0 R W9 B, s- w/ a J. X# ]
# C) d) a& G: A4 Y& \9 s tag_t tItem = pItem->getTag();
5 M/ ~; s3 U1 p# l
/ H) M4 g5 ]9 {+ r( m string sId;
; |, I0 u: U* S- \8 V' \ bool isNull = false;
" M$ t0 F' |; B& B pItem->getItem_id(sId, isNull);3 V" N" @; B& ~ P
4 l% a* s0 D' K0 D/ T pItem->setObject_name(sId, isNull);6 L7 h% b1 G5 F3 k7 L
1 M. b# p! T# n3 J5 B8 A$ ]
stat = AOM_save_with_extensions(pItem->getTag());4 [+ o- s/ N" Y' [/ Z) U) P
$ S7 [6 \3 C1 U5 E
cout << endl << " ID: " << sId << endl << endl;
6 E( p1 h: a' Q1 L }
5 M: A8 p5 w$ M: Z) q catch( const IFail &ex )8 i6 t" h' r4 q+ g3 Z+ o
{( x$ C' a, h: g i% Y6 c x* ^
logger()->error( ex.ifail(), ex.getMessage()); T, n0 D% | d. G; j: w; ]
cout << ex.getMessage() << endl;& _! _1 h4 M7 H) C6 F, o
cout << "error " << ex.ifail() << endl;
5 R2 H/ Z3 h6 L$ M$ @ }; @* _# t* S& Q% P6 V n; H! W
const char* syslog_path;! v. S% R# I. F2 X: J
syslog_path = EMH_ask_system_log();
& e- F, J0 I% a# _# w0 a cout << endl << endl;+ x8 H* d o$ _
cout << syslog_path << endl;' C- w X8 d: L& E* L6 \( W* V
0 U% V1 H; P- T h% p; n
stat = ITK_exit_module(FALSE);
% l" v# \; h) o* }8 S* o5 { return ITK_ok;7 |, ]9 P3 o0 L5 v: h
}[/mw_shl_code]
& X& z* m' J: N0 b" c) u# A3 X D |
|