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

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

[复制链接]

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

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

admin 楼主

2019-2-8 13:39:12

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

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

x
& A" P0 P: a2 A
' Z6 }. P9 \' `8 z4 g- q* i$ m1 l  y
Teamcenter二次开发 判断当前对象是否被check out% I1 t7 U0 K6 r1 d6 H0 I- U
[mw_shl_code=cpp,true]#include <iostream>
: @7 m' [4 Y1 y# Z* J$ b#include <res/res_ITK.h>4 J9 K, ~9 _; r/ X. }
#include <sa/user.h>" O/ ~9 o8 A, @3 o/ W) T
#include <base_utils/IFail.hxx>
2 Z, X0 s# J2 ]/ o( w: x4 N#include <base_utils/TCResultStatus.hxx>7 v9 b! [, c$ [6 r" t
#include <base_utils/ScopedSmPtr.hxx>8 G# `) P. R0 l3 Z  H4 {- v! X

1 U8 a$ ?4 f6 Y. J  i! k. husing namespace std;
. o2 o+ M% a4 P8 Xusing namespace Teamcenter;: ~' W, W5 j/ w- m5 L" k
4 ?1 F7 [. f5 m
static logical is_instance_checked_out(tag_t object_tag)& H+ a' S, X; s
{
1 ^6 C# x) C0 V1 Y8 V! [# T: r/ ~# e    int ifail = ITK_ok;
/ ]+ P# T& }5 D& X, g" `& g( K0 ?    ResultStatus rstat;
5 T) a$ I; O& O; E3 d# R    logical is_checked_out = false;/ g3 @& I5 L* [% c" h& L* [( u
    try7 L; Z/ j  L0 ^+ h+ O6 I7 U
    {; t6 F: ]7 t& n- z$ c
        rstat = RES_is_checked_out(object_tag, &is_checked_out);$ W% W2 e1 K! j" g3 p6 B  u
        if (is_checked_out == true); G5 Z3 o  |+ y; U% O
        {
2 {( ^+ T* w8 C  o" ]/ k            tag_t user_tag = NULLTAG;5 Y; h1 E; L, d1 r: m  M
            tag_t group_tag = NULLTAG;; K- d/ N) C0 p
            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); 0 Z2 O* x5 v/ P6 P3 s" n
+ d, H9 `9 p/ J
            scoped_smptr<char> user_id; 6 ?  y. k! l) b$ C
            rstat = SA_ask_user_identifier2(user_tag, &user_id);$ ]2 e  j  }2 g" U

9 S% X" E3 }) E9 b$ }            char msg[] = "   Checked out by: ";
( E5 ^& D* J; m, y* k/ ]            cout << endl << msg <<  user_id.get() << endl;
; _  G6 [( ?* E) @            is_checked_out = true;: n! R2 v2 h4 s+ m# C
        }
% U, {  [: {5 B0 |2 }    }
$ G$ i6 [- n1 f9 l    catch( const IFail &e )- z* U0 _/ e9 j
    {
& \) g, |9 Y' T- \3 I0 W* ?        cout << "error " << e.ifail() << endl;) y) K. g, l, b- n, k
        cout << e.getMessage() << endl;
# m# D  s" N% i3 U9 D) n4 H. i    }
5 h, P5 q6 }0 I6 c0 Q    return is_checked_out;
& G  n- R7 c. T3 \) N4 ^7 N" o' s, V}[/mw_shl_code]4 P  q; _, I/ [: N8 A7 N
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了