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

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

[复制链接]

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

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

admin 楼主

2019-2-8 13:39:12

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

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

x

8 J/ v4 Q) |; \- k! L4 v
( T: I/ M9 N) J! i/ rTeamcenter二次开发 判断当前对象是否被check out
8 ?; X( H) r+ p, g! u1 i  x+ l[mw_shl_code=cpp,true]#include <iostream>$ C9 M7 g  _" u5 {) s3 K
#include <res/res_ITK.h>
; M/ w1 E; J$ z% n9 z) m& y#include <sa/user.h>% Q0 R# K6 ?; v* e+ a) P' K( x- ~
#include <base_utils/IFail.hxx>$ z1 \& F5 Z% O5 _6 e
#include <base_utils/TCResultStatus.hxx>
  F' `! F) t: p! U6 A. ]8 ]1 N# ~#include <base_utils/ScopedSmPtr.hxx>  X9 U! z  o. Q' e

0 [) D7 G7 V! e" |4 r. Lusing namespace std;
" T  b$ `& P- D% ~8 [' a4 vusing namespace Teamcenter;$ y# ~" y% Z6 t5 h0 l- q- r: _
4 d9 X7 w  G; s% Y; t8 N
static logical is_instance_checked_out(tag_t object_tag)" F4 J, f$ r( E: C/ R$ N
{
4 Z6 z! E4 ]; Y9 x( ]! f    int ifail = ITK_ok;
5 H& k( c9 ]' l9 V" P    ResultStatus rstat;
( D' O# V7 x0 r/ `% l+ O; {    logical is_checked_out = false;% j" P: F. F0 I5 z
    try: o( g5 B. d/ L* p& M; g  e
    {
9 d  K4 C9 s9 W! a: ]        rstat = RES_is_checked_out(object_tag, &is_checked_out);' {$ q! K. ^4 r7 x
        if (is_checked_out == true)% X& d. {" d1 X/ ?0 q9 N9 G
        {
7 F* B$ F  F: {# x            tag_t user_tag = NULLTAG;
  H% N' `; P9 ?            tag_t group_tag = NULLTAG;
- }6 Z: \9 ]5 ~            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); . m3 |+ C" r, E* X4 k& N" g/ I

: |$ A5 p2 S0 j$ z5 e            scoped_smptr<char> user_id; " o$ k2 P' `- w% a2 z: X% f+ n: t
            rstat = SA_ask_user_identifier2(user_tag, &user_id);! |* ~( l- t" }1 ^8 d1 f

* A' F" D$ G$ q, B: Q' @- Y            char msg[] = "   Checked out by: ";! A8 l- O3 R0 i+ y) g
            cout << endl << msg <<  user_id.get() << endl;
% \9 i7 i9 Q/ K( n/ ]+ ]. n            is_checked_out = true;. r9 X! S0 o$ b1 Q1 H/ X9 h7 V
        }7 }5 L0 _  I5 s$ @& N3 H5 M
    }: x" S, e) M+ R7 x' u- g
    catch( const IFail &e )) ?- _; i. G8 A' F) G3 G
    {
) l8 ^1 R. y' i) o8 _$ v        cout << "error " << e.ifail() << endl;- S# x( n7 j# i: t" q
        cout << e.getMessage() << endl;
6 r& v+ P$ d6 [: _: k2 e    }1 `" p+ k9 J) R4 M0 }& F9 }. S0 r
    return is_checked_out;
: b$ D7 g% |  ], W3 c9 n# d- g}[/mw_shl_code]* S5 ]% c. {' C
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了