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 2843 0

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

admin 楼主

2020-2-8 09:27:38

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

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

x

9 h% B* J0 ~, STeamcenter二次开发源码分享: Revise 版本 升级版本方法& [% K! V8 N* {8 I

% @, F3 e2 F: m0 C' ^/ [0 y: P; q, _7 y2 z% \/ S
[mw_shl_code=cpp,true]#include <TC/emh.h>
1 L6 P* G7 `  s- q+ C4 @#include <tc/tc.h>5 S/ V) K9 j) g( V# \0 a/ W5 P
#include <tc/tc_startup.h>6 G+ }7 A  N! ?2 Q; N9 X
#include <tccore/aom.h>; O, ~; P0 W( `) H8 p6 E" v
#include <tccore/item.h>
, B5 j3 q5 [# g+ u8 z
+ Y2 T  T+ ~- f2 J3 n#include <iostream>+ ]* Q1 B* n0 q+ D. i, U9 t
#include <vector>
+ p& `& y8 b! e% U% r#include <base_utils/IFail.hxx>
; `, C# ]& H: t  [' ~: |#include <base_utils/ScopedSmPtr.hxx>
6 U' r# D) B$ P0 h#include <base_utils/TcResultStatus.hxx>
) ?2 H0 s; R* u% e: ]#include <metaframework/BusinessObjectRegistry.hxx>0 t1 {7 [- T( u1 g
#include <metaframework/ReviseInput.hxx>" F) L* P7 l2 s9 c1 C
#include <mld/logging/TcMainLogger.hxx>3 C- P4 I) _, O1 a5 \! q
#include <tccore/ItemRevision.hxx>
0 ]$ U' k+ \" A/ F9 y4 t9 d#include <metaframework/BusinessObjectRef.hxx>3 p: J1 C) N3 B: B$ X
#include <metaframework/BusinessObjectRegistry.hxx>
1 |  e2 ~% `2 \% [% z9 U#include <metaframework/ReviseInput.hxx>
# K4 ^) I  V: X$ {
# n& {2 |  H3 X$ q3 h) y/ }using namespace std;
3 Y+ B: F' r; yusing namespace Teamcenter;
1 o3 y  }/ A) w* B& musing Teamcenter::Main::logger;0 z# J( M* l' x
! C" q1 u3 X$ M6 P& }" ?  x. c
int ITK_user_main(int argc, char* argv[])
; C2 d. J3 A' B7 ~/ Q0 l{
( e! B7 a3 G7 O$ O$ ^; v! r    int ifail = ITK_ok;
# K* H, a) R. L$ C    ResultStatus stat;
* {, a! }6 S  h% r/ i1 {& }) [0 e6 w    try
! `" s; [6 T; g% a" \# E. ~    {
' m9 @- _% D- @2 G* r2 T' Q        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         " k, h, U4 W! p$ S4 y' t0 t
        stat = ITK_auto_login();                                          
. c. }) ?# Q# C! S6 @1 ?# U        stat = ITK_set_journalling(TRUE);8 L- B% r) N  S7 H) j
        
