|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
3 X5 ]; P' e) B* O$ e2 jTeamcenter二次开发源码分享: 创建Item Create Item方法 S- S# W% ^7 g+ ~8 I7 ~
: ~ w4 g/ f. ]- T9 @
[mw_shl_code=cpp,true]#include <TC/emh.h>
- Y5 G, ]0 d+ G' P3 |, k) {4 b: p#include <tc/tc.h>
2 U1 ^) t: G/ e6 l) Q0 }0 U$ K$ s#include <tc/tc_startup.h>9 T: j$ |' q- e* x
#include <tccore/aom.h>: ?- R4 q8 ^ _
/ R c2 |* h/ |
#include <iostream>
) L8 l; Y- @5 t1 A+ ~' Y N. J8 X3 [#include <base_utils/IFail.hxx># `4 c' Y. d4 o1 s' i+ I
#include <base_utils/TcResultStatus.hxx>1 B1 d2 ?$ k H# Z
#include <metaframework/BusinessObjectRegistry.hxx>
3 J7 y8 z: T. P: F7 s* S& S#include <metaframework/CreateInput.hxx>8 G3 d) r/ q7 V1 m0 k4 ]& a2 v/ _# f
#include <mld/logging/TcMainLogger.hxx>
, W5 ` U( Z1 N4 @' E) e3 m#include <tccore/Item.hxx>
3 c- H R3 B! e( w- V6 E+ D. B7 R+ i/ [8 e9 J
using namespace std;
0 @5 t# l+ h: Vusing namespace Teamcenter;
% k, z/ b3 Z& O' A6 n' F' ~using Teamcenter::Main::logger;
& |' L9 t; ?, K- P
' A4 Y; j+ k G' \int ITK_user_main(int argc, char* argv[])
2 e: F% [, X: H{: f, h+ K/ d7 x+ O8 _2 F, F% {
int ifail = ITK_ok;9 G3 L, {/ ~, ^3 u2 Q+ O
ResultStatus stat;$ r9 t6 T1 `' l/ `. U
try+ U: E$ E+ Z4 T
{! m) g' W0 U+ M, m3 X h' v' F
stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);
: P0 ^% t% D5 }" Y& J' k stat = ITK_auto_login(); 6 {7 |- p6 `8 |, G8 u6 X
stat = ITK_set_journalling(TRUE);
( z8 G- ?. W+ E
& o( ]. G$ t2 P5 ]; u+ h% \
?, K' P9 A: K% v4 t" K BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();% y, C' r Z! v! ?- ~9 I
CreateInput* pCreateInput =
$ b1 N. `9 I- Y2 S' ?9 h dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
( F' M( I! ^6 i% r: B: F( i
* k8 y! A/ W% A0 c- X Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));9 Q. {/ G H, a& c
# ~( o* @, Q B# s k tag_t tItem = pItem->getTag();8 o) ~! J ?# ]1 a. M6 e
! F* j0 M! ]# y) T9 p3 v string sId;# R8 j% V( T( q' Z
bool isNull = false;
% g3 X/ U, s- b( T8 ]7 ^ pItem->getItem_id(sId, isNull);! M# f* ~. ?3 G& q# j0 `/ V
" o" j" t' J+ R+ o# B. J
pItem->setObject_name(sId, isNull);
7 L2 M. } l6 n( D8 \- U ' [7 |8 @# X w0 g
stat = AOM_save_with_extensions(pItem->getTag());
- D. ^/ F. R3 ^& g
. R' I, ?: K" p9 X cout << endl << " ID: " << sId << endl << endl;
u9 B7 ]) z; E) I: X }! x" J$ |2 J3 R" i; g0 Z" H
catch( const IFail &ex ); _8 R2 h9 p) y' f, b- t
{& e6 G0 P* F$ ?% O
logger()->error( ex.ifail(), ex.getMessage());
3 k0 f5 I8 d) q3 V3 q4 \) p+ h' @* n cout << ex.getMessage() << endl;& ]" }$ g7 z) m- ^1 e
cout << "error " << ex.ifail() << endl; + w4 ` K* Z' ^+ y; v
}2 { S, q# d3 c( Q* D& j7 Z
const char* syslog_path;
% e) g, ~5 G4 y& _ syslog_path = EMH_ask_system_log();
3 r& w' a7 N/ v cout << endl << endl;9 R' a) d2 G% V/ g
cout << syslog_path << endl;
4 m' ]0 d+ P& n! |2 R
6 c% m9 h4 A9 ?! z1 C stat = ITK_exit_module(FALSE);
6 p9 v D: u1 g* y& i" w" f+ r return ITK_ok;
/ y; J' C4 r P' C3 F0 T}[/mw_shl_code]1 O% z, L; A7 L# }( ]- C+ ]1 n! B8 p1 b0 c
|
|