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

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

[复制链接]

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

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

admin 楼主

2019-2-8 13:39:12

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

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

x

. p9 x7 ]6 Y% u& U$ O& a& S$ x
9 r$ m: i! a) F8 w1 u- fTeamcenter二次开发 判断当前对象是否被check out! t' u, h! J9 M- d0 J- Q
[mw_shl_code=cpp,true]#include <iostream>; o! U. @8 z" m# k7 i+ {& X
#include <res/res_ITK.h>* B7 |: [6 w* m  C1 A( a
#include <sa/user.h>) W5 V% r% n% q* H. {5 v. i
#include <base_utils/IFail.hxx>
, Y& Z% [; H& x9 a$ d+ |: a) B#include <base_utils/TCResultStatus.hxx>4 T2 F0 @+ P9 b) O4 t4 k$ \
#include <base_utils/ScopedSmPtr.hxx>
/ L6 L+ @9 Q* C6 M7 T2 P" U6 c% d  A
, R5 O. L' @( W9 [5 p$ Jusing namespace std;$ W) ~* I. `  t! h
using namespace Teamcenter;
/ r  {, k$ Z: ^. c. D; g0 e4 t" s/ B
! E$ D0 t* R: j+ qstatic logical is_instance_checked_out(tag_t object_tag)
) ~; ~5 X, I9 ?. r( t{
. l3 S: B: T; h& x# E& d6 Q    int ifail = ITK_ok;
1 T, W6 i$ C0 y! i# p$ ^    ResultStatus rstat;9 m" g; d  ?9 T4 D
    logical is_checked_out = false;
1 A6 @: |) m% Y: [    try
6 C$ e3 b7 B1 y3 ^3 v  Y7 G: Y3 d    {
* v6 u  o: O  b        rstat = RES_is_checked_out(object_tag, &is_checked_out);) G) q' a+ c3 \6 R8 Y$ z9 W6 r
        if (is_checked_out == true): T- ~" C7 F# v+ ^, C1 j' J
        {, C5 |( Y; y) p$ y  k6 W9 u
            tag_t user_tag = NULLTAG;7 E$ v8 U: o' k* `9 S
            tag_t group_tag = NULLTAG;
  ~/ b! y# w6 \& A* g            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag);
- B9 \" U/ x" E5 x/ }& a+ V6 x3 @, n* b+ F
            scoped_smptr<char> user_id;
' N4 O: _6 X; V/ h! A            rstat = SA_ask_user_identifier2(user_tag, &user_id);
+ v8 S) b) d5 o% F* P9 p' F9 D( B
  k: r+ ~& |6 }8 g1 u  T* J            char msg[] = "   Checked out by: ";: f( f7 U: g. X
            cout << endl << msg <<  user_id.get() << endl;
( U( j8 z/ `: `3 l9 M            is_checked_out = true;6 H( x( K$ _) d
        }% g4 X1 V4 O7 B% w! s  Q  W
    }
& P( c$ N$ K2 A    catch( const IFail &e )
! j( S  v) U: G    {: w- b) r2 A: w' z  t" b
        cout << "error " << e.ifail() << endl;
4 g& n7 c: S' l  Q* z        cout << e.getMessage() << endl;
- M6 i( P+ T' N: g! x' J2 O    }: g3 |% O. Q- ^4 `4 m
    return is_checked_out;
; T3 d9 U  n9 H3 [1 ?3 H6 M+ }}[/mw_shl_code]" l# u/ S- P0 j
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了