PLM之家PLMHome-工业软件践行者

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

[复制链接]

2019-2-8 13:39:12 3337 0

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

( `+ {9 Y( @2 [  Y$ I- O; G' k  K
; o5 R8 S9 W# \6 A, I/ N) t  `1 OTeamcenter二次开发 判断当前对象是否被check out
9 @% m- ^* `' Y! U$ A2 A6 A/ O+ l[mw_shl_code=cpp,true]#include <iostream>
) O, W! ^$ f8 }- b$ F#include <res/res_ITK.h>9 b* h1 ^5 W+ P; v+ G
#include <sa/user.h>
. G0 q5 b+ x: m" p2 o#include <base_utils/IFail.hxx>
: F9 a( R! l0 d7 S' {. o$ w#include <base_utils/TCResultStatus.hxx>
. ^6 ~2 B% R6 i: g#include <base_utils/ScopedSmPtr.hxx>
6 T3 s1 P9 n* y' @
3 @, d7 O6 G* [: j+ ?+ ^using namespace std;. B8 Y' B8 m: ^1 O2 ]
using namespace Teamcenter;" W6 Z: i4 E" m6 w* }2 K2 }
2 d: ?+ c$ Y& a9 N$ a: L
static logical is_instance_checked_out(tag_t object_tag)
  G# l+ @. v& \. ?) w8 l{' i0 j/ W, n8 |9 w! A
    int ifail = ITK_ok;, L1 R5 N9 p  Z0 f7 w2 G
    ResultStatus rstat;9 y7 h0 C1 r% a2 ~0 u1 W& ~3 [
    logical is_checked_out = false;3 u  W3 h5 k& a$ E" D4 X+ U( v" @3 q
    try" F5 _; q, S0 Y  g6 l/ |
    {
0 g* I, f+ W  c& w8 c' i) Q        rstat = RES_is_checked_out(object_tag, &is_checked_out);
5 c  Z* ~, o& s1 o6 ?( `% Z        if (is_checked_out == true); y- S) Z! P+ F$ i
        {4 z2 Y# I" B% X& Y% y
            tag_t user_tag = NULLTAG;
, ~) I/ \! a1 u            tag_t group_tag = NULLTAG;
- P5 p% g/ e# J+ j* s* Z; ?' r            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag);
2 C9 u7 V& \: I8 L
8 D2 X- M  _* J) s            scoped_smptr<char> user_id;
& _+ V  s+ ?" I% s2 ]' I1 h$ U            rstat = SA_ask_user_identifier2(user_tag, &user_id);; ?5 l( a9 @: K% q5 P0 ~) M- _
( ~  G' x9 u4 P3 v
            char msg[] = "   Checked out by: ";3 z: v9 F. P. Y  L0 E
            cout << endl << msg <<  user_id.get() << endl;1 S; a3 A+ |, E
            is_checked_out = true;5 }/ [1 R7 `4 |9 F: ^
        }+ |; e, R/ o; ^  q( k
    }
& K; R* Q$ X: q% ^+ x3 L0 J+ \    catch( const IFail &e ). n$ _7 n. R1 C& S
    {- l5 g* N/ w: M' M$ ^% G5 p
        cout << "error " << e.ifail() << endl;
8 D# L7 P. ]  N9 u, J. r        cout << e.getMessage() << endl;4 {6 w. T( B3 G! f
    }, |/ {  h- a3 |6 K
    return is_checked_out;
" p2 @  T7 B9 Z: g7 G# S$ Q1 p}[/mw_shl_code]
+ O" R; U$ ~6 p1 B( Z
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了