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

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

[复制链接]

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

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

admin 楼主

2020-2-8 09:26:33

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

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

x
0 y# k& D( M% l. ~
Teamcenter二次开发源码分享: 创建Item Create Item方法, ?4 [7 p. W7 T4 r

3 [" y- ?* m- ?: ?' a+ ^" u" J[mw_shl_code=cpp,true]#include <TC/emh.h>. B/ U! N* x! K. G
#include <tc/tc.h>1 l" Y% \6 F: \& V' t/ r/ I
#include <tc/tc_startup.h>
- S" G2 d- p% Y- j  ~9 `#include <tccore/aom.h>0 e$ _9 T3 @0 M4 X; t- L

4 y2 i2 S1 P8 v" ?# Q! X#include <iostream>
% S0 j1 T3 N- P2 W+ k' l, Q1 C#include <base_utils/IFail.hxx>/ f/ M/ w6 \( y
#include <base_utils/TcResultStatus.hxx>
* D9 D: n. y- F! q#include <metaframework/BusinessObjectRegistry.hxx>
: V1 P7 w- J! k2 H, Q6 y& w/ ~#include <metaframework/CreateInput.hxx>
2 T5 `, V# @/ o, m#include <mld/logging/TcMainLogger.hxx>/ r: l/ K8 }8 u8 D; \# o# o, \
#include <tccore/Item.hxx>1 V0 S  u7 i% P

8 H* K) V' g& `using namespace std;0 {3 o/ M; \" v$ s  X4 k
using namespace Teamcenter;
/ y* R$ k$ N& X2 busing Teamcenter::Main::logger;5 e; ~; ^; e; Q0 B4 z# n
) m# |; W1 J! x% ^" g7 H
int ITK_user_main(int argc, char* argv[])
2 N7 U2 ]7 i0 d! R$ _9 z' A{
9 C7 J& Z& ~" p    int ifail = ITK_ok;/ x0 e/ a) h- M) B8 t) _2 [
    ResultStatus stat;
8 K9 h% K+ K) n* a# c0 D* a    try
9 c* i4 |6 X) _  _, k1 T    {) H+ s0 p& E& s. I9 M% [; K8 f
        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         
4 P+ M" I8 V. s- u        stat = ITK_auto_login();                                          
. P# K7 A8 }; F8 G        stat = ITK_set_journalling(TRUE);
, W5 r. s4 \) m5 {; {
$ B& [2 l4 W6 z2 f5 p& S( g( [* U0 w6 r  |1 Z- j. u
        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
# u$ _+ r# o1 F- c/ Q& a$ Z$ ?% L        CreateInput* pCreateInput = 0 r8 u% A' s* D3 H/ j/ Z  f
            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));+ z6 t7 N) ~: \- N9 K

' v/ C1 t4 ^# h) b2 `        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));: p$ H% N& {; m9 p; W8 C
5 a4 L' Z: E# |2 e; C5 w2 o
        tag_t tItem = pItem->getTag();
- z* t% @7 @1 q1 W7 F8 U7 @+ u
( l$ J' F9 @; H3 B5 F, \" |        string sId;
' a, s2 A8 @: `9 D$ M0 b        bool isNull = false;; I, I4 h" o, ~
        pItem->getItem_id(sId, isNull);
  Z2 D- B5 q# }        
( ^* }4 k8 a4 i: [        pItem->setObject_name(sId, isNull);
0 u: ^6 x6 C8 W9 _5 B        3 g3 P4 }! P" R+ ^) e7 X8 z
        stat = AOM_save_with_extensions(pItem->getTag());5 |# I, x9 |+ T8 Q: g

8 R2 a/ ~' A4 V        cout << endl << "    ID: " << sId << endl << endl;
' w7 p' J0 @& p    }
. K6 v& E( F: }8 x* l    catch( const IFail &ex )5 H' T, k1 w; g! v
    {1 u" R4 V( d: t4 P5 E" s
        logger()->error( ex.ifail(), ex.getMessage());
/ W9 G# h% {  B8 g        cout << ex.getMessage()  << endl;
& F/ W, [3 f+ k* W1 c        cout << "error " << ex.ifail() << endl;        - c7 G+ C+ b0 `' g7 Y0 @  z9 h! q
    }3 b0 s: i% X3 _4 k- M5 |8 W) Q
    const char* syslog_path;
% F5 U$ H5 `( A4 |. q    syslog_path = EMH_ask_system_log();% b* G% l! Q7 b6 X1 u
    cout << endl << endl;/ `* ?0 L+ n2 h. S
    cout << syslog_path << endl;
( J) e9 z5 J& b0 h7 ^5 H0 O# r0 w* L/ ]+ }# d
    stat = ITK_exit_module(FALSE);                                       
4 y/ o" J$ u! }8 ^1 d+ i& u1 a    return ITK_ok;6 [8 @1 w2 [3 s/ f3 z
}[/mw_shl_code]
* E: d. x0 d9 y" e) U( X1 h
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了