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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82172
QQ
发表于 2020-2-8 09:26:33 | 显示全部楼层 |阅读模式

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

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

x
% f8 h5 j  C$ \& B4 z. }: t3 \
Teamcenter二次开发源码分享: 创建Item Create Item方法& x0 y; t7 Z1 s  H6 ~3 W: H& r

2 ~0 P( g1 U; n' r- U$ r[mw_shl_code=cpp,true]#include <TC/emh.h>2 S) J7 S5 |0 q/ Z9 D' c
#include <tc/tc.h>- a! O1 n7 ?% T& J+ ?  ~
#include <tc/tc_startup.h>' r; m) o3 y5 V
#include <tccore/aom.h>
5 d) ?9 E5 L4 z. |2 O% G  [4 }7 n0 Q7 V( g5 f5 i# _, _) R: ]$ C0 F
#include <iostream>, E' [5 m0 |7 z
#include <base_utils/IFail.hxx>+ s# X" ]) A& u/ m) o) b5 D& u8 r3 E
#include <base_utils/TcResultStatus.hxx>
* c6 O' Z- o' b0 Z. {6 g#include <metaframework/BusinessObjectRegistry.hxx>4 ~* G0 s* W" O
#include <metaframework/CreateInput.hxx>! `! H7 m( s3 N7 D( b0 j, t) g
#include <mld/logging/TcMainLogger.hxx># `. {: U/ p( Y! |1 Y
#include <tccore/Item.hxx>
5 O* f# T) Q( `( G# H# H0 i( |* g* C
using namespace std;- \1 C) u5 ~  I# i3 Z$ A
using namespace Teamcenter;
# H+ G+ X' g% [using Teamcenter::Main::logger;1 i/ Y- L4 z9 g% @) Y& ~7 n
) o( _4 v/ t7 x# [
int ITK_user_main(int argc, char* argv[])0 t! d3 Z2 X% k: d- x
{
2 h" M3 b. `& I$ w: |" s6 s# V3 J    int ifail = ITK_ok;0 u& J1 N, p) }, x% a! B! z
    ResultStatus stat;. B/ v+ c7 S7 b8 p3 c& N
    try
3 I" u/ C6 P& A1 e+ f' b+ l    {1 I/ a0 s5 t* M/ k( |1 {8 l
        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);           N2 r! O! f; a+ l9 r
        stat = ITK_auto_login();                                          8 j2 b% Z3 }) _( E
        stat = ITK_set_journalling(TRUE);9 W& I  ^" o# l3 u" F, N8 q: `

: @$ }9 W1 W: x
; R, g+ r9 |% h0 C        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
' Y3 y% G) F7 ?' \' v% N        CreateInput* pCreateInput = 5 h& w! v0 Y2 h% |4 U. q( c  i" \5 B& ^
            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));% U- G/ u% m3 y/ B5 j

! S  [; Z, V$ N" s        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
& X5 l4 Y- N$ d( w. C5 C; j6 Y/ R  r' ~& _
        tag_t tItem = pItem->getTag();
% l: K  }4 S( K, [/ Z/ N
+ \5 w4 U6 o) Q& t, H        string sId;5 j5 I3 l9 c7 t* C8 W% R
        bool isNull = false;2 c2 V! v8 n# o8 z& [% C
        pItem->getItem_id(sId, isNull);6 F0 u0 F6 E. |+ P
        * F' V9 q" V$ }3 Y  d  s
        pItem->setObject_name(sId, isNull);1 {5 m. \4 c5 b3 b8 S
        / E/ y" F6 k! M
        stat = AOM_save_with_extensions(pItem->getTag());
2 W5 o' [# F9 p* C& @6 Y- P  S3 o" D7 ^" U
        cout << endl << "    ID: " << sId << endl << endl;
: x$ p, m5 j& \6 H* N8 r    }
3 L- n! N: J$ r) D, z! z    catch( const IFail &ex )
$ d, A3 [! w" Q; g$ B4 T    {" h4 ]- y# O* i1 R: o$ H
        logger()->error( ex.ifail(), ex.getMessage());/ u4 Y  i7 G/ |$ C# [8 C, G1 q
        cout << ex.getMessage()  << endl;; x" \4 B2 }7 V0 S$ M3 r
        cout << "error " << ex.ifail() << endl;        
) g( ^& L! z: y4 h' T# f' S* C" j    }
6 ~5 e# U1 P- a$ \: g    const char* syslog_path;
: L+ c: G/ |' {9 u1 {& u    syslog_path = EMH_ask_system_log();2 B; ?+ y2 y. t4 P* |
    cout << endl << endl;% B: q0 T1 J' @  u6 \
    cout << syslog_path << endl;
' W6 x: r( e) @
* ^1 H' b. k+ P  |    stat = ITK_exit_module(FALSE);                                        # ?' D$ s# I( s) f$ G
    return ITK_ok;# ]6 s8 X! @, `& Y& Z2 Y1 T8 D* g
}[/mw_shl_code]
5 E2 A  m5 K3 k$ b. W
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了