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

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

[复制链接]

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

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

admin 楼主

2019-2-8 13:39:12

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

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

x
9 u3 m, B) A( _2 N$ A

5 D/ }% J1 @' ]- \2 c7 kTeamcenter二次开发 判断当前对象是否被check out
0 A! L) _9 Z0 J2 I  o5 k[mw_shl_code=cpp,true]#include <iostream>
3 H. }2 J& N0 _1 n#include <res/res_ITK.h>' b4 l9 Y' A+ T9 k$ ~  o
#include <sa/user.h>/ n. L& d; x# l& v4 @$ a
#include <base_utils/IFail.hxx>
5 D! g3 T9 w; ^2 n4 a% F: v#include <base_utils/TCResultStatus.hxx>, I) h$ {2 e  I
#include <base_utils/ScopedSmPtr.hxx>
% i: S, C* p0 M- ?! R; _: j: l7 V
: U* M, M( {+ T8 i; J8 @& I; Yusing namespace std;3 n$ M3 r2 n( I
using namespace Teamcenter;
/ y* V6 z/ b9 ~% o! ~5 x/ q  ^% }" F' K: s3 O7 U# s
static logical is_instance_checked_out(tag_t object_tag), L& ]! @5 ]$ l5 l8 I" B
{
, b9 i* b! t8 H    int ifail = ITK_ok;
  a3 V3 w- Q( b    ResultStatus rstat;2 h: ?- w% }2 |3 z: X* c2 ]
    logical is_checked_out = false;6 e+ \* [9 s% y" T
    try
( \9 b4 c1 ^& D2 |" f+ J    {
' C& U: s* ^6 m4 ~; p/ y        rstat = RES_is_checked_out(object_tag, &is_checked_out);( Q( u/ Z" e2 X" z
        if (is_checked_out == true)' q1 i  K9 Q5 Z$ k; }1 L) I
        {
+ r! F# d5 V2 t1 K+ E- ?; U            tag_t user_tag = NULLTAG;
7 L, N7 U( w+ Y7 ~+ X8 a            tag_t group_tag = NULLTAG;6 L+ W7 {8 S8 E6 j7 O8 t9 {
            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag);
$ n. v9 W) f  ~9 p8 |8 g( N
/ T0 u  W7 n% I  O1 C8 c; E$ \, [' _            scoped_smptr<char> user_id; 7 X3 y7 Q# @/ V; O9 A7 S
            rstat = SA_ask_user_identifier2(user_tag, &user_id);
' y& R: O. {# K" p- z+ D% `8 S4 U7 F* A2 p
            char msg[] = "   Checked out by: ";
2 d( {& |/ P1 H            cout << endl << msg <<  user_id.get() << endl;  e! n7 p" v& _" m9 w$ o5 \! D+ t
            is_checked_out = true;& c( E1 D+ T. A
        }
' A; p1 T- o! l4 z7 i    }  L# S; q7 e  @/ I
    catch( const IFail &e ); P3 x2 a( y, R; h
    {6 S/ r2 e- m2 v+ r/ u8 r& B
        cout << "error " << e.ifail() << endl;
7 c) v6 O/ s% n4 r# Z% J  W% j        cout << e.getMessage() << endl;
: `' l9 y) s, L# m    }( D) k# f! u1 y( l* H& I. l' z
    return is_checked_out;6 W8 v! X- z6 K% ~; U+ @% g8 x6 N" Q
}[/mw_shl_code]
0 t" r) N. q$ [: P
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了