查看: 2523|回复: 0

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

[复制链接]

2477

主题

1280

回帖

60

积分

管理员

PLM之家站长

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

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

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

×

* s6 U$ _+ \7 Z( L2 k1 LTeamcenter二次开发源码分享: 创建Item Create Item方法
% y/ k8 m& n* i) a1 p
" Q$ _% J' i9 L! H+ A2 O[mw_shl_code=cpp,true]#include <TC/emh.h>) X6 o" M& D+ ^; S
#include <tc/tc.h>
. d, w# h* r1 R9 N4 d#include <tc/tc_startup.h>3 _0 d( e2 z+ L0 D' c3 I$ d
#include <tccore/aom.h>
  @# p( L: i; q/ L% k
* v# V* H( I- p& `2 J& L( R/ j! e#include <iostream>( @7 [; c3 V* L  l! \
#include <base_utils/IFail.hxx>
; E0 H, O. ]8 s5 z$ x/ [#include <base_utils/TcResultStatus.hxx>, D# Q2 Q& t$ Q4 l# T' d9 c9 _
#include <metaframework/BusinessObjectRegistry.hxx>
! M/ W" k8 {. x/ V6 R/ b#include <metaframework/CreateInput.hxx>9 a/ g% ^, U7 }' j# r
#include <mld/logging/TcMainLogger.hxx>
: _1 L. }9 S; P$ g: L% C9 L7 _#include <tccore/Item.hxx>
' e! e4 v4 Y2 c% J, A5 }( B( A8 j5 T+ d9 M
using namespace std;
' |7 {% ]  h3 Pusing namespace Teamcenter;
+ I  X# y3 J, _. ]using Teamcenter::Main::logger;$ J) N: M8 r+ q0 B

4 h) l6 g, G( L# nint ITK_user_main(int argc, char* argv[])5 T+ D! J, L- R- H
{
' K, |* O/ {3 c( v) Z* l  _8 x6 K3 m    int ifail = ITK_ok;
8 A6 l3 L( ^. S. g& g    ResultStatus stat;
3 X0 L+ P6 {2 O- r5 ]- h" u    try4 ^/ T) A4 C( m! g4 W0 J
    {5 p/ I8 c7 ]% h7 F! ~& r
        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         
9 t; J& @+ Q. T9 Y8 L# s. Z9 o        stat = ITK_auto_login();                                          2 S3 `2 h1 b9 o) n3 y0 y9 b" l
        stat = ITK_set_journalling(TRUE);
" f+ m3 t$ k% u- c, Q, k
1 n$ O% c* Y5 U  C: J" b- l
7 a  i1 C4 w2 d2 ^        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();6 I% j7 l9 S7 ^+ M4 t3 V! a
        CreateInput* pCreateInput =
. H& Z8 I0 y$ K3 S            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
6 ~+ {( ^" w+ D, ]9 W$ u) v7 h+ |$ w) Y; o
        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));9 P2 m, E/ x% z  w& g% F- g

+ t# f6 E5 a1 p6 Z# A" D        tag_t tItem = pItem->getTag();" X( |6 }; J6 s! |
0 h; |* ]0 N6 y& C- {; s
        string sId;" ~$ j* \" L# i/ b! \& s
        bool isNull = false;
9 d+ S, S# k) Y  z2 e        pItem->getItem_id(sId, isNull);
. l1 q' t3 j  x' k        4 T  [& o) f: k2 U- a) E; g
        pItem->setObject_name(sId, isNull);
( C5 C% j& `, n% `" r6 O        * i. n: B7 t( U5 A8 y
        stat = AOM_save_with_extensions(pItem->getTag());5 f) g) b0 g% {- a. u: R
; p" q" z7 H8 E& |2 X
        cout << endl << "    ID: " << sId << endl << endl;7 x  w0 H/ F( \! R7 Q
    }5 C+ S4 W) Z' ^7 q4 ^- a" p8 U
    catch( const IFail &ex ); v8 l4 e4 h: Z$ A' F& b- m* B+ A
    {
) Z& f  X8 U# j$ I0 P        logger()->error( ex.ifail(), ex.getMessage());
: I; ~2 F# S# {) C! d2 S        cout << ex.getMessage()  << endl;
) W3 c" P. x9 x# u* J6 v# H        cout << "error " << ex.ifail() << endl;        $ N5 _0 B& o9 B% e
    }
" U$ d5 G& r6 l) e1 b. w( F    const char* syslog_path;# K( k1 Y) A' l. U" `! B3 Z1 f) e
    syslog_path = EMH_ask_system_log();% Y* i$ e. E" {) g$ S+ z1 c
    cout << endl << endl;8 l3 l2 G" |; w% n" E3 P" g- \
    cout << syslog_path << endl;
! \) W. ?, m. N; l- `
3 h: E* ~: b3 t* a    stat = ITK_exit_module(FALSE);                                        5 d4 R  W! J8 }
    return ITK_ok;
% w' u) ?* b% Y4 U}[/mw_shl_code], s9 ~4 v$ y5 |( P8 k0 e
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

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

本版积分规则

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