查看: 3603|回复: 0

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

[复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×
& D4 R" Q* |* j' P2 C" C6 b
; E5 I1 d) r: z' E% x
Teamcenter二次开发 判断当前对象是否被check out7 q3 ?" b# c; _( ^
[mw_shl_code=cpp,true]#include <iostream>
( j1 n+ b' X, M9 a$ ?#include <res/res_ITK.h>
/ Q  b$ K1 D* T! o#include <sa/user.h>
6 _( e! \2 J9 Z#include <base_utils/IFail.hxx>+ ]5 G0 k7 [: m, c3 t
#include <base_utils/TCResultStatus.hxx>
' C9 {# u: E6 o- T" I. I#include <base_utils/ScopedSmPtr.hxx>
3 ^) f; b* O; H6 g# J) T  t2 u/ x8 G5 Q7 D' B! a' H
using namespace std;) X0 U1 _% W6 F8 V3 H1 {4 B+ R0 Z
using namespace Teamcenter;$ [- `* Y% N& E. u" i; ?3 {7 c. ^
1 C6 S5 i$ ~) t- T! |5 S+ y) M7 t
static logical is_instance_checked_out(tag_t object_tag)1 d; E  c; S5 u, ~% y
{' X# _3 G! \6 t
    int ifail = ITK_ok;$ p9 b. g9 h! j5 i
    ResultStatus rstat;+ I) e$ n' f+ E9 A1 |* t3 t
    logical is_checked_out = false;, ~) g7 y  I9 Z
    try
) [# X4 B; a+ K  z; m! k8 F    {8 P! b/ ?) ?/ L9 J) B8 j6 f
        rstat = RES_is_checked_out(object_tag, &is_checked_out);' t" b: P' w: h+ G* G8 [
        if (is_checked_out == true)) Q) c" C0 ^' J- t: \
        {% a* G6 }+ O) b7 k5 _* u
            tag_t user_tag = NULLTAG;
; K% \" g( _% l& g# {: F& s            tag_t group_tag = NULLTAG;
* w- [7 }3 U3 b1 X7 g+ y- E/ l            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag);
, f1 e" j9 m* Y6 X/ G% m$ q, Z; J# ?( Q: q
            scoped_smptr<char> user_id;
/ N$ P! M; k0 M4 G, F2 ?            rstat = SA_ask_user_identifier2(user_tag, &user_id);
/ D) q3 Q, Q! q$ {: K9 L+ y: {( x
1 E; t/ H& w/ W' g  D            char msg[] = "   Checked out by: ";/ Q0 m, d* M# t# @8 m
            cout << endl << msg <<  user_id.get() << endl;. h3 ~2 @1 F8 E* p
            is_checked_out = true;
+ Y3 }2 Y; Q# M; u3 Y- Y- |/ o        }8 d1 c( p3 P* z- c
    }5 w8 Y0 [; C3 Q' Q8 v
    catch( const IFail &e )3 k" e7 r; X) u9 D0 L4 Y
    {) H* \/ _# A  i) c: {
        cout << "error " << e.ifail() << endl;( U' r9 V' s9 @/ y1 Z7 E) [
        cout << e.getMessage() << endl;
0 o1 P8 b" {! R4 {; O# ~0 [+ v    }" e4 r& q4 F; P6 _
    return is_checked_out;- W5 ?3 k, L; a: [' O& m
}[/mw_shl_code]0 i% z. N1 R/ D$ {4 ~" m
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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