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

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

[复制链接]

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

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

admin 楼主

2020-2-8 09:26:33

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

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

x
% m" i3 ]) b+ i4 f
Teamcenter二次开发源码分享: 创建Item Create Item方法
; \/ e/ O9 E2 }; P. V# n# R) W+ H; Z) t- b+ j* p- `* S3 d
[mw_shl_code=cpp,true]#include <TC/emh.h>
; p: ?: W0 ?/ e$ I0 I#include <tc/tc.h>
! x6 Q+ Q* f8 z) G' p4 K#include <tc/tc_startup.h>
7 i# G/ d, W; r#include <tccore/aom.h>
; O/ X* S) \8 H6 O) u; \0 u6 q$ N- X2 J5 v# n: b
#include <iostream>
$ z: Q$ W5 U7 `) s/ i#include <base_utils/IFail.hxx>9 ~  I/ @% ~( E6 ?+ ^( U
#include <base_utils/TcResultStatus.hxx>
7 _% X& T+ I( C& L1 S#include <metaframework/BusinessObjectRegistry.hxx>
6 [* a" b% c& A; M& x3 T2 e' p#include <metaframework/CreateInput.hxx>
) A' X( s/ e# D5 h6 v% X9 v/ z#include <mld/logging/TcMainLogger.hxx>6 A. A- e7 d" f' X6 v# I5 f
#include <tccore/Item.hxx>1 }. {6 I% C. a6 S$ D0 F
, O) W8 o7 y1 r; f3 z
using namespace std;
8 W, Q2 X& J' ~& M2 ^2 O6 J0 }9 jusing namespace Teamcenter;4 ?9 A! s! v, d* x' p6 U9 L
using Teamcenter::Main::logger;1 g% |4 f! n7 [4 F9 Q# H  C. A

  ~$ V, E3 W5 p5 \, |$ |int ITK_user_main(int argc, char* argv[])
7 r1 [  m% u" h5 k  f6 c5 ^{# r, v, }/ {5 t, x! I4 X0 o' m$ j
    int ifail = ITK_ok;. D2 h- X3 H5 E3 w7 o$ g+ T1 _* ?
    ResultStatus stat;
5 s3 e1 _- E+ g3 B    try; t, D" n* i+ j, c2 u
    {
4 z/ g- o5 z* B        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         ( b: K; E% v+ X, c$ I
        stat = ITK_auto_login();                                          2 i3 k, W+ _% ?9 A( D1 Z
        stat = ITK_set_journalling(TRUE);
0 B0 _8 k- U4 B, x  T
/ t, B, j- f& x. E" e$ c4 E3 X& H. e1 u0 J5 @. |' C
        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
! O6 f8 u# R% C1 i        CreateInput* pCreateInput =
. H. B0 a6 q, O. ]0 Y            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));  u, Z5 P. N  n: I

) ~1 N8 L2 n. R        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
3 a* b6 C' I. N; e* r: o
/ w: D( k1 |0 J7 m# K2 I        tag_t tItem = pItem->getTag();
0 L4 q2 c8 Y- C9 G; Z' }& Y( Y/ j3 I2 _  l2 S, L  O
        string sId;( m6 n: {. y( C  R' \) X
        bool isNull = false;
1 b# o, g$ u& d/ Z3 L4 T9 C* B9 z, D* s        pItem->getItem_id(sId, isNull);8 ^& e2 b( S. @- @5 R  F
        : N* G) g0 l: ^' D+ }0 W7 X; D8 W
        pItem->setObject_name(sId, isNull);" m; Z  ]7 v1 g+ i/ Y
        " {$ y- k* p( t$ R- N" H
        stat = AOM_save_with_extensions(pItem->getTag());( y9 Y' E+ C7 q: ]0 @
) b: A" A. N6 i, ?4 l
        cout << endl << "    ID: " << sId << endl << endl;
. N# {: H* m% f" t, G    }8 O6 m. U$ D1 m+ E( j% {+ ~
    catch( const IFail &ex )  K/ H0 e: g/ {3 _& i
    {
, L5 z1 O# i  r" L" O% E        logger()->error( ex.ifail(), ex.getMessage());
! t/ \% R* ?4 R        cout << ex.getMessage()  << endl;
+ ~4 ~/ r0 r# s0 i" k) S        cout << "error " << ex.ifail() << endl;        . Z; t. B- C9 l$ A) ?
    }
1 {+ y( M; u/ |/ r    const char* syslog_path;! C' |6 u) w& H
    syslog_path = EMH_ask_system_log();
9 g! F3 H2 f% x; t1 N8 Q$ J    cout << endl << endl;
9 k4 D9 u7 q1 M: j8 p" ?$ ~" ?2 _+ l    cout << syslog_path << endl;8 J( T$ X* T: M; {: x+ T: x* Z

/ h+ q. E7 C& R    stat = ITK_exit_module(FALSE);                                        # Y8 p6 J  v" J' D
    return ITK_ok;
& `# O0 y+ B$ Q; b}[/mw_shl_code]. B2 G0 k+ _. B$ i" @
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了