|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 j! l( b7 a1 Y$ z+ T' g3 Y- m
Teamcenter二次开发源码分享: 创建Item Create Item方法! O5 o0 ]9 o- `9 ~( V
q, E4 \; S0 Q9 z4 `0 | G0 h[mw_shl_code=cpp,true]#include <TC/emh.h>
) I5 k' O: u' P9 A5 V* a: X% D" C#include <tc/tc.h>
$ O# w" z* I. ?3 H# v#include <tc/tc_startup.h>
+ f8 B7 Z& y; {4 b' x5 P/ v/ G#include <tccore/aom.h>
9 ~* A% j4 e* C1 Z6 X6 F7 {) W5 L, s/ [/ |
#include <iostream>
9 H# C) _6 [8 U* L/ X- j( B; X#include <base_utils/IFail.hxx>. Y/ I; p! T" Q' q5 S$ N
#include <base_utils/TcResultStatus.hxx>
& Z$ Q5 [1 {2 l- q#include <metaframework/BusinessObjectRegistry.hxx>
* P7 |4 w4 G" z' W% ^ M# Q#include <metaframework/CreateInput.hxx>, v' A& ^/ }6 q6 x$ N6 W
#include <mld/logging/TcMainLogger.hxx>
; s" C$ f& H" ^. W#include <tccore/Item.hxx>
/ R; Y" a1 Q, n+ f
+ ^2 i: k l; jusing namespace std;
! k0 z9 w5 S5 R* Jusing namespace Teamcenter;" J. C1 j S7 Z% d
using Teamcenter::Main::logger;# G3 j l) A6 \+ J
5 ~! Z8 e' V0 p+ u- x
int ITK_user_main(int argc, char* argv[])
5 w' `& b" l9 I. n{0 c" t" T0 a M
int ifail = ITK_ok;1 }# Z7 w [. Y; u+ R. G
ResultStatus stat;
6 k, x' L* ^" K% P try
+ g% C9 o4 W& ? {
$ [1 h9 e9 f; J) X% @* K stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE); 0 Z) H9 s* [# q8 v. `/ ~
stat = ITK_auto_login();
% |5 U. [# W4 f7 N1 A# [ E# } stat = ITK_set_journalling(TRUE);; L. s) z% D2 M9 M( t
8 }2 H3 R6 a c
. C. M/ l5 Y. f0 [4 @ BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
/ } E S, o5 z7 j CreateInput* pCreateInput = 8 t1 @! h$ t4 n3 Q" G6 l
dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
$ b7 C; ?- e: i" I+ V
: i! l/ w( k- L, R3 U4 d: v1 | Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));9 j6 L. V" _9 \9 N8 H
4 C6 G; H' q" P! ? tag_t tItem = pItem->getTag();
: h" O9 _- ~1 P" J2 i5 q
$ Q+ n w. @* L* n8 d string sId;
% _: E: _9 J: U1 t bool isNull = false;
9 A% H! B% \* T9 v# x6 v4 `4 m; q pItem->getItem_id(sId, isNull);, M7 p5 ^! L/ P* z3 w! ?
- A6 c! t6 y8 H5 s8 B- a8 i1 O; W/ B pItem->setObject_name(sId, isNull);
; U$ f2 w. Y+ O( j4 R% {! S2 k " B7 [! f! k9 |5 O0 `
stat = AOM_save_with_extensions(pItem->getTag());8 G% ?) }2 A2 B1 w, O" l, q
8 z2 Z- Z# k1 ] cout << endl << " ID: " << sId << endl << endl;
2 ]6 P3 T" I _4 h6 E1 Q8 b }
) l" I6 F+ K' x catch( const IFail &ex )
# S5 l9 n* Y& S; W, d5 {" p8 g {! H0 p$ C+ Y# \* G2 c( p
logger()->error( ex.ifail(), ex.getMessage());
- B0 O3 ]8 o' j2 t, ^) S cout << ex.getMessage() << endl;8 \$ B b/ p' n2 J$ a& [! R
cout << "error " << ex.ifail() << endl;
3 C& M1 U+ I3 E' U# I }6 q, s; T" e: I2 l# s- o
const char* syslog_path;; m& i" z+ n6 d6 O
syslog_path = EMH_ask_system_log();# B1 e! }2 \# {( ]* Q* O/ t
cout << endl << endl;
) C+ u- H, i( z* | cout << syslog_path << endl;0 Q! |$ ^4 M5 c8 C8 j2 L$ ?; z
8 w) [, ~9 T1 ?% B* V stat = ITK_exit_module(FALSE);
% e% l" d: ]3 k' B x; O; X, a+ [! X return ITK_ok;
6 _$ k: K5 \2 e( q! }}[/mw_shl_code]
4 F6 {2 o& M) ]. u |
|