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

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

[复制链接]

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

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

admin 楼主

2019-2-8 13:39:12

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

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

x

$ E6 f0 w. \! G2 S9 o! O8 b1 Z% G% x4 \( @+ G3 R
Teamcenter二次开发 判断当前对象是否被check out
) q; s" p! ?! a, Z2 k& k) Z[mw_shl_code=cpp,true]#include <iostream>
: y4 W( K& z$ u2 X2 s#include <res/res_ITK.h>
! ]8 _& {5 ^2 p4 I, N8 X& N6 Q+ [#include <sa/user.h>3 q7 l( u- B0 R* |
#include <base_utils/IFail.hxx>
* h# v$ z8 S& _#include <base_utils/TCResultStatus.hxx>, m$ x, ^$ q; @; @# q, Y. U& J: P
#include <base_utils/ScopedSmPtr.hxx>4 ]7 z( h9 }& K3 X; Q# z' m
" z9 B+ ?5 M* t7 m/ J! c4 c
using namespace std;8 ^/ L$ w* V7 n6 W
using namespace Teamcenter;
# E- a/ P* @( F8 N1 t8 z+ X( Y& v6 D% |* o
static logical is_instance_checked_out(tag_t object_tag)2 S! J4 \: v0 P( ~- n2 I4 x
{8 `* N2 q2 N& s; a6 F1 {1 _
    int ifail = ITK_ok;0 Q' v& N* E* E! f
    ResultStatus rstat;
: `( F' p4 H$ F# F. Y! t; y    logical is_checked_out = false;
0 r, Z2 U- I( z4 u8 O    try
" p" b+ m4 i+ Q  v" V    {
1 E- e  q; j- b        rstat = RES_is_checked_out(object_tag, &is_checked_out);% _$ D7 Z* U; ?8 A6 G+ p, G
        if (is_checked_out == true)
/ F4 {" g4 }% a3 o0 L' I        {  b$ z* l6 O4 G& Z- P) t8 Y- L$ R
            tag_t user_tag = NULLTAG;
6 i1 u9 j, A( @) A1 A( r            tag_t group_tag = NULLTAG;# U& L4 t5 M( v4 a
            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); 1 @' ~+ F: Q# G! F& `3 c

( \+ b6 c& i5 O; {$ V) I' l" d            scoped_smptr<char> user_id; : |2 i/ O. y0 X/ m6 D: O0 H" Y4 o
            rstat = SA_ask_user_identifier2(user_tag, &user_id);" d# G& n" `8 D4 z
$ }6 l9 n/ y; O
            char msg[] = "   Checked out by: ";
4 o7 ]0 Z" C, i# H" ^, K            cout << endl << msg <<  user_id.get() << endl;
- d1 C; H8 {$ w" i" D. f5 Z; A" u: e0 Y            is_checked_out = true;1 g+ m2 F- D. H  Q# O: X
        }
" b% k. |- S: [    }
8 N+ Z1 w+ Y) {% I% z    catch( const IFail &e )7 B2 u6 Q7 P: C0 v* s( S
    {* U( b, y& P& f. ]  m; E
        cout << "error " << e.ifail() << endl;8 \; \0 P. X$ W; J  U/ R' v8 a
        cout << e.getMessage() << endl;
! ~+ y9 D, ~. O0 @, T0 i    }' n; U6 g$ m$ F) J4 V' r7 M8 E
    return is_checked_out;# @; M  j; i$ G: K+ X5 z* |
}[/mw_shl_code]
$ r5 ?: M8 C) _1 \! d+ j
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了