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

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

[复制链接]

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

admin 发表于 2019-2-8 13:39:12 |阅读模式

admin 楼主

2019-2-8 13:39:12

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

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

x

' N' B8 X  l& {8 d1 \" Q2 w* @% Y6 t; E  e' D
Teamcenter二次开发 判断当前对象是否被check out
8 U! J0 ]- O+ a5 ]* j[mw_shl_code=cpp,true]#include <iostream>! t% t0 \3 m6 a+ A1 M
#include <res/res_ITK.h>4 s: c# C5 k2 X3 [
#include <sa/user.h>
3 x5 c( I/ e; C#include <base_utils/IFail.hxx>
5 E7 L# z* p5 O( z( }#include <base_utils/TCResultStatus.hxx>
; ?- ^2 I, \( t#include <base_utils/ScopedSmPtr.hxx>* |- z4 M- k; u# d
! ?6 }6 h1 [& z% d1 i
using namespace std;
: X( L9 W3 V$ R7 r+ g) [using namespace Teamcenter;: G- L* D# S1 l1 ^7 k9 J: X% n
" w4 }- K3 W, E( g2 J. U6 a! K
static logical is_instance_checked_out(tag_t object_tag)
+ Y- ]  m* j' z% s1 G& U{( @2 ~% q1 {; y: W
    int ifail = ITK_ok;2 M7 y6 q1 D& U/ Z. K, w
    ResultStatus rstat;
0 }3 T- H  R" g7 Q. }( n, E8 |    logical is_checked_out = false;
7 c! U: f% g/ j( T/ t% F    try: R4 N8 b& F0 L. M
    {
9 m2 }$ {5 I! Y/ ^8 |/ t. |        rstat = RES_is_checked_out(object_tag, &is_checked_out);
5 ~/ C( P1 t+ z/ c' {        if (is_checked_out == true)% M1 D3 t/ d& [- f" Y- K
        {- X3 E/ t+ {" R2 z, C8 g* `
            tag_t user_tag = NULLTAG;
+ a5 P/ X5 z/ A! _+ Y            tag_t group_tag = NULLTAG;9 _6 b, ]; d' A4 s( J
            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); 4 z4 \/ {: ?! P4 D6 Q% C) Z
1 u$ i8 I0 N6 {1 x/ F
            scoped_smptr<char> user_id; - S; ?( e3 h) h% d
            rstat = SA_ask_user_identifier2(user_tag, &user_id);
7 _% x, t5 J: f, W8 {# h4 @8 E8 o" {$ U  D& ^+ O" |2 O9 w
            char msg[] = "   Checked out by: ";
- j# r' Y/ l+ z            cout << endl << msg <<  user_id.get() << endl;
7 N+ d: q( \4 G: N2 y6 c6 L$ ]            is_checked_out = true;
2 h9 H, d' R/ m) a; i        }
6 o. Y1 A- N8 B; c5 O/ P    }8 H8 a& y. ^$ k+ I# d3 _4 h
    catch( const IFail &e )
0 m) o) A- X4 J7 V. g  T) C& O    {. d5 p- Z: E" f' F' Q
        cout << "error " << e.ifail() << endl;) r2 _1 b/ ?5 ^  V0 c
        cout << e.getMessage() << endl;
4 u/ t5 J' S* L    }
3 n7 [' w' H, e4 d  i: k9 N    return is_checked_out;* f. J3 U3 _$ ]
}[/mw_shl_code]2 A: O* |7 F) w2 u) e0 `5 p% O* ?
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了