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

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

[复制链接]

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

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

admin 楼主

2020-2-8 09:26:33

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

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

x
! j% x! g6 W8 @" B* e' E
Teamcenter二次开发源码分享: 创建Item Create Item方法" t3 p  d; f% r9 K. ~3 f

) [: N4 f2 v2 O: c* T6 x: ][mw_shl_code=cpp,true]#include <TC/emh.h>
: R, a" [; o9 D4 f$ Z# c#include <tc/tc.h>! E3 L; c) q, g. k, V" d
#include <tc/tc_startup.h>  j' B" U- i5 B5 B3 d
#include <tccore/aom.h>
2 W- i& ~# m* t; d, i/ u$ u' p/ M2 F5 p
#include <iostream>& @! L9 c7 |0 ~6 v
#include <base_utils/IFail.hxx>/ G& H) O6 T! R; a0 {6 O
#include <base_utils/TcResultStatus.hxx>
' X  f9 P' |  e! t4 E) x8 c/ D#include <metaframework/BusinessObjectRegistry.hxx>. j+ d  }/ O6 T2 P7 g
#include <metaframework/CreateInput.hxx>
4 l; B( Z* u' p#include <mld/logging/TcMainLogger.hxx>
9 X  f, f8 O6 a5 q$ N#include <tccore/Item.hxx>
" y( K9 _- _$ D. k$ s8 \, l6 T
3 T, W2 z" K1 A9 Y7 f7 ^using namespace std;9 c( |2 f5 n+ ^' b  ]  b+ V. U
using namespace Teamcenter;' s( Q+ `8 E/ D: j1 W) c, B- ?) S
using Teamcenter::Main::logger;( N8 _# }/ L9 s+ K1 a; P

/ m/ r! S* o+ Pint ITK_user_main(int argc, char* argv[])
, j6 L, T. O2 D7 R" S4 ?{, x- X* W( f5 ~/ o
    int ifail = ITK_ok;
7 m# `) C. }) e5 G( \9 u' _  D    ResultStatus stat;6 Z% ~" j. r& H4 N4 F  S$ J
    try8 u! q* z2 e9 O2 I4 O2 w
    {( w2 C- e  s3 d5 O
        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         0 B& d& C- i- l9 {4 M1 y
        stat = ITK_auto_login();                                          
- X; {( {3 U2 F$ V) C, X        stat = ITK_set_journalling(TRUE);
/ a# d8 K. [2 t/ S
' k$ r9 \" }( w. Z/ M# b3 `( F5 |$ F& z- s+ z5 u" r: r/ O) U
        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
# n+ X( [: Q& e        CreateInput* pCreateInput =
1 c" X6 R% R: J9 N            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
6 t. N4 ^$ r# C7 c
, E- n6 w; s$ z* m; [" p        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));2 G6 g' B" B' h; L

4 n1 _. \: ]+ ]0 F& ]/ H        tag_t tItem = pItem->getTag();/ g$ Q& S5 C  s2 |
, S; b& @  t7 m' h  M; z
        string sId;
. ?; n2 p  ?( a& C- B: u8 A: N        bool isNull = false;
2 I) ^8 b9 J0 f4 V2 K2 h; o        pItem->getItem_id(sId, isNull);- C! q( H1 z! V
        3 v# `- T8 ?+ b6 {$ c
        pItem->setObject_name(sId, isNull);
2 D8 D$ ^  w7 Y7 M$ l% i7 O/ Y, Z        
/ j$ j1 t- C- S7 D; U: T- G8 A, {        stat = AOM_save_with_extensions(pItem->getTag());
& a' c6 V; P. B# q2 h( b+ ]$ p# `+ P
        cout << endl << "    ID: " << sId << endl << endl;& o0 u7 K8 A3 _4 I
    }
( q: q. s: j1 u( M  F* y+ R    catch( const IFail &ex )
# |/ o- Y3 l* n, N- {    {  c2 S! N/ Q6 i' Z* h
        logger()->error( ex.ifail(), ex.getMessage());
/ r( ]1 }( j! ^) R5 I2 R        cout << ex.getMessage()  << endl;0 ^! F+ G9 q. A0 u' B& Y
        cout << "error " << ex.ifail() << endl;        
  e( U% N! `  R    }( H( L3 P, A4 S' e- y. N' i- c
    const char* syslog_path;
0 x6 h" _) f6 k6 F    syslog_path = EMH_ask_system_log();
$ t/ a& j( T3 {    cout << endl << endl;, n; A, d# E4 F) j3 y
    cout << syslog_path << endl;0 ~3 q4 s5 P- Z3 K1 y9 k' h3 d8 E

( V2 v! c" H  |9 N    stat = ITK_exit_module(FALSE);                                       
& J/ m, q4 U, N* @4 ~$ T  R    return ITK_ok;3 ^/ `& b& O1 _7 ~. ~2 S0 e# z
}[/mw_shl_code]
5 W6 _- I' @" E
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了