PLM之家PLMHome-工业软件践行者

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

[复制链接]

2020-2-8 09:26:33 2247 0

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
: j3 b- U$ b( i& H3 ]8 F
Teamcenter二次开发源码分享: 创建Item Create Item方法
2 ^8 k( i9 z  `& r& ^7 W2 ?- ^2 q. d& ?, A& o+ X) a! N
[mw_shl_code=cpp,true]#include <TC/emh.h>' ]2 }! n' v2 v9 }! Y8 o
#include <tc/tc.h>
8 |; m) @* c+ _" p#include <tc/tc_startup.h>: ~, X2 S1 e- e) B0 M
#include <tccore/aom.h>. p$ _* m% G: ~2 e8 C% O) F
# H* Q- `" o# v: }) u4 A; |
#include <iostream>' D; ^1 `$ ^. K; i) b9 i" ~# @! N
#include <base_utils/IFail.hxx>0 u3 j! e3 Q+ ~2 D! \; O4 n  B
#include <base_utils/TcResultStatus.hxx>5 d& S! `* _; U
#include <metaframework/BusinessObjectRegistry.hxx>
' ~, @3 {+ r+ Z#include <metaframework/CreateInput.hxx>! `% k* J! ^  j- y: H* O
#include <mld/logging/TcMainLogger.hxx>: E' Z$ m- q& Q7 W
#include <tccore/Item.hxx>
" w; w  ~5 X. \6 N: C4 [% Z- ]. L% T5 K7 i3 T: x
using namespace std;
+ B. F0 X1 |, A9 fusing namespace Teamcenter;
% _$ G# r* U7 h) T; V2 _using Teamcenter::Main::logger;
1 j: {3 X( C$ X! A4 l% S' R/ \% M, |5 B+ e9 R
int ITK_user_main(int argc, char* argv[])6 C' X, G) h9 |! l
{# ]- v0 r7 O: @
    int ifail = ITK_ok;! y( c' T7 ?" o6 q" ~! X; u! ?" |
    ResultStatus stat;8 c/ M; _1 b' F, x0 o3 @6 Z! Z
    try
5 {1 a% [% B* D' M; ]    {  _! Q, A. \$ ?/ ~4 g0 a( x
        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         
0 M- R/ C: h# [2 i& J+ e2 G) c        stat = ITK_auto_login();                                          
# H8 i# K  c, o& i& H        stat = ITK_set_journalling(TRUE);
$ K# B8 N& |9 D1 o. g$ A% q2 o$ D" W! }9 F4 [3 j9 K3 b5 b

' E, V  d. w5 ]0 k7 h2 Z& B        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
) X8 V; y1 Y2 w* M! b/ g/ j        CreateInput* pCreateInput = : y# ]+ M) M# x* D+ r
            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));* l9 s5 W6 `! K! }5 K5 T

' m- H% F. J3 a5 n1 b9 r8 K1 C        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
, i, b" N! ?& h) T' V
* M) z$ c' [$ v5 b# X+ r/ U        tag_t tItem = pItem->getTag();
1 x7 ~& d+ R" l7 p) P5 ^6 `7 ^2 u, B* f$ D6 Y
        string sId;
0 j3 P8 j: N+ S+ B' ]; @        bool isNull = false;" h9 b/ i9 @2 Y( q
        pItem->getItem_id(sId, isNull);
8 M7 _$ n1 B$ o6 c$ n        + I; R- [3 l# |7 B* e/ T
        pItem->setObject_name(sId, isNull);' j/ w# I1 P  a$ C
        % B9 ?& \8 S4 S* X8 j0 }6 u
        stat = AOM_save_with_extensions(pItem->getTag());4 c: w  v* l2 U2 D& p

- V: R9 B& [' c+ O: c$ n5 T        cout << endl << "    ID: " << sId << endl << endl;& j; t4 e0 `2 M# E; K
    }  |" ?" O: h/ _3 I- V1 G6 p
    catch( const IFail &ex )
; j# m7 ^+ q3 ^9 y    {" I( o5 u7 V3 M
        logger()->error( ex.ifail(), ex.getMessage());
$ [1 \. M$ _4 O+ k5 }( X$ |        cout << ex.getMessage()  << endl;$ k( V% t/ J6 b5 H( S& k7 q
        cout << "error " << ex.ifail() << endl;        1 ]0 ~9 ]. j  q: t
    }' E: F: [, y1 b: p
    const char* syslog_path;9 p$ N( c( `( ]0 j+ V( m$ s
    syslog_path = EMH_ask_system_log();7 ]9 Z- h( }% S0 F9 v/ U* n
    cout << endl << endl;" r" r+ t7 K" f/ `# J, m
    cout << syslog_path << endl;
6 U) d/ {! v. y% k& j% c+ X1 B6 a) N/ u0 L0 L3 o! C
    stat = ITK_exit_module(FALSE);                                       
0 B# d  i2 F. a, g! `& U& D) b, W; w    return ITK_ok;' z+ \' S# I" g! I$ T% y0 ^
}[/mw_shl_code]
) D$ v* e/ A  [' Y1 C7 n
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了