查看: 3675|回复: 0

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

[复制链接]

2477

主题

1280

回帖

8万

积分

管理员

PLM之家站长

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

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

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

×

  p8 K9 R3 `8 j$ ?& n' e- u) Z1 R& P% _/ P( W! j/ Z3 C
Teamcenter二次开发 判断当前对象是否被check out
# [+ B( s, C: L" z& u9 j[mw_shl_code=cpp,true]#include <iostream>
: z. v8 _% N8 q#include <res/res_ITK.h>" w$ D4 _8 d" S% T) ]! C0 }7 o0 K
#include <sa/user.h>
7 Q! ^7 P. V4 u/ `$ m4 j#include <base_utils/IFail.hxx>* v+ {0 m. D) z3 S; K4 V3 A2 Q5 K0 G- q
#include <base_utils/TCResultStatus.hxx>
! e# F! n1 {5 @& O#include <base_utils/ScopedSmPtr.hxx># i( H+ j3 Y$ p& ?9 P3 H1 O  A# s( K
( k( V; e' g) v( |9 E  u7 L6 \
using namespace std;# l% i/ R5 r! U# l  l7 V( N) A
using namespace Teamcenter;
/ g# f# \1 c7 a* g, F# \. m- ~
. B; F  F3 R  ~& Z- lstatic logical is_instance_checked_out(tag_t object_tag): I8 X# W6 ]! y; X* {7 Z: c1 S5 T
{
3 F- H# U" Q6 Q* h" m$ z$ ?& M    int ifail = ITK_ok;5 M! Z) }; b( s+ T, C/ Y( x5 ]
    ResultStatus rstat;5 Q7 s: w# G" z5 Z! U- l/ b
    logical is_checked_out = false;
' \* l% I3 k0 b4 R1 V" @: M    try
- T; }# i. o( O    {
' ^* X2 \, V0 U' e4 X' g7 p        rstat = RES_is_checked_out(object_tag, &is_checked_out);
2 X* P" s# _# s* T        if (is_checked_out == true)2 L9 p6 `1 @6 L; u  b
        {9 J  S  t: c; v1 o- r
            tag_t user_tag = NULLTAG;9 ^: C3 R& `& B! b
            tag_t group_tag = NULLTAG;* }6 h2 d( p# k9 e8 c4 M0 H
            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); 6 {% I/ n8 g7 X( N

) Q) E; n" g: L8 o4 Z; o) T7 R            scoped_smptr<char> user_id; 5 W* G, h6 B* h; A
            rstat = SA_ask_user_identifier2(user_tag, &user_id);
- V  E% I9 s" p5 o" H6 }
6 [2 ^6 R- U/ ~' L$ C: x            char msg[] = "   Checked out by: ";  M3 p0 {' W% }5 B" w2 z# @
            cout << endl << msg <<  user_id.get() << endl;
- }  \, h$ L% i8 W8 ^            is_checked_out = true;8 q. \2 v( X) f9 ^
        }% y9 e" Y- U8 Y( s5 C& L
    }
1 [9 d, {$ r1 C4 G+ L- x3 G    catch( const IFail &e )) O& c2 b5 B& A) D
    {
/ v! O9 K+ m( ^, e/ p7 i: d  C        cout << "error " << e.ifail() << endl;$ ~& o: s. u, D+ ?, B
        cout << e.getMessage() << endl;
8 a1 @# n6 G, C6 \5 z    }
. A$ c" [. _: X) ]    return is_checked_out;
3 D6 L* a$ G5 H; ^, J. h}[/mw_shl_code]
) B* [  L1 l& \( O" g  p; _
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

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

本版积分规则

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