PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2019-2-8 13:39:12

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

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

x
1 g% c* g, j9 g) }6 i* l, Q
$ l! D( `9 B1 J5 {- j) y
Teamcenter二次开发 判断当前对象是否被check out
" Q" [- A/ s+ B5 {2 @[mw_shl_code=cpp,true]#include <iostream>
/ M- q4 Z% p# R, z/ t#include <res/res_ITK.h>
! X, g3 w$ l4 ?' H#include <sa/user.h>
2 i. z9 H# q8 X#include <base_utils/IFail.hxx>9 E4 J5 k5 u8 ]- e, J
#include <base_utils/TCResultStatus.hxx>+ p" C2 u8 m5 g6 ]$ q
#include <base_utils/ScopedSmPtr.hxx>, }, ~: m- a  |1 ]
8 x5 n+ G) @4 O* L; F8 a
using namespace std;
0 p8 J* t2 Q! l) E3 E: h( Jusing namespace Teamcenter;, k  n. ?" m1 ?) ]9 ^# o

# `$ M8 ?# v7 @$ Q: \' Ystatic logical is_instance_checked_out(tag_t object_tag)3 v  h% v& A4 P; J
{; t: n- e6 W1 w5 q- L8 r6 Q
    int ifail = ITK_ok;$ O; E+ F  `+ |; P4 a
    ResultStatus rstat;
; J% T* n4 [( ^7 A    logical is_checked_out = false;
. A0 Z7 P% B* S! i( O    try* _$ t. B2 ?8 S; e1 N
    {+ f! t- ^0 B  X' H& c
        rstat = RES_is_checked_out(object_tag, &is_checked_out);. ?' }; n2 \( T/ F) ~4 u
        if (is_checked_out == true)
" k; f0 G# X5 Q- i% Z        {
1 ]0 D5 p3 `: `; s) |: j            tag_t user_tag = NULLTAG;# s# b6 [' H) q. `( ?+ i) A
            tag_t group_tag = NULLTAG;
8 e" |+ f  m* [" c: E& j4 j' ?            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); + D* ?6 b# k; S
6 r' n- {1 P2 W3 i, \7 q
            scoped_smptr<char> user_id; . y4 U: @/ n, r
            rstat = SA_ask_user_identifier2(user_tag, &user_id);
# Q8 H- z' q  u; Z7 f
$ X0 |9 ?/ V% m            char msg[] = "   Checked out by: ";
: b* B/ M1 F: _! ?            cout << endl << msg <<  user_id.get() << endl;
! d1 F& [& y" h' ]9 S3 }            is_checked_out = true;
3 x2 C" T% M1 V; K        }
1 d; I; F) ?% W: r1 U    }
- g6 L4 Q3 B: G% u( X  X+ O    catch( const IFail &e )
: H* z" ^+ E8 ~$ V6 W  Y/ q) I0 Q+ f    {0 x$ ?+ M1 {' c% T4 h" k3 [
        cout << "error " << e.ifail() << endl;
: d0 a" B: u: i" f* [        cout << e.getMessage() << endl;
2 R5 s$ j, j' J: P1 K- e    }" p1 P: [" ]8 J7 F% N
    return is_checked_out;
8 S5 a% F% e1 I! v3 u! l}[/mw_shl_code]
( u' Y+ `# V  @8 @5 V6 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二次开发专题模块培训报名开始啦

    我知道了