PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2019-2-8 13:39:12

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

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

x
4 Z3 f. ^: _# l- |" g  c
0 `, w( a+ ^# J& }. c! L
Teamcenter二次开发 判断当前对象是否被check out4 g9 Z5 m# K; |
[mw_shl_code=cpp,true]#include <iostream>
4 l2 P9 f% C! B4 D+ D4 S#include <res/res_ITK.h>
! ~' _$ U" D9 y; q0 m) K- y+ F% ^#include <sa/user.h>
- }8 Z& S) \5 L) o4 p2 C/ J#include <base_utils/IFail.hxx>
5 P" U+ Z. O' f#include <base_utils/TCResultStatus.hxx>. I1 M! x$ S+ D) e
#include <base_utils/ScopedSmPtr.hxx>' d6 G: O% Z/ q$ X7 x

2 h2 u5 Q0 j5 Q, [* ^9 Q' d+ jusing namespace std;- X. {% r; P9 K( N5 v: k  @. F: s
using namespace Teamcenter;. @$ o5 i" x* ^- c

6 o7 K, b" k" a8 q, }" ^: Q+ |static logical is_instance_checked_out(tag_t object_tag)
5 k+ t' B& R* O( @{
& P9 f2 K; ^6 o    int ifail = ITK_ok;. ^. u4 y: }$ r. J* |5 q3 G+ \
    ResultStatus rstat;
1 B9 S* K2 U# A2 Y! |/ w& S    logical is_checked_out = false;: U0 B$ d) I  M- |# h$ |; b
    try+ t8 [" A6 i2 @' V: J
    {
- x6 i& z' ^& S$ U+ d; I        rstat = RES_is_checked_out(object_tag, &is_checked_out);" }1 O2 Q( e3 M4 `. ]3 W6 L
        if (is_checked_out == true)
* k; U# R6 r4 ]$ T+ @& s! r) e        {% E0 @: J5 n' K1 u: ]) K
            tag_t user_tag = NULLTAG;
) L% ]# M  m" [" @            tag_t group_tag = NULLTAG;5 U/ k- U" _6 i0 y4 R1 n, v- r
            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); ; k0 Z, h2 {& E

& t' `6 }# g% G" p% U* U            scoped_smptr<char> user_id; + D8 g- g- l1 p% K! }& ]" J4 q3 d
            rstat = SA_ask_user_identifier2(user_tag, &user_id);' h# e; @) d6 Y  H, O8 A% O# E2 p
2 ^$ n0 ~3 l) @, I& q5 @; b. u
            char msg[] = "   Checked out by: ";
" W% B) U) u, S7 h  a) C0 \            cout << endl << msg <<  user_id.get() << endl;& D/ J* q& M' r3 M) p5 s8 F5 Q
            is_checked_out = true;
8 {' d2 v5 P8 _( h' I( ]+ ?        }
" B6 [7 {  p0 F+ C' z    }! H, v! E+ H, a5 V9 i
    catch( const IFail &e )
  G% s" s* G6 W    {
) ]9 `% u/ @( E5 T9 ?. a5 A        cout << "error " << e.ifail() << endl;, N9 U4 N2 U6 i
        cout << e.getMessage() << endl;) T& k% \1 O# R' `0 I( S/ I' H
    }
9 v1 x4 T% }- U. d    return is_checked_out;2 X% T" S6 u) R  c1 y
}[/mw_shl_code]
/ k" B" D: N( J% O1 `% x
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了