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

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

[复制链接]

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

admin 发表于 2019-2-8 13:39:12 |阅读模式

admin 楼主

2019-2-8 13:39:12

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

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

x
7 g9 t; e4 a: k* o8 `/ [

; S$ o3 H# p* h- z" h- ITeamcenter二次开发 判断当前对象是否被check out& D. _* F, o* Y* ~5 d# a) Q
[mw_shl_code=cpp,true]#include <iostream>. a$ H! X, Z4 N) e
#include <res/res_ITK.h>
% Q6 `2 k! @, j/ c* k2 U6 S#include <sa/user.h>3 c' o! S* K9 j( m; @2 Q
#include <base_utils/IFail.hxx>
; c0 O8 s5 D* t5 X#include <base_utils/TCResultStatus.hxx>
: p* d) w! s1 I: x% X; p#include <base_utils/ScopedSmPtr.hxx>
& [& F1 c! x) y0 O( s
! D2 o; Y9 M6 I9 h& v  m: `using namespace std;3 f" @1 e# B# q. ~% u( ~9 u( M
using namespace Teamcenter;
2 o  [6 q& J* R- i4 H0 H/ i/ U( r+ `0 s- c
static logical is_instance_checked_out(tag_t object_tag)
9 L6 t0 l. R4 v7 T2 g( u{
  x; \1 \( B9 }) e    int ifail = ITK_ok;1 i5 t/ R5 p+ p0 U
    ResultStatus rstat;
# l( @1 K, b; r: B6 E- ?8 F7 E    logical is_checked_out = false;+ L$ _+ ~- K- ?5 f1 b2 M
    try
: N9 M& R# r2 v9 s" R6 A    {/ g& o0 @+ ~( u6 `3 [" ]1 ~  A
        rstat = RES_is_checked_out(object_tag, &is_checked_out);
' b: r3 K+ X6 v1 c. b4 ^        if (is_checked_out == true)
1 m6 @( ?" ~) A& ^% [& I        {
& A4 y5 X! F4 \7 C            tag_t user_tag = NULLTAG;
+ `# h/ ~* @2 _8 V. E0 I* N0 D7 F  G' y            tag_t group_tag = NULLTAG;
& d, c& Z5 W7 T/ U' ]3 [& z            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); 7 s  `7 H5 o$ _" J0 _
" E7 j8 ]' y1 Q5 q. x9 `
            scoped_smptr<char> user_id; 3 G, h7 j4 T% x0 P
            rstat = SA_ask_user_identifier2(user_tag, &user_id);- S3 ?) L/ z$ V# O: |' ]8 q' ?" [- f

& ^& a# k% t2 B& s8 B2 N            char msg[] = "   Checked out by: ";
$ C$ U1 E! u6 P& _# Q            cout << endl << msg <<  user_id.get() << endl;0 _" `& t! o5 c4 @9 S
            is_checked_out = true;
& w0 g. Y( R/ y6 R        }
. C/ z9 f' X0 j) ?: I    }0 W1 }" ?" k4 G3 x+ y0 _4 C. i6 a
    catch( const IFail &e )
6 D& h! ]) B( u& s' |( ?    {3 T3 v8 `$ _- y4 D4 _, }
        cout << "error " << e.ifail() << endl;7 I" }6 l4 N7 E) K- U
        cout << e.getMessage() << endl;
& F' z$ h: V% w( A' `7 l$ C$ e, j; }    }" D( b# K, C! i4 g7 ?& b$ X
    return is_checked_out;
0 U+ B- o# G- n}[/mw_shl_code]
) j9 m  z5 B( z. D8 i: @; g
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了