查看: 3640|回复: 0

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

[复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×

0 s+ E- g' ]# O/ }. G$ S+ E# C0 n" o2 w" M, N" G, `
Teamcenter二次开发 判断当前对象是否被check out4 I7 u9 [+ A  H4 s
[mw_shl_code=cpp,true]#include <iostream># h9 o9 u, E0 [2 p  j# r' \% n
#include <res/res_ITK.h>
" E6 I! @5 H: O' A5 I5 r#include <sa/user.h>1 N+ q. }3 m, h1 Z5 h
#include <base_utils/IFail.hxx>
( e* Q6 u6 @/ m! O9 q#include <base_utils/TCResultStatus.hxx>! w0 g# _" y9 C5 \1 Q
#include <base_utils/ScopedSmPtr.hxx>/ B2 ]; N1 n9 _

. m% k5 j$ L8 ~' _* d* j# y& P7 |using namespace std;% y/ c# e' Z: u. G. Z" s3 F: E
using namespace Teamcenter;
8 ?  z" K% A0 z4 w* S" q! R  C: [4 M- M' ]. j
static logical is_instance_checked_out(tag_t object_tag)( O# r! Z. C! a
{$ W4 H2 ^: r' b1 Q2 H  [
    int ifail = ITK_ok;3 ^7 t* o9 m( `! z3 }
    ResultStatus rstat;
' x- @/ Y5 q4 x0 |" G# _2 S# O    logical is_checked_out = false;
3 r1 v8 D# A' R% l2 ?9 y) ]& F( m' o    try
  ^- I8 }2 @3 w% t" {2 `8 h+ k    {$ A, {; Q) b2 ~2 \, A6 T' i
        rstat = RES_is_checked_out(object_tag, &is_checked_out);$ S/ i. {" n" j
        if (is_checked_out == true)
. q  T) A; ^8 b& I/ v        {" ~# Y1 Z" ?0 G
            tag_t user_tag = NULLTAG;
( ]4 U1 s- I9 A6 f# \            tag_t group_tag = NULLTAG;2 d* ]/ D2 c& ]
            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); 7 u+ r" C0 u" r5 t9 {* Y
9 H$ q5 ~( ]2 P; `' i0 x* v
            scoped_smptr<char> user_id;
6 Z2 C/ A' W1 w            rstat = SA_ask_user_identifier2(user_tag, &user_id);# e7 W( l3 Y# _1 C0 e
- Q  w  W- J5 J9 t
            char msg[] = "   Checked out by: ";
1 ?5 V+ |, y* M            cout << endl << msg <<  user_id.get() << endl;
1 _# R+ G' k0 R  S: L            is_checked_out = true;" n* }  \; d7 v3 g8 b
        }
& P, w5 `# ?, d9 j# I: {    }
* u! O8 m, o5 d' X1 H    catch( const IFail &e )( b& k# P1 C( g
    {
  }" v9 F. z1 g        cout << "error " << e.ifail() << endl;
8 p1 g0 r4 H/ r5 M! L        cout << e.getMessage() << endl;
- ^" `2 e, C) t" j6 ~; Q    }
# V8 B5 i6 |. Z& Q# n1 |# z    return is_checked_out;! P+ t9 W+ {8 {
}[/mw_shl_code]& r! f  a  r  y' B+ T: g
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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