|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
% C8 @# [, f0 O/ x j( A% \
Teamcenter二次开发源码分享: 创建Item Create Item方法
7 y; A* [5 Y1 Y$ |) | q
" l: p7 |9 q- F2 a+ y% W Y[mw_shl_code=cpp,true]#include <TC/emh.h>
- K# ]. u" R p#include <tc/tc.h>
: _* k" N+ u) P! m- B9 a#include <tc/tc_startup.h>- ~6 m" A9 P' }, `4 {4 H' z; F9 W
#include <tccore/aom.h>7 m8 w8 V, p$ L3 S" R0 G, Z
+ J. I6 g0 T3 s: U' j1 E
#include <iostream>' V; C! }/ e+ |$ B7 c
#include <base_utils/IFail.hxx>
9 b1 A! }& e, k7 N0 q#include <base_utils/TcResultStatus.hxx>
( g& Z- D ~! P- c; l1 B$ J, W#include <metaframework/BusinessObjectRegistry.hxx> k8 n2 z: i1 R' M( G
#include <metaframework/CreateInput.hxx>5 A% O6 w7 D0 s( `. J. n
#include <mld/logging/TcMainLogger.hxx>
& n: ]0 P/ A' s4 m3 m/ l7 x#include <tccore/Item.hxx># T" F- e: {7 l5 i3 z8 i, c4 B" v
# S5 ^" F% Q! D! G* [using namespace std;
+ y% b) q! J+ t) Qusing namespace Teamcenter;' d9 O) K+ {' w& j: H
using Teamcenter::Main::logger;- E, I& Z% j* Z; I
; D# j k9 ]* ~% [5 z
int ITK_user_main(int argc, char* argv[])
9 M: O- z' |; x8 r8 s{! n, q/ F: v7 p2 ?# T5 X
int ifail = ITK_ok;
4 h4 m% t- z9 i9 X7 J ResultStatus stat;: A' E7 O* l" p5 Z) ]
try, y/ Q" }3 X1 Y; [, Y7 _: |; D# T
{
$ [( W5 C: J4 S5 K- _ stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE); ( n( m: o& i, j# C! z# e- |. e
stat = ITK_auto_login();
7 o$ _2 U: M1 Z$ v: [8 V5 J stat = ITK_set_journalling(TRUE);1 {4 B) o$ M/ M m# Q
7 J4 g5 B0 l$ o; F+ A
6 C: s6 `. T8 V; ]+ I% l+ e7 f BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
, R/ F0 M. e. `, @0 h9 o CreateInput* pCreateInput = ; q1 u% z: q# V" s ?( J8 F
dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));. ^# x r: {. Y$ X8 |7 n/ x
* `: T" M! p/ v8 h& S( s3 @ }
Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));5 _" y1 A5 |" n- A
; [7 q+ }4 _0 R: r) L
tag_t tItem = pItem->getTag();% w' V* \, S9 Z7 _1 Y
5 v" M( O) U! P0 m, C5 k
string sId;
* ^9 x% [+ A( Y) b0 B; V5 J* h/ R bool isNull = false;
. f3 G) c/ S/ c. e pItem->getItem_id(sId, isNull);
9 `0 J$ h4 ^+ s2 }0 P ; p& k) @' `( h6 y7 `! ]) c; p
pItem->setObject_name(sId, isNull);
5 k$ D* v R$ f$ H/ [) I9 X 1 s0 t5 g# H0 g% _% U8 e
stat = AOM_save_with_extensions(pItem->getTag());. ^5 |; C- l; v0 M! o1 Q
2 r# |" b8 [3 ~3 O- B/ Y cout << endl << " ID: " << sId << endl << endl;
4 P$ w! l! r+ m, J+ W/ r" A }
% J; m5 B& b' O, U8 G, L catch( const IFail &ex )6 P; @" K+ l: T' d7 D0 y# K! a
{
& R5 |& R2 C. m logger()->error( ex.ifail(), ex.getMessage());
: R8 R5 U# v1 Z0 N cout << ex.getMessage() << endl;
4 \1 k2 \9 Z8 G: T& i2 ] cout << "error " << ex.ifail() << endl;
% L! ]3 o6 m$ p5 k# T m8 j- }# n }- P. h2 z3 [: j+ n$ I
const char* syslog_path;
/ r) D, v3 I, B: J# a syslog_path = EMH_ask_system_log();
" J$ z0 F( \5 ?$ M' S5 g1 Y cout << endl << endl;1 L& ]1 Q% Q( ~! _, y
cout << syslog_path << endl;% A7 a6 Q2 w N# g1 v+ Z2 ?
5 V& s& U* K% h' U stat = ITK_exit_module(FALSE);
1 d6 M* G# M) S return ITK_ok;
% B, L _! X3 E9 h}[/mw_shl_code]
3 B5 I1 @" ?- c6 O# q |
|