查看: 3433|回复: 0

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

[复制链接]

4

主题

3

回帖

40

积分

管理员

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

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

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

×
* Y! m: r$ W+ {$ N$ @/ V. ]
% i% Q% M. M7 A' d- |6 V! W
Teamcenter二次开发 判断当前对象是否被check out) d5 J- n9 Z  s5 a
[mw_shl_code=cpp,true]#include <iostream># m% E6 L! b  V# {6 u8 Q$ ^$ ^
#include <res/res_ITK.h>
1 c/ \  U0 F2 k#include <sa/user.h>
/ {& r; Q  z9 Z( S% T. y#include <base_utils/IFail.hxx>5 H* _: _( b8 s7 t
#include <base_utils/TCResultStatus.hxx>( Z' G( Y1 y5 R
#include <base_utils/ScopedSmPtr.hxx>$ z, T9 w! C* ?/ v8 w7 u

/ m( ^" j! J% \using namespace std;
8 G" X2 v" S) \  _$ [0 c% }using namespace Teamcenter;
0 A- G2 ^% R% Q+ m- d6 }5 Y$ Y6 k/ W; O! D0 v& a
static logical is_instance_checked_out(tag_t object_tag); Z* b+ ~5 o! u2 B
{
7 Y( T2 C/ {' |& g    int ifail = ITK_ok;( q. C+ {7 q; s6 V
    ResultStatus rstat;5 ?6 m* Y& O; I
    logical is_checked_out = false;  D" w6 j5 ?- m
    try8 k( M7 i. R1 K: v) m, b
    {
) Q# a& K' O" l5 h" \  F! m, }" @" Q        rstat = RES_is_checked_out(object_tag, &is_checked_out);
& `! Z0 J' m; V  f2 D! u        if (is_checked_out == true)
$ k" L& H5 h  k7 e: a! _" T) L# Z        {
2 Q0 J; t& L+ d- |4 F6 }1 W; X! I& v            tag_t user_tag = NULLTAG;
! D) W# y: w4 e/ S* ~            tag_t group_tag = NULLTAG;
6 K$ ~' c5 {; G7 n4 p) U" m            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag);
6 j/ j- I3 d2 R% U) z& i1 e
& A$ T% s! g0 A4 n            scoped_smptr<char> user_id;
8 D7 \8 U1 d  E3 [) G5 Q            rstat = SA_ask_user_identifier2(user_tag, &user_id);
+ U; P3 k1 Y5 E  N! b% ^) `$ `$ y* A% A; h9 p0 P7 k; k2 _* M. D
            char msg[] = "   Checked out by: ";0 @8 s* H. _/ \- K' H# e  A
            cout << endl << msg <<  user_id.get() << endl;  ]! Z( U" [) n: p& J- Q. |& U5 }
            is_checked_out = true;" t2 N; h  y" V) U. }
        }3 d1 h. }$ H, J
    }' a8 }1 U# a8 A6 V- k. d9 G
    catch( const IFail &e )
; |: t+ ^6 h7 V+ k3 a! A& D8 Y    {" N: k. M) ]% I. {
        cout << "error " << e.ifail() << endl;( d* M' H6 X9 \6 w+ Y# s. p
        cout << e.getMessage() << endl;2 I! w# N/ z% q9 o
    }+ d7 c  |4 j! Q/ |2 T  Z
    return is_checked_out;+ E9 g" O1 }1 c. t
}[/mw_shl_code]  l1 m4 i2 X7 q9 s
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部