$ U3 w! M8 P- b1 ?$ a5 s5 z- d        char item_id[ITEM_id_size_c +1] = "0000000";
+ R8 W2 E% O* {  z: \4 e        char *i = ITK_ask_cli_argument("-i=");# s  Z. [- d0 b* b7 F; ?
        
* x: K. X# b' Q  U        if (i != NULL) strcpy(item_id, i);
0 a: u3 J, F( R' l" h% I( {        cout << endl << "    ID: " << item_id << endl << endl;
1 u+ L5 s4 O. p; r7 {9 j        ! o% \5 W* A: [+ N# ^- N% C
        tag_t tItem = NULLTAG;
2 }. B$ O; |8 V* s, n        stat = ITEM_find_item(item_id, &tItem);
+ k# F3 T) S4 f! H
4 w+ N  c2 L' b. P+ u        tag_t tLatestRev = NULLTAG;  J% D$ i$ [- @' D' K- v( N0 ~
        stat = ITEM_ask_latest_rev(tItem, &tLatestRev);
  f) u! b6 C4 r& S" w: ^3 ]& j4 M( O$ ?
2 `! Z, r9 s( z        char *pszType = NULL;
  n8 \0 j( \7 X8 q+ a' Y' C        stat = WSOM_ask_object_type2(tLatestRev, &pszType);
6 R: s! k& ^" }1 z  V& _- t' v, N0 Y7 h/ }5 O) N" ~! n
        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();
; D5 I1 |* Y: @5 Y        
9 {* q+ |9 \+ [8 g9 e        string revOp = "Revise";/ o( d4 ~5 T8 v2 v0 V3 `& n4 B
        ReviseInput* pReviseInput = & `% }2 ^+ M$ [1 C7 l
            dynamic_cast<ReviseInput*>(boReg.createInputObject(pszType, revOp));
, C; |0 g0 G# M$ c; k' i# z# l$ @) [6 t+ O  C0 _
        BusinessObjectRef<ItemRevision > boLatestRev(tLatestRev);
( n) p9 `: j, \5 j# a' C' p5 Z        
1 o8 a- d1 k; e! a6 B: @6 F  I$ P        vector<Teamcenter:eepCopyData* > deepCopyData;- B4 f# T* j" o  ~
        boLatestRev->getDeepCopyData(&revOp, &deepCopyData);
( k- B0 ~/ `8 @& b) s        ( f4 t) N  z+ C& }* q& B5 d
        pReviseInput->setLogical("performDeepCopy", true, false );$ |, l1 O9 b& s# J: i4 V; {3 Q
        : U5 m) o$ B& ^6 ~: F( B7 i8 U
        tag_t tRev = NULLTAG;
; T* h8 A5 f8 ?" }$ ]        boLatestRev->revise(pReviseInput, &deepCopyData, &tRev);' c; g9 o3 W- S3 \4 V

  H. }3 Z2 N  v1 T' X        stat = AOM_save_with_extensions(tRev);
% T$ r/ ?" o8 P        , h; ]9 M3 V- ]
        char *pszId = NULL;: d. C$ l# u) J. H
        stat = WSOM_ask_object_id_string(tRev, &pszId);
8 y+ I0 J. s. ?& V        cout << endl << "    Object String: " << pszId << endl << endl;( l, y# R; _1 x/ y7 X# l
        - P) X3 s2 J- m! X
        if (pszType) MEM_free(pszType);
0 z2 E, x+ @8 s9 F: X: ?+ m2 }; V        if (pszId) MEM_free(pszId);
7 n. s9 x* z2 V7 X* x    }
; Q! {0 J" t6 [4 l    catch( const IFail &ex )
) H5 G, L' ^8 f' u7 ?1 N3 c    {- N7 ~& T2 {7 j1 C
        logger()->error( ex.ifail(), ex.getMessage());5 f8 s" i4 O9 l- ~- i- ~
        cout << ex.getMessage()  << endl;- V4 G4 I% S3 F4 u) s1 H* S
        cout << "error " << ex.ifail() << endl;        
5 e8 Z+ l/ _3 X    }. c9 G" D. k+ u, W% j( q
    const char* syslog_path;
: z' @1 j1 g+ V# w    syslog_path = EMH_ask_system_log();/ I/ E2 Y! _+ ], W
    cout << endl << endl;& k% g7 [/ S& _. ?7 g3 U' a8 f
    cout << syslog_path << endl;; u- c- A+ H5 g/ Q4 t

, Y, J' ^3 b3 C    stat = ITK_exit_module(FALSE);                                       
& c5 }" _6 ]2 r& S0 M! V    return ITK_ok;
2 L4 X3 y. o# C6 Y  |' m! x}[/mw_shl_code]
; A4 m; \& W8 Y. {9 _
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了