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

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

admin 楼主

2020-2-8 09:27:38

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

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

x

' ~8 f8 T( ~6 nTeamcenter二次开发源码分享: Revise 版本 升级版本方法8 r( P. ?  r5 t( `& W
0 V! N9 R  x) W- E8 d
. k: x, N0 z% Q2 k0 g
[mw_shl_code=cpp,true]#include <TC/emh.h>
3 w- z( \: Y/ `, n0 C2 R#include <tc/tc.h># ~  k& [6 R2 f* Q: M+ y7 C
#include <tc/tc_startup.h>* W, P4 Y) |* n" a! r
#include <tccore/aom.h>" x( B7 R3 ^9 p! I, z2 l
#include <tccore/item.h>( V% B2 j$ _+ y5 y
: z7 S/ [! ?8 b$ V9 R7 w
#include <iostream>% X: {4 g, v) @5 N8 k% M
#include <vector>
, f6 @, N+ d* Q3 {/ {#include <base_utils/IFail.hxx>
: {" |1 d: V" f3 s7 i- T#include <base_utils/ScopedSmPtr.hxx>& D) s8 q( }! {$ I
#include <base_utils/TcResultStatus.hxx>1 t6 h, a9 p6 t* c
#include <metaframework/BusinessObjectRegistry.hxx>& _3 H) q6 W8 d$ H( R
#include <metaframework/ReviseInput.hxx>
1 R" r/ P: Q. L3 z#include <mld/logging/TcMainLogger.hxx>
; u# `; r! f, a! j#include <tccore/ItemRevision.hxx>
& E9 {" p0 U" t1 W& r* `3 }' |#include <metaframework/BusinessObjectRef.hxx>; K8 e0 q* V& v* E8 ?0 s- `5 c
#include <metaframework/BusinessObjectRegistry.hxx>! N% m5 N0 Y3 v/ o: B
#include <metaframework/ReviseInput.hxx>1 z9 u5 s/ t' o/ r5 ]* N& v

' ]" Z7 S3 h, q0 G5 H: ousing namespace std;+ f# a9 j0 s( _5 c4 J- q1 k
using namespace Teamcenter;
- r5 a, {: n+ g. h9 K& S0 xusing Teamcenter::Main::logger;0 X) s1 l, P8 U  d

& z! u% j4 n% j5 k, P) ]8 pint ITK_user_main(int argc, char* argv[])
( \% e5 ~# n2 r% {{( R0 Q8 t6 J/ X+ U# F" x' z
    int ifail = ITK_ok;
% u) T# \2 L' u6 {4 Y4 J9 [8 l3 k    ResultStatus stat;
$ q# B; Z1 u: U. D    try' c) K( E# \. N( \: h5 `& K) B: I
    {
# O9 d! J2 d" `2 v        stat = ITK_initialize_text_services(ITK_BATCH_TEXT_MODE);         
1 E1 f1 N& r  j2 H/ ~- }$ Y! H        stat = ITK_auto_login();                                            r* P) i: W- L5 j" E9 T
        stat = ITK_set_journalling(TRUE);
; P2 E4 ?$ p' q/ G        4 d: g$ L8 u& U4 L) Z% L" q* y9 w
        char item_id[ITEM_id_size_c +1] = "0000000";
* e" l: }8 n1 L        char *i = ITK_ask_cli_argument("-i=");
) g1 s6 P6 G% k* v3 C! s$ `        
/ r0 b$ J; H2 V! X6 m. G  E        if (i != NULL) strcpy(item_id, i);! F* W4 `* E1 |) x' o- q5 y
        cout << endl << "    ID: " << item_id << endl << endl;
- y) O' L# o4 W% N        
8 c5 }4 Z) L- [/ L& a! J        tag_t tItem = NULLTAG;) M1 w: z  |' X  r
        stat = ITEM_find_item(item_id, &tItem);
7 h/ k  w3 f$ @- |/ i0 R& W3 ^6 o
        tag_t tLatestRev = NULLTAG;
