PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2019-2-8 13:39:12

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

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

x

4 t  [) ^( s  @5 T" |7 m% a1 T
' ?% ?1 X& y. s& jTeamcenter二次开发 判断当前对象是否被check out' z. Q: p/ u  R  O' f( v4 f
[mw_shl_code=cpp,true]#include <iostream>
+ ^6 y# b  D- U& c#include <res/res_ITK.h>
8 |( d4 Q- {4 H; }. n. e& v1 X: R#include <sa/user.h>
9 g8 x  b3 T' Y4 J; q#include <base_utils/IFail.hxx>! f; i0 H. A" L" t
#include <base_utils/TCResultStatus.hxx>
% H, E$ n. j% [! t4 l! l# D+ G#include <base_utils/ScopedSmPtr.hxx>9 z% y+ h% e, |% m0 w
/ _" N; o' t* R& S
using namespace std;
0 O0 `- c$ X7 b# r6 rusing namespace Teamcenter;
) |+ w+ D% j3 L0 T4 z( D  J2 I; w. g6 Q$ A" Y! [4 z+ }( ^( X
static logical is_instance_checked_out(tag_t object_tag)6 b/ }+ G+ F3 y( _
{5 t* V: a9 J8 w$ h8 y
    int ifail = ITK_ok;1 L5 i/ L3 B5 s! f* s
    ResultStatus rstat;0 k* _% f4 X3 ^0 d2 i" f& @
    logical is_checked_out = false;/ v3 |4 P" ?) @
    try7 |/ |5 z- E7 \3 [& r2 t0 d) h
    {
6 i4 m4 P6 c" w+ L, y1 M        rstat = RES_is_checked_out(object_tag, &is_checked_out);
( Z, K) V! u3 N) @* D9 D. M& n7 x        if (is_checked_out == true)
# r+ n, S# v3 P% p$ P* m$ z6 c        {
; D- j% Z7 |4 v/ o2 [, k0 P6 b) o            tag_t user_tag = NULLTAG;9 _2 {) V" s; }( K3 |; B0 h4 r
            tag_t group_tag = NULLTAG;" d1 M% ]( e; E3 m
            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); 5 e+ A% f! A' a- R
+ e" r1 C% p; z! }9 ?
            scoped_smptr<char> user_id; " \5 U3 w+ s8 x% d, v* q
            rstat = SA_ask_user_identifier2(user_tag, &user_id);3 |9 P7 ]3 n6 I5 c7 L
$ C, ~4 X# e6 \; R4 N" c1 g+ ?- j
            char msg[] = "   Checked out by: ";
" Z6 z1 U% v2 d            cout << endl << msg <<  user_id.get() << endl;
' L3 H( l0 w! Q! P            is_checked_out = true;1 B$ N( e+ V, _6 r; r
        }
. W: t2 [' O: o$ `; a" n9 o    }
) N) j4 W9 P# q. S- e: ^& b    catch( const IFail &e )
/ ]+ N6 l  F* M( N6 T2 [* W6 X    {" v/ {. A! R7 K1 G- U7 ^
        cout << "error " << e.ifail() << endl;7 i  B1 ~5 D1 q% {7 D- p! o
        cout << e.getMessage() << endl;
, f. d5 R$ n+ I3 i2 \" {. o    }" I; D+ E! o% g7 T9 U2 j
    return is_checked_out;) X3 a3 Y0 Y. @* ?7 m% a
}[/mw_shl_code]
( q' _% G$ s1 }& K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了