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

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

[复制链接]

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

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

admin 楼主

2019-2-8 13:39:12

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

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

x
, @! p! k, x: V

8 q7 c) }# j! ^0 z1 |/ |5 VTeamcenter二次开发 判断当前对象是否被check out
$ o) r; s; R* v! n& Y7 k; v8 b! h[mw_shl_code=cpp,true]#include <iostream>' e( n. v0 Q2 j& M/ g* v
#include <res/res_ITK.h>
/ M& P8 N, _/ x8 I# d4 _2 L#include <sa/user.h>1 Y1 B8 ?* z& q5 w8 a  b
#include <base_utils/IFail.hxx>1 C- d! a: v% Z
#include <base_utils/TCResultStatus.hxx>
7 v1 I, m/ a, o% Y/ `#include <base_utils/ScopedSmPtr.hxx>4 \8 i  P7 p1 m6 y( K  P1 B" D+ l
+ f7 F0 Q3 h8 o: ]% V' l) ^) u3 n* U( P
using namespace std;: g: T* z2 A8 E5 O
using namespace Teamcenter;+ a7 V/ t+ q3 o
$ j# E7 I  y' k; Q7 b
static logical is_instance_checked_out(tag_t object_tag); m4 p* v2 j4 v7 Y, `
{* h0 m# H# \2 T; T% S* H. c1 @  Q
    int ifail = ITK_ok;$ J! n, R0 H6 ?' a( U8 {/ {) l% }
    ResultStatus rstat;, e5 R/ ~- l6 s' _5 I
    logical is_checked_out = false;2 {0 x+ J, o! e) s! j1 g
    try8 O, e4 I0 n2 t+ R! q# d% l: r! ~
    {% S( C1 r3 H. i1 ?$ c
        rstat = RES_is_checked_out(object_tag, &is_checked_out);1 c0 @$ {) W! {3 [6 Y" t
        if (is_checked_out == true)
5 q  w, c1 ]1 P        {
/ A: C; m  b# L4 M            tag_t user_tag = NULLTAG;! k  Z$ a! K- M) K: r& v' O  H$ L
            tag_t group_tag = NULLTAG;/ F8 C/ K7 Z- t% V# w( M$ X- I
            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); 0 g; w9 o' j- z5 v8 W
" h& W6 N  C9 t1 ]' b7 X" ^
            scoped_smptr<char> user_id;
  O, N' ]4 ]& ~            rstat = SA_ask_user_identifier2(user_tag, &user_id);/ P2 o: D+ l& C/ c8 y; b7 z; T
7 M. f, Z. A- F1 R3 E
            char msg[] = "   Checked out by: ";+ ]1 r( |! ~8 |+ x7 d
            cout << endl << msg <<  user_id.get() << endl;
( ]6 o9 G! J1 ^1 n* H+ b            is_checked_out = true;
$ n, O3 {- t, ~9 H7 |6 B5 B        }/ R6 B# \) S( t
    }
! B; \% P9 {+ G1 L4 a' }    catch( const IFail &e )
! L# }3 I* V% j7 [/ M. C    {
( }6 c1 \# B2 M( j0 P% j        cout << "error " << e.ifail() << endl;
' e* X0 p: m- z+ H        cout << e.getMessage() << endl;
6 s! u1 a  w9 I) p; M    }9 S) ^0 a! |4 O) F
    return is_checked_out;6 p) }* b6 Y% f+ v1 ?
}[/mw_shl_code]" V  n( ~& M/ k; m2 z, Q( D# q- h
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了