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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x

$ e, @" {5 Z9 j! e, o) l6 C1 D2 E4 i4 J- f7 E( x0 j
Teamcenter二次开发 判断当前对象是否被check out2 l5 i/ t/ c! f$ k6 k
[mw_shl_code=cpp,true]#include <iostream>; U% |- Q! F" Z& V" W: M  |2 r( M$ }  ~) Y
#include <res/res_ITK.h>+ p  V2 G& Q) U5 ?; r
#include <sa/user.h>) H' N5 k) O: \
#include <base_utils/IFail.hxx>
" X7 R9 v' M  N3 P- H  \; q' K#include <base_utils/TCResultStatus.hxx>
( q) R& G- @: K) s' U2 E+ J#include <base_utils/ScopedSmPtr.hxx>3 ~2 _9 [' c/ H+ N& @
) u3 {" \/ u0 ^/ d
using namespace std;9 I* a& U  L( C7 }( v
using namespace Teamcenter;5 G3 E, p0 o6 ]) y" I" S/ E
9 p* ~8 `# P% T1 j( v7 A. t: J3 G# Z6 h
static logical is_instance_checked_out(tag_t object_tag)  C9 g1 _( B7 r) I' F7 t
{  b9 {# Y( m6 r4 t: _
    int ifail = ITK_ok;
4 v8 l: r1 k: z    ResultStatus rstat;
" d- l( I: F3 K6 O7 m+ p    logical is_checked_out = false;5 r% k0 H3 Z" T! [- e
    try
1 S  w1 l4 L& e" |    {
+ F  k* D! G. @. d        rstat = RES_is_checked_out(object_tag, &is_checked_out);
! m- o6 G( ?' @9 }4 a        if (is_checked_out == true)/ W* b/ l# p. ]
        {3 b3 `' K4 M! b6 k
            tag_t user_tag = NULLTAG;
$ n1 \' K% e3 M; Y8 R* c            tag_t group_tag = NULLTAG;; `% |: |( H3 Z
            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); 8 z$ d3 \' j, k* s

4 `% ~: E5 k- S  B4 U            scoped_smptr<char> user_id; . q1 D3 [8 p4 |4 ]
            rstat = SA_ask_user_identifier2(user_tag, &user_id);
! w  Y2 |6 O; J, `! W3 \( G0 C% P6 M9 y  @2 M
            char msg[] = "   Checked out by: ";
6 e7 k4 g1 @( f. P1 I' L            cout << endl << msg <<  user_id.get() << endl;
% m, {5 \7 }$ \/ e  n$ m            is_checked_out = true;2 I: Z7 R; V- L8 R% m
        }
3 P  U$ X9 m/ H+ k& U3 @2 R    }
+ g: n# m5 X; j2 o9 b( r    catch( const IFail &e )
% I% _/ n0 I" z) v    {/ s% _4 y# O- c3 b  m3 [
        cout << "error " << e.ifail() << endl;
- e/ p  h0 x2 i2 s; y        cout << e.getMessage() << endl;
* Z) Y# Z8 d9 t$ r7 m; l5 {3 }: _    }. f" _/ R; R% [9 e: @$ B0 ^
    return is_checked_out;! U# T0 T& }% K2 M# Y( m
}[/mw_shl_code]
/ y2 \" J/ ^- d7 I  W. F
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了