查看: 2345|回复: 0

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

[复制链接]

4

主题

3

回帖

44

积分

管理员

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

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

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

×

6 o$ u( X3 I4 |( @/ c# u- kTeamcenter二次开发源码分享: 创建Item Create Item方法
* ^" [# U4 U& y  e5 Q! x+ s5 C7 q( j4 s3 E
[mw_shl_code=cpp,true]#include <TC/emh.h>
1 D6 u5 c- u6 f' X  r#include <tc/tc.h>
7 t5 ^6 m3 ?$ Z: j#include <tc/tc_startup.h>: ~% }6 n' _4 H
#include <tccore/aom.h>
4 O" [# T) N2 H5 I/ W' x
, i) \# f) X( H! Y) q6 J#include <iostream>
  @/ }9 i) C3 z3 G. E2 ~5 w( R#include <base_utils/IFail.hxx>& {9 V5 c) _* H, D. a7 I0 h
#include <base_utils/TcResultStatus.hxx>
6 x0 N8 e: [6 {" a& r- C' Y* J  H#include <metaframework/BusinessObjectRegistry.hxx>+ r3 c( _# d: \% U/ G
#include <metaframework/CreateInput.hxx>! K5 i  l9 A" p% {2 U
#include <mld/logging/TcMainLogger.hxx>- i' X  c0 c$ Z5 h' L
#include <tccore/Item.hxx>
2 S- g5 K. X7 v" E7 w
& F: P" D1 v: _! O2 F" S+ J. Gusing namespace std;
0 ]2 Z0 @2 a, Q1 d3 t8 O9 G# t! busing namespace Teamcenter;8 d& \: a7 v, {) D& c+ s4 E# I
using Teamcenter::Main::logger;0 t  K% [& \+ k8 M( @0 e

, R* l$ r" {, e2 Tint ITK_user_main(int argc, char* argv[])
5 y2 {! m9 L, ?+ c4 X7 B0 y4 H{4 L5 Y0 u4 C( G* l  r
    int ifail = ITK_ok;
) [9 g) j5 u8 b- d7 i' r' S* A    ResultStatus stat;. I9 n/ O: {) N9 Z. r
    try/ y: c' v; F4 r5 ~( B' l
    {0 ?3 l# z6 E9 S2 |! S  T+ m; J
        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         + x4 g* n+ O7 R
        stat = ITK_auto_login();                                          
: i" _! o7 b( }, j; }        stat = ITK_set_journalling(TRUE);
) N* d6 T( @5 z# {* l8 h" z& ?4 \* U1 X

8 b! q+ c2 |' j8 ~- a- S        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();! u' @* R' w* F0 J& n
        CreateInput* pCreateInput = 0 Z2 r3 Y* U2 `9 Q0 X
            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));5 X" r3 e- t" ~2 T

9 L/ W9 Y4 @  k6 @  _2 t" o# r        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));; I+ o0 [; u; j+ `! P! p" Z8 H
' B$ J3 \7 @2 {+ W1 C+ G3 ~- R3 }
        tag_t tItem = pItem->getTag();1 `# R, H! ~" j

0 `0 `9 H7 u0 \1 A6 K; }        string sId;
' ?; l9 t: A* H- [- l( R; R        bool isNull = false;) r# @% Y" f$ g
        pItem->getItem_id(sId, isNull);
8 c$ N4 l# }. i- \1 ~( V4 z        
# E/ I( V, n* m( I6 A0 o8 B        pItem->setObject_name(sId, isNull);2 f% u; l$ [) k% R
        1 z8 p# p& x& u2 [7 X
        stat = AOM_save_with_extensions(pItem->getTag());
- h, a  j2 P7 _" v
$ j6 S: U) E8 o/ e. |8 O        cout << endl << "    ID: " << sId << endl << endl;8 `6 D1 i- o7 Z% T) T: A
    }
9 a' N. j( P- z& i    catch( const IFail &ex )+ E* U, m7 I3 F  o4 @
    {
1 K- Q( V- ~3 W' D6 O& H        logger()->error( ex.ifail(), ex.getMessage());
: Y/ D. o( b( q! {; f, e) K        cout << ex.getMessage()  << endl;6 M' |+ \% p' s2 |9 O3 w8 O; r0 ~
        cout << "error " << ex.ifail() << endl;        
$ N7 Y) O; _2 n. q& y* E( n/ W    }' K6 B2 P: u  S; X5 z" S% w, o
    const char* syslog_path;
- x* L; U' d- m/ V9 M9 |3 v0 ?    syslog_path = EMH_ask_system_log();
" g0 I, v: ?& f    cout << endl << endl;
! K6 {: N) I% c, w7 Y2 U    cout << syslog_path << endl;2 D7 W7 |1 S2 x: o1 N

0 x- l( y! A  ^# w: L$ i- A    stat = ITK_exit_module(FALSE);                                       
* ^6 ^" |$ x, _. P    return ITK_ok;
( G" {3 o& F% C5 L}[/mw_shl_code]6 f) h+ `( N% [3 \+ O
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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