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

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

[复制链接]

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

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

admin 楼主

2020-2-8 09:26:33

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

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

x

/ e1 o" b7 N6 q6 C+ E  Q; h4 E2 i- [Teamcenter二次开发源码分享: 创建Item Create Item方法) C7 y' `& r1 D2 w8 Z

0 e( K; l* z. ?/ o) x" s[mw_shl_code=cpp,true]#include <TC/emh.h>5 k+ X- K: ~; S8 g& ?: ~, {
#include <tc/tc.h>
3 v6 @- U# i) |' t; A#include <tc/tc_startup.h>3 W7 o1 u2 q: g! y) D1 x( D, }$ n
#include <tccore/aom.h>0 J: E: i/ a  l+ w/ Q3 G9 I% z

* \( I* o* c0 x2 i& z) ?#include <iostream>. b3 V8 l, Z# |4 F1 `- O* P
#include <base_utils/IFail.hxx>
+ {: G# G5 t# e! Z#include <base_utils/TcResultStatus.hxx>" L3 m0 j" ?3 J1 S6 ?1 {
#include <metaframework/BusinessObjectRegistry.hxx>
9 {( l' j- V" {. E  }9 P4 e! L; ~#include <metaframework/CreateInput.hxx>
8 U8 M' ]& p7 \$ [#include <mld/logging/TcMainLogger.hxx>' Z$ b  F+ T2 M5 f' L
#include <tccore/Item.hxx>5 v6 K9 x' F- I% \) \5 X

: k$ ^* s  y* F% x' pusing namespace std;4 |* `6 W+ V1 h/ m; ~) ?" T% N. m
using namespace Teamcenter;
! U! `, ^0 J; ~) s2 I. N! Lusing Teamcenter::Main::logger;
8 J8 p) z8 r7 {) D! a3 B
- z$ E! w9 f+ E: ?1 q% j1 Jint ITK_user_main(int argc, char* argv[])( j7 o: O( \5 S) n
{; x$ q; w' S  c, ^- A
    int ifail = ITK_ok;% W- D' n* s+ L6 O6 z! _0 _
    ResultStatus stat;
" n) A! c, j! U! F8 @2 U    try
, S" b# K0 g/ R( B    {  ~3 T1 W% f  O1 D3 F3 ]
        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         8 O% H! q$ W; G- q8 ^3 @
        stat = ITK_auto_login();                                          . s: N: a2 ~# [( n0 e
        stat = ITK_set_journalling(TRUE);# ]9 J/ j+ J& j/ @( X/ q! \, J

/ y0 h7 Q' J! W5 I& p, d
; G% ?9 H2 Z1 N) l' l$ q) J        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();1 Y  E( s5 `2 ]' T7 u3 i7 T
        CreateInput* pCreateInput = , U- K4 q# j( T- h/ M4 T; V
            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
3 ]! ]4 j: d% s4 r' p* K7 i5 |! F; l( A, o  X* @4 m4 Q) i; Y
        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));! c: A1 V- A' V2 s$ F4 \) U0 o" e' L
6 F6 e  C' m8 R! _& L* p
        tag_t tItem = pItem->getTag();
6 t% l9 g, p" o6 j" Q4 Q) h
! F- i3 n4 P' K- Q        string sId;
/ A$ }4 E0 M7 Q9 C) Z        bool isNull = false;
! w, `3 N+ _; _7 `. `# h5 e        pItem->getItem_id(sId, isNull);: N- i3 k3 ^8 I/ o
        
0 u+ G' A+ }5 p) I5 U7 H0 n        pItem->setObject_name(sId, isNull);$ Z9 n7 v" r0 q0 y
        
0 L0 J2 y! [( Z. N/ G1 L        stat = AOM_save_with_extensions(pItem->getTag());9 R" Q+ D1 X7 t

+ v0 G" s5 W" s* v/ y* G2 S5 D        cout << endl << "    ID: " << sId << endl << endl;) \  N* ?  r1 \+ J
    }$ ]& ^* n8 B( C9 O* U0 s6 J& l) \
    catch( const IFail &ex )
6 x; Y* V/ ?$ v: h. C0 F    {( K; \0 H' {! ?: J
        logger()->error( ex.ifail(), ex.getMessage());# s# b9 I# E) s4 T* @8 P
        cout << ex.getMessage()  << endl;' \" u( f/ S2 Z$ U" p% L8 I+ t
        cout << "error " << ex.ifail() << endl;        * j$ t4 J% n! c6 z+ \
    }
' F( B# \% y$ H" j    const char* syslog_path;
" E# m; B# S. X! a    syslog_path = EMH_ask_system_log();$ s' T: n2 g! r! Y3 Q
    cout << endl << endl;. E2 J3 W$ a: ?+ q# @
    cout << syslog_path << endl;
! w" E. {1 p1 ~( ~) ]$ N. g" }9 H
4 h3 r* U* y% e# I2 X    stat = ITK_exit_module(FALSE);                                       
- ]5 \  c& {2 k( v! _+ e4 u+ x& e& i; w    return ITK_ok;) k; x% O, C& g
}[/mw_shl_code]. J( k8 D5 q$ k+ O) L- I$ b
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了