|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
' H y$ e& q: `8 X7 l8 y
Teamcenter二次开发源码分享: 创建Item Create Item方法
# l: `1 J$ w3 \2 @3 D9 G H. k* ^6 o a& i$ K
[mw_shl_code=cpp,true]#include <TC/emh.h># I5 m3 i7 a' v3 k; [0 u3 K8 h C
#include <tc/tc.h>
7 V3 m$ K4 c8 p3 X/ N#include <tc/tc_startup.h>
+ u6 |8 y7 i2 L#include <tccore/aom.h>4 P3 j9 G- \% u2 p8 ^
: c; K6 e0 p8 C3 h3 b& `
#include <iostream>
. V8 T: ]0 P0 W$ K$ L#include <base_utils/IFail.hxx>. u/ ~$ }: F: P W6 h, O
#include <base_utils/TcResultStatus.hxx>/ e4 R6 j% E, |4 w
#include <metaframework/BusinessObjectRegistry.hxx># r+ X' Q0 Z( R2 }" R
#include <metaframework/CreateInput.hxx>% X; n1 B& e5 j; x2 w9 L! A
#include <mld/logging/TcMainLogger.hxx>
/ y' P% ~6 ^' R2 c* G3 G. y#include <tccore/Item.hxx>
; m& K6 j W$ S9 O* _% {
z ?$ Y9 t+ b/ n- x5 L4 f! }9 Fusing namespace std;2 E M1 e6 X0 j3 j [
using namespace Teamcenter;
+ O9 R/ P' n' Y& pusing Teamcenter::Main::logger;
) y7 d- N5 `. }7 \; x
0 p f, Z2 I- y$ I+ sint ITK_user_main(int argc, char* argv[])* ~" V7 G" w2 x) {8 ?# J! {
{! J8 {5 i @9 @' ^: B" D! p
int ifail = ITK_ok;
- P' Q8 j A6 S/ m! [8 Y ResultStatus stat;( p% b9 V3 F8 c) K( C
try# T5 b/ T/ i U: r
{- x7 J' I# F6 c$ o
stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE); : ]! K8 l* N6 u# e4 ]2 F
stat = ITK_auto_login(); . g! P% u1 `3 o& h6 s' _
stat = ITK_set_journalling(TRUE);% P. k0 N) s4 H0 I
2 B) F0 \' s+ T- ]
$ K* M9 t3 }' C& e7 S3 R" E
BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
, {. l. S" y' I4 q, Z6 ^, ]9 q# a CreateInput* pCreateInput =
* P% r7 \% u& X* ^& {* e | dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
W, @ X, Q; k$ I8 M( p2 ^1 ]8 y3 _2 g7 t% ~% e) K+ }
Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
2 z, o! j, F/ ?
) M: L+ A$ s4 u$ _1 y" \) w tag_t tItem = pItem->getTag();
. {0 a% [( I1 E* x% W& t' T0 n2 o) x- S3 O* k2 D# {2 S- q
string sId;
) {# o: ~$ s, ]! } bool isNull = false;
0 A+ j2 b( _$ {5 q$ v2 F( u pItem->getItem_id(sId, isNull);( s& l L( S- F; d5 O8 e. P% o5 _
5 m3 {8 j; `! C. ~' a
pItem->setObject_name(sId, isNull);
. S1 f3 q4 G! Z& c/ h ( ~! d9 K& j8 U, f6 n: U
stat = AOM_save_with_extensions(pItem->getTag());! J; j: W* Z' W* q1 ]# M& q
) L. M) S3 L$ \$ P" h, a cout << endl << " ID: " << sId << endl << endl;
; F) f3 j0 @$ Q7 o% v0 q }* y& O) ~' ?* R% p
catch( const IFail &ex ): |. S6 ]. O: `3 u" H! i( Q7 C5 z
{
9 \3 F. h. ?# O6 h) w9 ^0 I logger()->error( ex.ifail(), ex.getMessage());
; N( H( q. A! H5 e* Y8 M" h cout << ex.getMessage() << endl;4 ^- m7 M5 y% c0 m+ ?
cout << "error " << ex.ifail() << endl; - }0 O" ~4 f7 @
}
/ @+ g6 z, k- J' k; A# Q const char* syslog_path;
- L9 t! u( h3 J) f& a syslog_path = EMH_ask_system_log();! d: N4 Z: o4 ]
cout << endl << endl;- ?6 ?' N3 u% V# V: ^: o
cout << syslog_path << endl;) U+ f2 [, c8 P6 ]2 N; ]
! M# K* t [2 c0 y stat = ITK_exit_module(FALSE); ! [ @# |* @3 {5 V P# R
return ITK_ok;% t- X( }8 U2 u: x. o3 V+ F5 Z
}[/mw_shl_code]
7 q- r2 [- q) e8 [9 R |
|