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

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

[复制链接]

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

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

admin 楼主

2020-2-8 09:26:33

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

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

x

4 c! X) E& U8 }  ^( J8 tTeamcenter二次开发源码分享: 创建Item Create Item方法
) U- E& z' f$ i5 f. D3 Q) D6 [. w& C( i
[mw_shl_code=cpp,true]#include <TC/emh.h>
* P* p. O1 l# l, y  p" ]  U#include <tc/tc.h>
4 t- o# f8 w5 Z7 M; m#include <tc/tc_startup.h>- ^. F& Y9 `0 {3 o( r& s6 L! |1 g
#include <tccore/aom.h>8 |( I- ^; C* _5 c& \2 Z7 K

7 O3 y/ d1 s8 l) _% l#include <iostream>) v$ g8 T3 p# s! {- ^
#include <base_utils/IFail.hxx>. y. \* s6 E6 e7 j' H( ]& i! ]7 S
#include <base_utils/TcResultStatus.hxx>
8 X9 _" e& i) y. X# i#include <metaframework/BusinessObjectRegistry.hxx>
( [* y  v! o6 A! j% |#include <metaframework/CreateInput.hxx>
4 q$ D* ]! P7 u& F#include <mld/logging/TcMainLogger.hxx>
5 e4 r3 J! ^9 x' ^- Q#include <tccore/Item.hxx>
! q7 ?9 e/ [! H6 J2 b/ z/ i' N9 S. {8 ]9 o. X& ~0 J+ d
using namespace std;
( ^- K: l5 ^: o3 F6 ]0 w6 {' Tusing namespace Teamcenter;
* @  j' ~0 N5 S3 T% Q, w2 fusing Teamcenter::Main::logger;" e) D, s0 q( W
& F+ J+ U. U# }2 s+ R
int ITK_user_main(int argc, char* argv[])
' E" f! e7 k, S  y) n/ W5 C5 |{. u* M) t; L  Z' v. {
    int ifail = ITK_ok;
  n* o( o- T" I* O    ResultStatus stat;
! J7 C* a7 v  k$ E) q& B4 w    try
/ V, z* w; v# y  N    {
9 E0 w8 Q$ R: v+ h2 i6 K' @        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         ) h) H( [, g& [: M
        stat = ITK_auto_login();                                          * p1 e6 m7 i( K
        stat = ITK_set_journalling(TRUE);
) H- ?# K  V% r9 n9 g* Y6 |5 z8 W: U7 c- X
5 J: H9 ]1 Y, N. C
        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
$ }. T( K* x, d% d, D0 X4 `        CreateInput* pCreateInput = ( n! P# }- I8 T9 a' @6 N& ^
            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
" g% a  p& u) s
+ H' L/ y; f! r5 Y        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
$ ^) T* t5 Q% _0 x8 p
1 v. A! {8 T6 u* t        tag_t tItem = pItem->getTag();+ ?5 n' m+ D% }! _# r! |9 j

; D% x: R3 I" w        string sId;
' E' n  X' ^0 A; o4 T7 Y        bool isNull = false;# b$ f' d+ K, T( u
        pItem->getItem_id(sId, isNull);
# V* x4 H; D' B) H6 m! D% }        
  Q/ g% Z" X# v# @4 d        pItem->setObject_name(sId, isNull);
0 X" p" x- I+ K, U! |        
4 K7 f- ~% i3 I, X0 ^- {* D        stat = AOM_save_with_extensions(pItem->getTag());2 G+ b! u  Q: y) ?+ m. ~

" O1 i5 J$ S+ V. {5 o        cout << endl << "    ID: " << sId << endl << endl;8 g+ _- f* k' [1 ]+ {, ], Q" t1 U
    }; }2 e0 C/ a1 D) u! z- i
    catch( const IFail &ex )- N. K" H- p, O* n/ V# a! L
    {
4 o# U" p# ^  `4 Y* ^1 @. n        logger()->error( ex.ifail(), ex.getMessage());
1 o3 D* q" A* L; Y- X        cout << ex.getMessage()  << endl;* U% |1 @+ S; H. M+ G2 `2 s5 y
        cout << "error " << ex.ifail() << endl;        
( j9 O. Q; e% ?, p6 ]8 R: Y    }
' w, L2 Y  e4 B$ I7 t4 j    const char* syslog_path;, C. \' h" b: Z( l; X
    syslog_path = EMH_ask_system_log();
: }6 [; R7 o5 @2 s( Y9 T    cout << endl << endl;
* i9 F1 a+ U8 v  S& W    cout << syslog_path << endl;& x' V  f8 m  v
0 a2 L/ l  p& B8 k" Y! w2 h6 y' L$ s
    stat = ITK_exit_module(FALSE);                                        0 E  q" n4 p7 G" y4 A
    return ITK_ok;
$ G( e% L& |. I. G3 U}[/mw_shl_code]% V2 V; E; p5 P" T7 U
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了