, }# z1 [. C+ ~, [# p/ Z        stat = ITEM_ask_latest_rev(tItem, &tLatestRev);
( `9 a$ L, I" t0 W+ p- A: B
( L* K# t  |+ }. v2 ]% L( q; V        char *pszType = NULL;+ }4 ^% F) N. a2 Q( D/ c, V( K& C
        stat = WSOM_ask_object_type2(tLatestRev, &pszType);
: ]3 |  L" }2 g( J& M0 h8 @8 H7 W1 p6 I9 M. _" B
        BusinessObjectRegistry& boReg = BusinessObjectRegistry::instance();( n& S: u! A, {' D3 s1 @7 @
        4 U* w* V9 }" {3 {4 R, Z0 G
        string revOp = "Revise";
: N' \: B" y1 P+ g6 h        ReviseInput* pReviseInput =   [* r# o5 y# O
            dynamic_cast<ReviseInput*>(boReg.createInputObject(pszType, revOp));
4 ~/ Y8 U0 }: i) I; ^
1 ^% }$ q6 o$ G2 T% [2 l5 Y        BusinessObjectRef<ItemRevision > boLatestRev(tLatestRev);- `3 `0 D0 ~3 Q' `" l; \3 c
        . }9 |" K5 P4 U( [
        vector<Teamcenter:eepCopyData* > deepCopyData;; L9 q1 i. ~5 J3 x: F
        boLatestRev->getDeepCopyData(&revOp, &deepCopyData);
' I; R' |4 C9 b# O        $ F3 N) [) w5 r; U- `. j1 D# X
        pReviseInput->setLogical("performDeepCopy", true, false );) J2 e5 M1 n& l% y
        ; L1 ~! B7 O( \: v* ]0 q
        tag_t tRev = NULLTAG;
: e5 J/ z4 A9 |+ w- v' [" H! K: q        boLatestRev->revise(pReviseInput, &deepCopyData, &tRev);3 b7 W9 D0 y+ q5 D
; a) q% d( Z/ Z) y, y3 u
        stat = AOM_save_with_extensions(tRev);" b* y1 g. ]! g  g
        4 B7 f1 M8 {/ J9 Z5 k
        char *pszId = NULL;
( h( t$ S- e/ [' i        stat = WSOM_ask_object_id_string(tRev, &pszId);
* Z) S, r0 @' Q( H( h2 y, B7 u0 S* I, w/ \        cout << endl << "    Object String: " << pszId << endl << endl;: r  t* e* ^- o! G
          l. E0 L; N2 E' L7 {+ _8 O
        if (pszType) MEM_free(pszType);
+ N' _- T) K) S0 [+ R% @, }        if (pszId) MEM_free(pszId);
5 q5 ^9 Y) R$ j1 ]/ @- k    }
) L5 p, I: a$ h% F; C( E# N    catch( const IFail &ex )* A$ T' K5 ]& m" B& y$ ?9 j- o
    {
& Q2 C' n5 R  _/ T$ [$ j8 e+ d, f        logger()->error( ex.ifail(), ex.getMessage());
" y* i9 ~7 d2 d0 x        cout << ex.getMessage()  << endl;$ s( v' E; [4 ~
        cout << "error " << ex.ifail() << endl;        ; |, X0 a! S# l- ]2 B0 T
    }0 _) \- D- |' z4 D% C
    const char* syslog_path;
, P& L' X3 {) s9 c    syslog_path = EMH_ask_system_log();; K2 i8 o% z$ x7 K( ]
    cout << endl << endl;
8 Q# B" R' E; U) A    cout << syslog_path << endl;* H& M6 }0 ~7 o% k/ b2 b
1 T' m: v& l9 V9 z% \
    stat = ITK_exit_module(FALSE);                                        - C8 ]3 L. U: O( P: A; I; i: _, A
    return ITK_ok;  N/ h  T& \& c
}[/mw_shl_code]; Q2 ?" z. n; t4 D9 V: 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二次开发专题模块培训报名开始啦

    我知道了