PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

admin 发表于 2020-2-8 09:26:33 |阅读模式

admin 楼主

2020-2-8 09:26:33

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

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

x

/ ?0 A9 ^7 X4 w( N$ n0 p0 B: rTeamcenter二次开发源码分享: 创建Item Create Item方法
" `9 ]8 @9 A7 P+ W# g  Y
1 n' k4 A" \: F. S0 z9 [7 w[mw_shl_code=cpp,true]#include <TC/emh.h>
# S$ e  B, p1 G$ J2 m4 |" R#include <tc/tc.h>
+ o. v4 F  t' x+ ?; f/ O" r2 h#include <tc/tc_startup.h>7 O9 {! v7 N, |! V& ]3 ^( f  w
#include <tccore/aom.h>
6 Z8 s6 J& h3 V) p9 E3 @0 g2 l( {0 n
#include <iostream>1 k: g7 W' g4 M' B8 Y" b
#include <base_utils/IFail.hxx>; h' _0 G& c, B
#include <base_utils/TcResultStatus.hxx>
6 R8 b7 d+ l* L1 s% k7 b5 c#include <metaframework/BusinessObjectRegistry.hxx>0 ~( g5 {/ X6 z7 |
#include <metaframework/CreateInput.hxx>! ~- f1 o% {* I6 Q! L
#include <mld/logging/TcMainLogger.hxx>7 n$ G1 s- a9 v7 n) H7 y5 h/ d' ]
#include <tccore/Item.hxx>2 K3 u8 G* C4 {- |8 c
+ V1 t; N1 T) k1 b% h
using namespace std;
4 f/ M& u( G. x& ~using namespace Teamcenter;) J( X( q$ Q6 o+ z, A
using Teamcenter::Main::logger;0 @& K- e! X, A. s! @  ~

6 N% T5 v/ h7 x$ N( I2 dint ITK_user_main(int argc, char* argv[])3 ?* g1 M# l3 U' L* Q, Y/ u
{
- h# h8 m& I4 R: P* F# ~    int ifail = ITK_ok;0 {* n% E' M- i. d
    ResultStatus stat;
) h1 r. W0 s. j$ l  I    try2 d5 b5 j; L; ^# {* x' s( ~
    {
" C( n3 C" ~6 h; m: k) m2 n3 t        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         
$ K" w% `3 K' ~. x8 B& a9 o, u        stat = ITK_auto_login();                                          
8 L* |% d. o3 J. E  u9 G        stat = ITK_set_journalling(TRUE);1 P7 O; x: B: F4 Z6 a* H4 y
4 t7 A" x9 ~- p

4 h; u% P5 w6 q' q        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();4 O4 O* C7 D" `; a3 I
        CreateInput* pCreateInput = - K% k* [# G# |* @
            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
# c6 |' x8 b# E! s' J# @2 o7 h7 b* E) t" Z; ^
        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));" K# G# R6 L( h/ U* Y8 |3 o. b: h
# H# G. K/ r! c
        tag_t tItem = pItem->getTag();
* Y. f1 W/ r2 n' _* t) |9 V- q! p8 P9 r. u1 v
        string sId;- s/ d+ ^1 i( \
        bool isNull = false;
# Q9 L0 I9 M+ T8 [; U8 F$ L( A        pItem->getItem_id(sId, isNull);
) i2 c1 V2 T0 v& V7 I        
+ K9 T3 E- f* p% {        pItem->setObject_name(sId, isNull);
; V3 m% t! d+ r2 @$ c+ w  L6 h        ! k% W0 ]  S- x
        stat = AOM_save_with_extensions(pItem->getTag());
1 e7 y& @4 l  T9 M- E) O" b( H1 ^  [0 z) K1 i$ ]0 M; L1 r- {8 t
        cout << endl << "    ID: " << sId << endl << endl;( I* K# G1 M$ S6 y* ?* b- [& e
    }+ I' G+ [1 E% W* b: ^
    catch( const IFail &ex ); \9 p, q0 o8 r, k/ ~  M+ @, A
    {0 I" O  g! d6 s2 X5 T4 b
        logger()->error( ex.ifail(), ex.getMessage());
4 d/ Z4 W) |# t1 d& V        cout << ex.getMessage()  << endl;( S% V1 [0 X- b8 S/ W; f9 |
        cout << "error " << ex.ifail() << endl;        0 j* V1 ^+ \! [3 |' i6 a
    }, B0 t: q! m. C" N6 N2 Y1 F# O
    const char* syslog_path;0 `8 i/ m! H. \2 s. X9 H
    syslog_path = EMH_ask_system_log();7 ?1 `% l3 w& k2 @. F6 A
    cout << endl << endl;' x1 a+ V- p" g' m5 L4 [4 L; p, A0 T
    cout << syslog_path << endl;
3 T: o7 j* k) E! t/ R. B, h) K% O- s& F) y3 l
    stat = ITK_exit_module(FALSE);                                        4 \- D) X+ ?7 x! B. n
    return ITK_ok;
9 E" k% U4 ?4 G* \: G0 Z7 m}[/mw_shl_code]
+ ^% m; y' s7 \2 ?& e4 a
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了