PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2020-2-8 09:26:33

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

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

x

7 i* D7 B: e7 h* @# L0 \6 [+ qTeamcenter二次开发源码分享: 创建Item Create Item方法
0 i6 h6 E2 m- x- P: S/ q( S
8 z8 J& m& x+ \  L3 n[mw_shl_code=cpp,true]#include <TC/emh.h>$ r- r; [8 A$ ], m0 {# ?5 d3 {# w
#include <tc/tc.h>( W, ]4 U, x2 ~/ Y
#include <tc/tc_startup.h>: C% |7 a- a* [+ K4 W
#include <tccore/aom.h>( Y( Y8 R2 J# M. e  J4 \  }- `  K; N

5 I$ |2 C# q1 n+ k#include <iostream>& I4 P4 l# o: ]' ]! o; h' d
#include <base_utils/IFail.hxx>
8 X( ~6 Y- X4 K! U2 Y  h' y#include <base_utils/TcResultStatus.hxx>: E8 B# q9 V; y
#include <metaframework/BusinessObjectRegistry.hxx>! j  {; _9 j1 }/ Q; D
#include <metaframework/CreateInput.hxx>
5 V( v- @0 z+ C1 ^. @#include <mld/logging/TcMainLogger.hxx>
, q. t/ [! y4 E0 {, s#include <tccore/Item.hxx>
" P$ w& M3 v' `  v' E. T6 t, ^$ M1 y$ |' H  H. d! _
using namespace std;1 E, ~: C9 W* ], q  z; N* g" a; G
using namespace Teamcenter;3 J. _$ ]1 S" A0 u" |( E/ {
using Teamcenter::Main::logger;
( J" A) _' a" o5 b+ k
' [4 M0 U! {, R0 g( G% q8 v! A: rint ITK_user_main(int argc, char* argv[])
9 u  ?4 S# \  D6 ?2 k! P{6 h3 J' T" V- i# m5 _( K
    int ifail = ITK_ok;
$ I2 P; N8 }) d, e) F$ G( n    ResultStatus stat;- k5 H# N7 S) s/ M
    try4 ^3 [3 j3 }/ `
    {
! d, y  Y. O% X( _2 g. B& G+ S        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         
( q; n8 I5 t2 g7 [7 }8 H$ X0 E5 A        stat = ITK_auto_login();                                          ' i; a6 \5 L& n
        stat = ITK_set_journalling(TRUE);
, V5 r) L) A3 o1 S
8 G$ I5 P. c% }
% P7 O% M# o" S; [% z4 J, D( _        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
# }8 ^4 t# o* d: D: z        CreateInput* pCreateInput = 5 ?  c2 s1 A# i: Q, h
            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));. W, [# q" L0 I0 q  M8 G

0 h/ ]! S' g2 S        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
9 _9 y8 v7 ~9 g2 E( u& K
% w3 B. ^0 T$ \9 ^9 k$ W        tag_t tItem = pItem->getTag();. @4 h: K6 R/ }  x) h
9 m1 q- f$ [' o% b7 B# [
        string sId;" O. S$ A) v8 P- m' @
        bool isNull = false;
' ]& i8 N  B0 z6 k        pItem->getItem_id(sId, isNull);7 J2 Q  Z& L5 ?
        / \/ U& a$ y& l1 V1 h- w+ k/ @% v
        pItem->setObject_name(sId, isNull);
  H$ Q* r# v7 ]        
4 v0 M( x4 X6 F3 B, T/ Z        stat = AOM_save_with_extensions(pItem->getTag());
9 ~7 A  o  q7 L9 n. m. \$ q5 t, I! J
        cout << endl << "    ID: " << sId << endl << endl;
4 [$ ?3 p4 x5 `& I/ ^/ f    }
& o6 q9 G. s3 j- D+ G% }# y# u    catch( const IFail &ex )
7 m2 v+ O8 `, c9 Q    {
! j) r# T& q7 \        logger()->error( ex.ifail(), ex.getMessage());) M5 E7 |: j0 n/ h" _1 b
        cout << ex.getMessage()  << endl;
& f# o6 z8 A; ^+ _8 w8 Y0 a# v        cout << "error " << ex.ifail() << endl;        
9 Q& e  {% b/ @! W    }% b0 J5 q0 ]9 Z, |
    const char* syslog_path;5 s4 P8 }7 c; w' L9 Q" v" v
    syslog_path = EMH_ask_system_log();4 u) k* f) ~3 g0 }; H
    cout << endl << endl;
$ d- m  \! ~. `% G# _    cout << syslog_path << endl;
/ W' _, `7 A2 @( m  K' ^  Q7 L2 T- b2 v; u+ v
    stat = ITK_exit_module(FALSE);                                        ( r5 h% E  Y+ t' ]
    return ITK_ok;7 {. _5 W! k5 n% M+ I: l
}[/mw_shl_code]
' Q! y- C( K7 z9 s' f1 n5 `
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了