查看: 2334|回复: 0

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

[复制链接]

4

主题

3

回帖

40

积分

管理员

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

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

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

×
) n" o. S/ `( y+ g, T& t
Teamcenter二次开发源码分享: 创建Item Create Item方法% I6 a8 w# g& q3 X7 B0 [( S

1 T  Q" i( f( _8 l: p% B[mw_shl_code=cpp,true]#include <TC/emh.h># x0 u7 X, e: o+ e4 t  S' y
#include <tc/tc.h>
" p# _: y2 h' @4 P' k2 y/ n# Z#include <tc/tc_startup.h>( e# ^0 z6 _. x* \* M" `
#include <tccore/aom.h>$ a3 _1 u& a: p4 a' |  a. E! ^

% a) \$ H7 y( `3 e#include <iostream>- P$ s4 }+ i3 E
#include <base_utils/IFail.hxx>1 S( Z. r3 n+ D
#include <base_utils/TcResultStatus.hxx># U) b  n2 @8 m0 f% j- I: Q
#include <metaframework/BusinessObjectRegistry.hxx>
5 y  ^2 c9 s+ b#include <metaframework/CreateInput.hxx># f: R; i" E6 O. H' k2 n: L1 @
#include <mld/logging/TcMainLogger.hxx>" r1 u. _, W- M& U8 A
#include <tccore/Item.hxx>, J' T* f3 w; I+ K, P

( h( [1 G5 W5 q: y5 E6 }using namespace std;) J: r0 S3 Y/ o1 z0 U4 y& X
using namespace Teamcenter;
: I7 U& i* H* N& T/ t4 e. c7 {using Teamcenter::Main::logger;
3 k/ B" Y2 F, A3 W4 t/ C" m
  X: ~# a: n% _4 B/ G) xint ITK_user_main(int argc, char* argv[])0 ^5 n6 U# L/ b0 P4 X  t
{5 M- [, m0 U+ g/ V1 F8 v. s0 E
    int ifail = ITK_ok;
  K$ H6 {; n% [1 y* I    ResultStatus stat;% j- v! [. F( O4 Y$ E+ h
    try
/ Z3 Q8 |' D, C9 j- b. a% I    {
) x: O8 f, R, P8 X. d        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         
7 p2 Y9 D! t* g" M, b0 E8 t& |        stat = ITK_auto_login();                                          " p# k! P3 R1 w1 T) ^3 u  ^8 x% ~
        stat = ITK_set_journalling(TRUE);1 w# ?% U* i) A% r8 ^& V8 J5 _
+ Z( l8 j2 o* Z. i+ }

1 J# P" l+ r8 G% B8 U% L9 @        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();  s2 o  Y: ?' M2 Q" g3 O# ?
        CreateInput* pCreateInput =
5 I) \1 {. I$ u6 i* @3 n& w            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
4 n" T# a* @$ i; e- t  u
, Y% f; k- h+ Z0 n/ @2 ?! M        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));$ X' V8 B5 q  B, ~) T$ |

, m8 J' z1 q* `: F0 T4 K        tag_t tItem = pItem->getTag();
+ R6 g  T; ~: w" p: L: w0 j) s1 f( k5 R4 a1 N, T
        string sId;
( y3 C8 k  m) k) E        bool isNull = false;9 [6 |4 J( \3 n5 y
        pItem->getItem_id(sId, isNull);0 |' W1 s; `0 f8 p4 ^
        
3 |& P) U/ j; y) ^1 I+ w        pItem->setObject_name(sId, isNull);  m' F. H1 `) |, a4 \
        
6 s/ c8 E- V# S+ [+ D! A$ {* H        stat = AOM_save_with_extensions(pItem->getTag());+ d' _$ l6 D6 k9 S

( Q5 W4 M7 c$ Y+ L& ?) F        cout << endl << "    ID: " << sId << endl << endl;
/ s8 B% U0 R9 n4 v' F0 B) Q    }; K. @! E( t) I8 e
    catch( const IFail &ex )
" @1 q( e, m4 k; t+ i  [3 c    {
' m2 t# @- V7 U0 S. h+ b        logger()->error( ex.ifail(), ex.getMessage());
1 C2 ?7 g! _. K" k& T        cout << ex.getMessage()  << endl;6 N4 D' j) G: D1 A1 S* ~, \
        cout << "error " << ex.ifail() << endl;        5 @3 |4 I4 O1 z. `9 d' O% o
    }
# ]2 @  T7 T5 n, I4 J4 l    const char* syslog_path;
% |6 Z: l% y9 L    syslog_path = EMH_ask_system_log();* p( \6 E4 y7 x( `+ W
    cout << endl << endl;
/ S' V: ^: P3 l+ g- c+ }  D7 @4 L6 v% V    cout << syslog_path << endl;
# |: d# B$ `# g4 d% t
4 g" X! a* i% p+ |. R    stat = ITK_exit_module(FALSE);                                        ! T: k$ S9 O9 C  y, D& n7 Q
    return ITK_ok;
, }: H- M9 h+ e/ P( g}[/mw_shl_code]2 o, \8 ]& p; B9 F
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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