查看: 3486|回复: 0

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

[复制链接]

4

主题

3

回帖

48

积分

管理员

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

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

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

×

5 y6 [0 f7 n1 k, N4 Z' B" x8 b5 w2 M
Teamcenter二次开发 判断当前对象是否被check out
& k9 F$ R# Y4 j6 @[mw_shl_code=cpp,true]#include <iostream>
5 [; a% J& m6 Y& t4 T' r#include <res/res_ITK.h>6 ]  y) D% b  N: }1 y. V6 n, b
#include <sa/user.h>
& m3 r, s# _* n$ j6 A2 F#include <base_utils/IFail.hxx>/ {5 R; z  S- R
#include <base_utils/TCResultStatus.hxx>9 s* ]# c$ b6 {! z/ B. l- f
#include <base_utils/ScopedSmPtr.hxx>7 `! R/ W& V/ R+ f2 Q9 W
4 o& u8 D6 P) r7 E+ u9 v
using namespace std;
& w& G5 }# Q2 v( husing namespace Teamcenter;
) {! D: o6 u2 o/ x: p/ W
* o& v+ k/ F0 _$ {( S9 v8 }6 ]static logical is_instance_checked_out(tag_t object_tag)1 M# Z  x! F  o5 X
{
8 m7 \! t% a! _& Q' T" P9 `( c) w    int ifail = ITK_ok;
$ M$ {5 J6 K' X% o    ResultStatus rstat;
, ?8 V# c5 [( q* A    logical is_checked_out = false;; ~$ W- {; m7 [9 ^$ O, r
    try
5 P4 c# t- x  }3 U3 |5 N    {" s8 Q; O4 l  A5 x" v! G: b
        rstat = RES_is_checked_out(object_tag, &is_checked_out);
( a5 d$ D6 Z2 ^+ r6 t        if (is_checked_out == true)
2 F( F$ w% E3 \7 \        {
& M  |* T$ l- s2 y( e: x            tag_t user_tag = NULLTAG;
4 L5 M) H0 Q) w. ~) J            tag_t group_tag = NULLTAG;; I# R) y) n" o2 Q4 w, T
            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); $ k9 T' w" q0 ?* C8 g

' r, N- ?. D- |8 V/ h% X            scoped_smptr<char> user_id; " ]3 e& u8 d( _, S, s
            rstat = SA_ask_user_identifier2(user_tag, &user_id);
) `5 q: F! n2 N* a; v
6 m$ q7 T' y: P9 `2 B/ C% y            char msg[] = "   Checked out by: ";2 I" Q, @: B: |8 \' X
            cout << endl << msg <<  user_id.get() << endl;
+ G0 y& J2 [& M2 f* b  i8 j            is_checked_out = true;
, [2 U' K  ~: Y$ _6 p4 x        }* @2 k& r" R: T  U! n# z3 ^
    }
1 Q5 o. i0 F: m    catch( const IFail &e ). G3 n3 O- a; u  i! P7 d( N$ _0 K
    {
. B8 S( z4 W5 x# O- G        cout << "error " << e.ifail() << endl;
- T7 z+ p( T. G% d* v        cout << e.getMessage() << endl;0 {* p. j% n; b+ f8 n
    }
+ k; F4 \, k& K8 Y! V    return is_checked_out;
$ m# w. i' p0 D+ \& d) d5 }  S! X}[/mw_shl_code]
  W2 }+ J; K4 U3 s- o
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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