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

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

[复制链接]

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

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

admin 楼主

2020-2-8 09:26:33

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

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

x
' H  y$ e& q: `8 X7 l8 y
Teamcenter二次开发源码分享: 创建Item Create Item方法
# l: `1 J$ w3 \2 @3 D9 G  H. k* ^6 o  a& i$ K
[mw_shl_code=cpp,true]#include <TC/emh.h># I5 m3 i7 a' v3 k; [0 u3 K8 h  C
#include <tc/tc.h>
7 V3 m$ K4 c8 p3 X/ N#include <tc/tc_startup.h>
+ u6 |8 y7 i2 L#include <tccore/aom.h>4 P3 j9 G- \% u2 p8 ^
: c; K6 e0 p8 C3 h3 b& `
#include <iostream>
. V8 T: ]0 P0 W$ K$ L#include <base_utils/IFail.hxx>. u/ ~$ }: F: P  W6 h, O
#include <base_utils/TcResultStatus.hxx>/ e4 R6 j% E, |4 w
#include <metaframework/BusinessObjectRegistry.hxx># r+ X' Q0 Z( R2 }" R
#include <metaframework/CreateInput.hxx>% X; n1 B& e5 j; x2 w9 L! A
#include <mld/logging/TcMainLogger.hxx>
/ y' P% ~6 ^' R2 c* G3 G. y#include <tccore/Item.hxx>
; m& K6 j  W$ S9 O* _% {
  z  ?$ Y9 t+ b/ n- x5 L4 f! }9 Fusing namespace std;2 E  M1 e6 X0 j3 j  [
using namespace Teamcenter;
+ O9 R/ P' n' Y& pusing Teamcenter::Main::logger;
) y7 d- N5 `. }7 \; x
0 p  f, Z2 I- y$ I+ sint ITK_user_main(int argc, char* argv[])* ~" V7 G" w2 x) {8 ?# J! {
{! J8 {5 i  @9 @' ^: B" D! p
    int ifail = ITK_ok;
- P' Q8 j  A6 S/ m! [8 Y    ResultStatus stat;( p% b9 V3 F8 c) K( C
    try# T5 b/ T/ i  U: r
    {- x7 J' I# F6 c$ o
        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         : ]! K8 l* N6 u# e4 ]2 F
        stat = ITK_auto_login();                                          . g! P% u1 `3 o& h6 s' _
        stat = ITK_set_journalling(TRUE);% P. k0 N) s4 H0 I
2 B) F0 \' s+ T- ]
$ K* M9 t3 }' C& e7 S3 R" E
        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
, {. l. S" y' I4 q, Z6 ^, ]9 q# a        CreateInput* pCreateInput =
* P% r7 \% u& X* ^& {* e  |            dynamic_cast<CreateInput*>(boReg.createInputObject("Item", "Create"));
  W, @  X, Q; k$ I8 M( p2 ^1 ]8 y3 _2 g7 t% ~% e) K+ }
        Item *pItem = dynamic_cast<Item *>(boReg.createBusinessObject(pCreateInput));
2 z, o! j, F/ ?
) M: L+ A$ s4 u$ _1 y" \) w        tag_t tItem = pItem->getTag();
. {0 a% [( I1 E* x% W& t' T0 n2 o) x- S3 O* k2 D# {2 S- q
        string sId;
) {# o: ~$ s, ]! }        bool isNull = false;
0 A+ j2 b( _$ {5 q$ v2 F( u        pItem->getItem_id(sId, isNull);( s& l  L( S- F; d5 O8 e. P% o5 _
        5 m3 {8 j; `! C. ~' a
        pItem->setObject_name(sId, isNull);
. S1 f3 q4 G! Z& c/ h        ( ~! d9 K& j8 U, f6 n: U
        stat = AOM_save_with_extensions(pItem->getTag());! J; j: W* Z' W* q1 ]# M& q

) L. M) S3 L$ \$ P" h, a        cout << endl << "    ID: " << sId << endl << endl;
; F) f3 j0 @$ Q7 o% v0 q    }* y& O) ~' ?* R% p
    catch( const IFail &ex ): |. S6 ]. O: `3 u" H! i( Q7 C5 z
    {
9 \3 F. h. ?# O6 h) w9 ^0 I        logger()->error( ex.ifail(), ex.getMessage());
; N( H( q. A! H5 e* Y8 M" h        cout << ex.getMessage()  << endl;4 ^- m7 M5 y% c0 m+ ?
        cout << "error " << ex.ifail() << endl;        - }0 O" ~4 f7 @
    }
/ @+ g6 z, k- J' k; A# Q    const char* syslog_path;
- L9 t! u( h3 J) f& a    syslog_path = EMH_ask_system_log();! d: N4 Z: o4 ]
    cout << endl << endl;- ?6 ?' N3 u% V# V: ^: o
    cout << syslog_path << endl;) U+ f2 [, c8 P6 ]2 N; ]

! M# K* t  [2 c0 y    stat = ITK_exit_module(FALSE);                                        ! [  @# |* @3 {5 V  P# R
    return ITK_ok;% t- X( }8 U2 u: x. o3 V+ F5 Z
}[/mw_shl_code]
7 q- r2 [- q) e8 [9 R
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了