PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

Teamcenter二次开发源码分享: Revise 版本 升级版本方法

[复制链接]

2020-2-8 09:27:38 2859 0

admin 发表于 2020-2-8 09:27:38 |阅读模式

admin 楼主

2020-2-8 09:27:38

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

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

x
) s1 X4 t4 x; a6 s, U& B
Teamcenter二次开发源码分享: Revise 版本 升级版本方法$ k6 T! e+ S$ a! x& u* @* l  t, k

7 b' A% \; C& }2 X
5 K& |) m, K, t  f2 \8 W- l4 @7 z: o6 H[mw_shl_code=cpp,true]#include <TC/emh.h>- p4 I& ~- o2 u
#include <tc/tc.h>
( K- R1 t8 ^7 O& g8 y- ^) K#include <tc/tc_startup.h>
6 i6 A5 d' g* y& d#include <tccore/aom.h>) T6 `% y7 A1 r6 V" p& u# {
#include <tccore/item.h>
3 R& N& _( Q* D% L3 r3 e3 ?% N* n# I6 s
#include <iostream>  n0 |4 ]- f2 _) D: V
#include <vector>+ {+ M) e; r& }5 e. G+ e2 k, j
#include <base_utils/IFail.hxx>5 Z5 L: \' b3 I* w  u. Z
#include <base_utils/ScopedSmPtr.hxx>
* a& c3 I: m( a& ~+ G#include <base_utils/TcResultStatus.hxx>- i: z7 W8 T" q3 |- W3 L6 T4 ?
#include <metaframework/BusinessObjectRegistry.hxx>
" ]# X! s$ i; c) _+ P' q#include <metaframework/ReviseInput.hxx>
$ I& ^8 n9 x( i/ z0 ^#include <mld/logging/TcMainLogger.hxx>9 G, i  T, K( U! f
#include <tccore/ItemRevision.hxx>
5 ~' K7 Z% m  k#include <metaframework/BusinessObjectRef.hxx>4 i! ^9 [- m) |4 Q0 S6 @: T6 h, K
#include <metaframework/BusinessObjectRegistry.hxx>
. k0 Z8 G% W& K. w7 }/ Z#include <metaframework/ReviseInput.hxx>
7 R+ L1 q+ v- c" g$ x( K  P$ q% q: e7 C( r+ ~* G# G3 x, X
using namespace std;
! A' u& S, S/ fusing namespace Teamcenter;( k( l* j: d( d+ T' G- Q6 O
using Teamcenter::Main::logger;
0 B" ~0 U2 ~" j  x( c% L. V
& V3 S" \$ I- _8 V1 K) ~3 Gint ITK_user_main(int argc, char* argv[])7 Z5 S: L5 E3 u' o8 [, t5 T  z, m
{( D3 |# j. W* h' q1 }6 A1 z
    int ifail = ITK_ok;$ i7 w" B; S$ k  w9 m! }
    ResultStatus stat;8 d! W! M" C$ H) X1 c% G
    try
+ t. U/ ^. I+ R4 P    {+ J' P0 C; ]2 H7 x$ M  Y# T7 i
        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         
- ~! ^9 S/ G0 w6 Z        stat = ITK_auto_login();                                          9 A1 Y) W# {) T7 a
        stat = ITK_set_journalling(TRUE);
+ O1 g6 `3 N/ i: _$ y        ; n. g7 K* t0 |. E1 F7 M/ x
        char item_id[ITEM_id_size_c +1] = "0000000";
! D' i- Z, @& P- Q+ b2 r% i0 ~        char *i = ITK_ask_cli_argument("-i=");/ i! K1 U+ s3 G% D
        8 @5 N! a" U8 s( {
        if (i != NULL) strcpy(item_id, i);
# x% }$ l1 I5 ?; K% {0 B2 D' i        cout << endl << "    ID: " << item_id << endl << endl;
3 j/ N9 ~7 j; k: Q  n5 g        % N7 `: P' D4 w; z
        tag_t tItem = NULLTAG;
$ K: f. P9 G9 e; F: ^        stat = ITEM_find_item(item_id, &tItem);
3 j" p0 ?. i& b" ^0 M/ @
% ?% E/ J7 z& V; l, a1 i. m, Q9 |0 N& ]        tag_t tLatestRev = NULLTAG;
+ q0 Y& _5 R7 j0 ^$ Z$ C& B( c) D        stat = ITEM_ask_latest_rev(tItem, &tLatestRev);
1 n, t, l. `. k4 K& v" J& v' N: p/ b2 @$ s/ r8 T
        char *pszType = NULL;1 s, T" t) B/ b
        stat = WSOM_ask_object_type2(tLatestRev, &pszType);
1 @, J* Z- m+ S. w# P2 ~9 [& ]* Y$ o& U
        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
  f! u* P2 y- W% c        
$ L- s) P) b1 H2 L7 ^+ |        string revOp = "Revise";4 s+ ?# T( j' p/ V
        ReviseInput* pReviseInput =
& f8 U* T1 x% `3 C2 B: a% U! f: G' t: `            dynamic_cast<ReviseInput*>(boReg.createInputObject(pszType, revOp));4 f2 R& c: l3 w

, b6 j' R: |  v        BusinessObjectRef<ItemRevision > boLatestRev(tLatestRev);7 _, Q+ D3 O" ^$ U* C7 Q
        
& f. [4 X' o* y. x0 r% z' {3 G/ h        vector<Teamcenter:eepCopyData* > deepCopyData;
" w, X) q- Q0 N2 h        boLatestRev->getDeepCopyData(&revOp, &deepCopyData);  Y4 u2 ^* H: Z3 F9 X. v
        
% }; f# T; Q5 [) h( _        pReviseInput->setLogical("performDeepCopy", true, false );
' s0 i6 ^$ E( @6 v% L* _" u        0 |" S- d+ f; i) H  p
        tag_t tRev = NULLTAG;/ S% W$ B- g7 @( o8 {
        boLatestRev->revise(pReviseInput, &deepCopyData, &tRev);* q. ?! n% [9 A9 n
8 L8 ?- z2 p8 G
        stat = AOM_save_with_extensions(tRev);; ^2 b0 N8 q9 t2 M; u% Y
        0 x7 i$ ]/ a9 M, c1 o
        char *pszId = NULL;
1 ?2 r( O9 @$ ?        stat = WSOM_ask_object_id_string(tRev, &pszId);2 p" d0 [, q- ^" z) c, s3 i& J
        cout << endl << "    Object String: " << pszId << endl << endl;# Q# \! W8 n4 e! U* h2 s5 s
        ; Q, ^& I" k$ r+ @3 `' d
        if (pszType) MEM_free(pszType);) I! W( G  M- v- H5 A# I
        if (pszId) MEM_free(pszId); # a) B' @9 B7 o
    }/ D2 M5 I1 Y* a& n7 |6 b# g4 ?2 h- g/ h
    catch( const IFail &ex )
& }1 p" c2 J8 U/ b6 I    {
6 f( \2 J, K% i7 n9 M; q        logger()->error( ex.ifail(), ex.getMessage());& ~# c2 y6 F5 B$ _' v
        cout << ex.getMessage()  << endl;' m, z( Q+ v& V& c) H( [7 U
        cout << "error " << ex.ifail() << endl;        
( B$ t0 X: C. Q    }/ w4 ~  r1 m& O5 J- o! f& `8 s) K* Z
    const char* syslog_path;
" [" u! I" D+ ^/ j2 O/ a/ A    syslog_path = EMH_ask_system_log();
+ t9 A5 f; `& j* b, v/ H    cout << endl << endl;
& t$ K$ o. P8 j! c2 ?    cout << syslog_path << endl;3 C6 E$ x2 F, |4 \( Y
! x2 f) t% i3 U6 C8 U  m
    stat = ITK_exit_module(FALSE);                                        " t& n! u% K' Q7 }
    return ITK_ok;
+ ^, k. }( Q$ l+ I, w9 F2 Z6 w6 J0 w}[/mw_shl_code]- c, C0 `* h9 a( A  c  e9 C* Q
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了