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

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

[复制链接]

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

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

admin 楼主

2019-2-8 13:39:12

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

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

x
- [$ ]2 N% U4 t2 Z1 A1 |
7 j, [+ ]% y; y0 z) }) G. a
Teamcenter二次开发 判断当前对象是否被check out
  |/ A, U0 \3 H# t[mw_shl_code=cpp,true]#include <iostream>
6 c: G) j% z$ m2 @( e8 W+ A#include <res/res_ITK.h>
4 q& Z2 i% [$ V6 n2 X- U8 g#include <sa/user.h>
8 T0 \8 U6 O; v6 d8 F9 a$ _* ^6 n#include <base_utils/IFail.hxx>
% h+ d9 k6 ^" a3 g& f9 l8 j  T& e+ T#include <base_utils/TCResultStatus.hxx>
$ |# E* l3 S: Z5 e( f#include <base_utils/ScopedSmPtr.hxx>
! ^4 i* F* V0 R, z* ]. e( H* K8 Z: S* m) t5 f0 L
using namespace std;" h1 H$ u# p. \8 S
using namespace Teamcenter;. _$ c) p; w8 d( T6 W+ a+ u
6 o3 s5 f7 r8 Y0 H$ H
static logical is_instance_checked_out(tag_t object_tag)$ K. [* i, A- N$ m6 Q" i$ p' ]
{" O$ p  |: u3 E& B7 ~. q: }
    int ifail = ITK_ok;( i# S7 I7 Y2 [. v; F! p
    ResultStatus rstat;$ J0 `2 ?  c8 q  P9 |% D! ~
    logical is_checked_out = false;+ r6 }% f' Y( U' f! g* U/ I/ ?
    try$ T& W- [% e; z) P0 `3 b( w
    {8 Q. K% n* L, `0 K
        rstat = RES_is_checked_out(object_tag, &is_checked_out);
/ K* @" G7 s0 X) O$ A# r        if (is_checked_out == true)
1 Z) R: z7 i* j/ a, Q        {( N7 X, j# }7 S8 e, V0 E
            tag_t user_tag = NULLTAG;
/ A' z- P1 z) g. a  }: T            tag_t group_tag = NULLTAG;
& i7 ~! z# A# W0 |. Z* z* j            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); ; C* q4 V! j  E7 e

! N+ o3 F$ R  h  [! l' J            scoped_smptr<char> user_id; " v/ q3 j0 A& w0 Y) `  I3 q. y
            rstat = SA_ask_user_identifier2(user_tag, &user_id);5 C. Y5 z/ i! O! o

( a& Q2 T5 V7 f- L( ~' j' k) i, w            char msg[] = "   Checked out by: ";
" ~; w- R# Q/ T            cout << endl << msg <<  user_id.get() << endl;6 ?5 y2 D- k& r. j% x) U. Q. I
            is_checked_out = true;
! k; B2 O6 x6 ]) `( ]4 E2 s9 r! R5 T        }
5 ~/ }+ e2 Q! k3 l" M' V    }$ z$ B) j, J8 R! \+ S
    catch( const IFail &e )
# H3 K& i' B5 x; a/ U& Y. a    {: ]6 j1 e, D) S
        cout << "error " << e.ifail() << endl;! K" t0 e( e' s4 b( i7 Y
        cout << e.getMessage() << endl;$ ^5 A+ _$ t, n/ ]9 i  C0 H2 u
    }) h  Q# l/ [0 _  @5 N- s
    return is_checked_out;6 G# ]5 b8 ~- {* Z
}[/mw_shl_code], L3 W8 |+ h; Z  C! ]4 I
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了