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

teamcenter二次开发 判断当前对象是否被check out

[复制链接]

2019-2-8 13:39:12 3345 0

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82168
QQ
发表于 2019-2-8 13:39:12 | 显示全部楼层 |阅读模式

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

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

x

% K& {$ T% ]  N) A
% m& i) P3 C7 W6 n5 N' `+ z1 n( FTeamcenter二次开发 判断当前对象是否被check out5 O' k9 N* B6 S" Q" z
[mw_shl_code=cpp,true]#include <iostream>+ @; C1 a+ X& l6 m8 W
#include <res/res_ITK.h>- w1 B( M/ S% {# \
#include <sa/user.h>' s, f* a3 h  \! B3 }
#include <base_utils/IFail.hxx>
2 h% [5 ?3 G# P7 g/ }3 l#include <base_utils/TCResultStatus.hxx>
, `! h+ K! @( o8 I' H8 F, L#include <base_utils/ScopedSmPtr.hxx>
9 }4 R$ I# M7 K; U# d$ o
1 r* _- X  `( g1 ?5 m$ K, V, jusing namespace std;8 e* E) J. E& N  X5 t6 ]; M
using namespace Teamcenter;
$ }. _1 Y% B- S" H& A: Q: V* A
" a5 D4 ?8 o2 j1 X8 I+ d3 Zstatic logical is_instance_checked_out(tag_t object_tag); W2 ^/ ^6 W# M2 w5 Q; g  x
{* S0 t4 Z5 B$ v" b$ O& S. q) ^
    int ifail = ITK_ok;
# a1 n& K1 b# X7 ~* }4 ^; G    ResultStatus rstat;# q! F& `. Y; f' O
    logical is_checked_out = false;; k- _3 @+ p/ @- V! X
    try. G( I; [; v( K7 Z3 C
    {
/ J; L! t8 z/ Y. w        rstat = RES_is_checked_out(object_tag, &is_checked_out);0 b5 Q+ |1 k, c: `' v
        if (is_checked_out == true)
3 c& M! ^3 z/ F/ `( P/ I* ]. ~+ t        {8 B, ~7 l! q2 j
            tag_t user_tag = NULLTAG;
' z/ Y2 w1 g" h  m' h% j            tag_t group_tag = NULLTAG;  V' H& ~0 a& }' j
            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag);
$ R9 o. X) h( ?; ]) C* n7 D4 A
( i6 q' t/ F1 K            scoped_smptr<char> user_id; ) t  G. O- Q* w- n3 w
            rstat = SA_ask_user_identifier2(user_tag, &user_id);; i& R& i% t) Y9 b  ]+ A! i% T/ l" b

8 z3 i: o: M2 z2 e& I            char msg[] = "   Checked out by: ";$ R) P- ]0 S. B; ^8 F2 x2 G" j
            cout << endl << msg <<  user_id.get() << endl;! m1 X& K, V8 T/ |; D. @" g: }
            is_checked_out = true;
9 H/ s) o  o; o5 p0 P+ r        }
5 m1 o& J7 d3 F: H    }' h. x! E5 o! I7 k
    catch( const IFail &e )5 r# q2 ?: u# u7 A. C
    {# K; w+ W8 t5 t
        cout << "error " << e.ifail() << endl;
+ T# Q/ X( }# y5 r5 h. R& g* X        cout << e.getMessage() << endl;
1 @; O2 @* [- Y    }
1 N& m8 A4 E' R0 l- m: K$ G    return is_checked_out;
4 U) ^- _( N; j8 e  u}[/mw_shl_code]
3 _7 w* a0 i1 J5 o3 Q; j) y) @
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了