查看: 2511|回复: 0

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

[复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×
: a0 Y4 b3 c  w) \2 k  y/ S7 @! X
Teamcenter二次开发源码分享: 创建Item Create Item方法
1 k: q3 a5 ]' ]* e
, ?. X" q& d$ N& S( K. ][mw_shl_code=cpp,true]#include <TC/emh.h>6 l7 G& g1 h4 L1 u( K& D
#include <tc/tc.h>* G# K) n" ?1 d7 H- T' |
#include <tc/tc_startup.h>, E. h) u/ Y& W8 H1 v' l4 |- o
#include <tccore/aom.h>: g" S3 F+ N0 D+ ^4 C" H

+ q' L' z0 `4 X; s' b" F#include <iostream>
; V+ M* m3 ?5 k" L2 V( ]#include <base_utils/IFail.hxx>$ r. C: m3 M9 r9 }8 o# Q/ B
#include <base_utils/TcResultStatus.hxx>
/ I4 {5 B0 m. W& j#include <metaframework/BusinessObjectRegistry.hxx>  p0 @- S3 p" d1 {
#include <metaframework/CreateInput.hxx># {% t9 j8 z9 x  `0 N; j+ c) }/ T
#include <mld/logging/TcMainLogger.hxx>
9 {  w1 ~3 O& c#include <tccore/Item.hxx>, ^$ S# C% }8 D4 y
) a# L8 X9 L* A- l
using namespace std;
* t# Q/ Q: H+ O% M$ |3 X# D* Cusing namespace Teamcenter;( l$ _6 a5 b9 b
using Teamcenter::Main::logger;9 C# U7 w) G! O- X
, ]: K0 s4 r1 D7 G
int ITK_user_main(int argc, char* argv[])) R. X* K: H$ X
{
0 U" `; j* w: t* Q    int ifail = ITK_ok;5 G. B8 `: i5 U: a$ h0 I6 ~
    ResultStatus stat;
6 P  |2 f% u9 O/ v  r1 h" z' }    try8 _  y4 l3 C1 v
    {9 x  O  ]3 f, q; D. X
        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         
4 V; l/ F" `  u( P2 n- I        stat = ITK_auto_login();                                          & o" e. w5 }6 z+ o
        stat = ITK_set_journalling(TRUE);' c3 c8 j3 y. ]5 i& l

; R0 o& a0 U0 e* ^, V( ?% l9 Q0 r$ E' O5 X8 X+ z9 z- K( q6 m
        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();& U: g. E: F3 i$ I! P+ m
        CreateInput* pCreateInput =
% Z: W1 @9 y1 ?% Y1 T- `            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
! F/ J+ u. Q: a; {& d  ?8 e* r& v" {9 W
        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
4 M2 A: S$ \( t0 k$ y2 J1 g1 t/ R( x3 w3 F  G# V. g2 d
        tag_t tItem = pItem->getTag();
; n$ k9 K6 u* q' I6 c2 E5 _- k( X2 N0 ?" n
        string sId;0 j3 T! ^# P1 F1 Y
        bool isNull = false;
. q: S+ G$ ~9 j& \2 s        pItem->getItem_id(sId, isNull);
/ o2 S: Y8 k, Y9 V6 P# o        
/ E9 `) H! j( V: W& u8 t        pItem->setObject_name(sId, isNull);
0 X7 z# O9 d9 ?% g$ g, U% o8 Y        
0 I* `- h  L! ~' M! `        stat = AOM_save_with_extensions(pItem->getTag());
. P0 x3 V6 F! M1 a6 _" V
" x" [2 m* C) D5 V( Y        cout << endl << "    ID: " << sId << endl << endl;8 w) T/ O6 V9 \6 W7 Z
    }" m( [3 E" j2 t# z( G; O
    catch( const IFail &ex )" u+ c% w- g0 O0 E
    {
5 p' C7 V& o" P) E8 k- g* z3 h        logger()->error( ex.ifail(), ex.getMessage());5 s5 m* y+ H! y" a9 P! }
        cout << ex.getMessage()  << endl;2 r. x$ r# f" T' T! f7 j2 j5 S. b
        cout << "error " << ex.ifail() << endl;        
0 P8 r& O: k4 g( L1 U- e# O4 V    }7 G) {5 g, L8 Z7 |+ q$ U2 P
    const char* syslog_path;# a' O% Z5 |9 p# ?! M: |2 h& p; z
    syslog_path = EMH_ask_system_log();
7 G# x9 Y$ O* P    cout << endl << endl;9 u( J+ h% G9 g% _7 ~
    cout << syslog_path << endl;
1 f! H4 X. ~3 Y$ ^
  N9 a& o9 a- T' V# o% s& T    stat = ITK_exit_module(FALSE);                                        ( `- z3 |- M6 u' c
    return ITK_ok;
; J( F( p. H3 N# L; W, {}[/mw_shl_code]& H. `. o/ A$ D5 J
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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