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

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

[复制链接]

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

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

admin 楼主

2019-2-8 13:39:12

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

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

x
: k* l3 w- `+ ?2 r' {9 J

' P. f7 D+ R5 ^# dTeamcenter二次开发 判断当前对象是否被check out
8 u7 Q$ V' M( L, `[mw_shl_code=cpp,true]#include <iostream>
; x9 p9 Q# H3 j+ T2 i# J4 F#include <res/res_ITK.h>) T5 q7 H8 K( w( v* }
#include <sa/user.h>! ?  }+ E% a4 S: T8 N
#include <base_utils/IFail.hxx>5 B" z, N& I/ D, x
#include <base_utils/TCResultStatus.hxx>
1 s0 Q4 P9 e- n% r' Q#include <base_utils/ScopedSmPtr.hxx>/ C+ ~3 y9 E4 N1 k% {# ~0 ]
. ]/ `0 j0 V! Z& e6 u' J9 h
using namespace std;
) q- b0 x) n; f$ F2 e" s; M5 i7 [6 Jusing namespace Teamcenter;( z1 k5 J3 ~* J# i; S1 t! T
0 D0 n1 S/ U) r
static logical is_instance_checked_out(tag_t object_tag)
/ m) Z. K3 T0 Q* D$ n{; `0 v+ K* v! m7 v
    int ifail = ITK_ok;
  j$ t# I0 I' N! s+ P    ResultStatus rstat;
3 [9 Y, `% L' {# H) \    logical is_checked_out = false;5 m1 w6 A: w: ?0 k& {5 D
    try1 n1 f# P1 v5 S- O' O
    {
: N7 O% R+ ~5 G0 q# @- b        rstat = RES_is_checked_out(object_tag, &is_checked_out);
! L* W0 U+ e2 g  S# {        if (is_checked_out == true)
5 A/ N; t! @; K( u6 g        {
* a6 O; ?) F. z, s            tag_t user_tag = NULLTAG;
$ Z% ~5 H3 b% H8 ~- a            tag_t group_tag = NULLTAG;
4 M9 r; [- J2 u' c2 Z! s            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); 2 y, [& f* u9 W0 i  z* {
1 H/ M& Q+ T* B+ {7 K
            scoped_smptr<char> user_id; 9 m2 S: n7 B; U1 O6 K8 o  l* l
            rstat = SA_ask_user_identifier2(user_tag, &user_id);( ^; x2 Y# K( I0 M4 C

4 _8 ]% v! k/ O/ R2 U) R            char msg[] = "   Checked out by: ";9 L$ `4 j7 }" r, ]7 x" f
            cout << endl << msg <<  user_id.get() << endl;! j, G" o+ p. `
            is_checked_out = true;6 Y6 A+ m5 Z) v% C$ o
        }; t, m* t  ]/ B
    }
2 b2 p- Q5 H( C; P% c" V+ M; _    catch( const IFail &e )
+ v0 W+ S6 w' R    {+ [' R0 t2 Q! [( ~9 o" Y
        cout << "error " << e.ifail() << endl;
4 R, |0 A  c% D  q        cout << e.getMessage() << endl;. C  i: v8 c, a2 z
    }
6 v/ T' p/ J4 w% s    return is_checked_out;( V8 k3 O+ {" u# M  {+ g! x. w
}[/mw_shl_code]0 x! G2 |, K0 [  f% e  C9 s1 L
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了