查看: 2340|回复: 0

Teamcenter二次开发源码分享: 创建Item Create Item方法

[复制链接]

4

主题

3

回帖

44

积分

管理员

积分
44
发表于 2020-2-8 09:26:33 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

×
! ]/ E; ~; C6 T) l% k$ G0 K
Teamcenter二次开发源码分享: 创建Item Create Item方法: @: z4 F2 z  v

1 X, A2 @% }3 u[mw_shl_code=cpp,true]#include <TC/emh.h>4 U! |% B3 Y; y+ M: D" H* s
#include <tc/tc.h>
$ P( Y! s/ l* {3 D- i) R#include <tc/tc_startup.h>
+ `7 X, R$ j( m# M#include <tccore/aom.h>% u  ^4 L  u& @
6 t7 t& B; S5 N+ T. U+ p9 B# P
#include <iostream>
- }- J/ w1 @: X/ Y+ }  F#include <base_utils/IFail.hxx>
: {/ [! {6 u4 j7 [/ }# b" X2 Y#include <base_utils/TcResultStatus.hxx>: ]- I" u# I# v7 _" g, s  Y
#include <metaframework/BusinessObjectRegistry.hxx>( w1 \! t0 R; g, p: H
#include <metaframework/CreateInput.hxx>8 v. A& V4 E# ]
#include <mld/logging/TcMainLogger.hxx>
/ W4 q9 W& M* p( {) e/ K#include <tccore/Item.hxx>. ~) i2 C% F; _6 L8 v0 {" r7 t
" Q# V3 h, {; s/ a5 M( s$ i
using namespace std;
) U( @" R4 g: j) fusing namespace Teamcenter;
4 A' J# f1 _0 I0 h2 I) Gusing Teamcenter::Main::logger;3 u5 A/ d. a; b0 o

6 g* X) R6 u' L/ [* V1 S4 ]int ITK_user_main(int argc, char* argv[]). l" p5 ]" D/ d  b" E7 o( x0 C
{
) j5 P( E% t" _4 V6 k2 @& t$ ~4 P    int ifail = ITK_ok;
) i) Z  P# v! V1 ^    ResultStatus stat;
0 i2 R/ _2 i8 r5 e" B    try. V; M, Y( a% ^7 h! k0 c; T) B& s
    {' I5 v+ }( I4 a9 U
        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         1 t5 Y9 B) E+ U" f2 f. [, ~5 Z/ `
        stat = ITK_auto_login();                                          2 j/ ]6 Y+ ?7 M
        stat = ITK_set_journalling(TRUE);
' Q0 J; Q, `8 ?% w9 U& I/ m! _. |; ~0 r) y# O2 v3 E
5 I! N4 G3 \0 t' M8 ]  w$ Z0 X
        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
3 E3 n: v6 }( t) T0 F. Z3 `, n+ `        CreateInput* pCreateInput =
7 a/ n6 N, d; y# x! C( w9 x; o            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
+ u# x) _1 ?; S
' w$ _" ~" @5 X7 s% \. C5 C        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));6 ]% P6 Y/ a. d" J+ S) Y% B
2 k2 n: |5 a7 b
        tag_t tItem = pItem->getTag();
( m- \7 p4 K* M0 \% G3 Q' d% j) `) a  r0 C# h% W' h% i
        string sId;/ H/ a; Q# `& _) m
        bool isNull = false;
! ~6 k2 S% n7 K3 a. W5 V4 G        pItem->getItem_id(sId, isNull);
! g, @, V. S" _" y) u! H) v        
8 G. z/ k3 P- i+ k3 K- t: }$ E        pItem->setObject_name(sId, isNull);
9 c4 s8 D$ h4 ]# B1 A# @6 R! p        
+ f8 C9 ]4 R5 t' y. v9 o        stat = AOM_save_with_extensions(pItem->getTag());
9 r0 m& L) T& Q6 K  D* P
5 s' w2 d  h* R, D/ C" T        cout << endl << "    ID: " << sId << endl << endl;  O) z+ B) Q3 }% d; x5 C
    }
. A0 u- b* C3 v, z$ {' h% X4 |# q    catch( const IFail &ex )
# m9 n; s5 [! X' i    {$ w+ D; X8 N" j
        logger()->error( ex.ifail(), ex.getMessage());- M% ?7 [1 k( f
        cout << ex.getMessage()  << endl;, a, k! e# L/ f5 L0 `1 c. U  V
        cout << "error " << ex.ifail() << endl;        
* G) v( F' t0 Z& e) |' S    }
: q5 t% L% d! M& }; ^8 @3 s    const char* syslog_path;
2 _4 |6 [" E5 S; D- _    syslog_path = EMH_ask_system_log();
- c2 G& V7 E% z0 ~    cout << endl << endl;
8 W6 }) U1 v; g6 u    cout << syslog_path << endl;
- a1 U- x" O- V2 h2 k+ Z  i9 X0 \" ]9 y6 T( b
    stat = ITK_exit_module(FALSE);                                       
* j, i. ?) I0 M+ h1 Y4 o    return ITK_ok;8 [; U0 a2 q; b1 v% D: J
}[/mw_shl_code]/ E, Y& J+ i/ Q/ F
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部