PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

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

admin 楼主

2019-2-8 13:39:12

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

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

x
/ V; ]( }1 d* G

/ q  }% t9 g  @. mTeamcenter二次开发 判断当前对象是否被check out
0 E2 k" I' v, }: h  S[mw_shl_code=cpp,true]#include <iostream>2 |% Z' z: }0 b4 d. o
#include <res/res_ITK.h>
0 w2 |! Z4 V( p! M#include <sa/user.h>
7 Y0 \9 X& D6 {#include <base_utils/IFail.hxx>
, i9 [! O' Y; M. k0 `#include <base_utils/TCResultStatus.hxx>9 Q. W5 Z7 R6 g
#include <base_utils/ScopedSmPtr.hxx>9 v+ \$ `; Z3 Y

* @7 F) ?4 |  \$ musing namespace std;
) R; M& o+ w8 |: H2 Y  Lusing namespace Teamcenter;
7 u+ L% |& |+ \8 P% Y" h- N
( l. e: J) k# a/ R6 s% mstatic logical is_instance_checked_out(tag_t object_tag)
# y' w* ?1 d* C8 k{
" D2 |/ N( X- G; F& r    int ifail = ITK_ok;
7 k! f- b, b0 y* d    ResultStatus rstat;
- ~2 A: ]( {- X    logical is_checked_out = false;+ j3 ^; Q; S0 R( ^3 e& X
    try* _! z, d& E/ H) m
    {
7 m% H3 ~& x, d  ]+ R3 j, Y5 l        rstat = RES_is_checked_out(object_tag, &is_checked_out);$ \" q: L/ w; D9 k2 Q! M7 k
        if (is_checked_out == true)0 E% H, n: N1 E5 e% Z2 j& m
        {0 F- g/ Z6 l5 I2 S- s. W1 Q5 D- N
            tag_t user_tag = NULLTAG;" z3 X6 |+ X, e# v0 a# D
            tag_t group_tag = NULLTAG;
2 c2 z! T0 w. Q/ ?- P. G            rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); , ]4 t9 `* L- r- j* g
* c8 U6 B& g) X, i. O
            scoped_smptr<char> user_id; ' r3 s7 F) c4 K0 t2 M
            rstat = SA_ask_user_identifier2(user_tag, &user_id);( K9 R9 P* |3 Q( P/ \
; P9 ?* L  R: \) D8 m) v+ {
            char msg[] = "   Checked out by: ";; S0 ^: ?! L- ]
            cout << endl << msg <<  user_id.get() << endl;
( a2 S6 Q/ N2 t) H' q# b5 C# _            is_checked_out = true;
* W8 y' r3 `  v$ d+ q! ]2 R  g- A        }# j. U5 ^" o: w8 U
    }
4 X1 E+ ?  R9 @3 s1 ~  f    catch( const IFail &e )* p4 Q" G+ z- E
    {( p+ D/ U) v  F+ o: A, m4 X. R
        cout << "error " << e.ifail() << endl;- ^. ^. {; S  q7 E
        cout << e.getMessage() << endl;- q6 _8 J. M$ T6 v/ \
    }
' W2 c- S' l( ]    return is_checked_out;
7 t/ K6 p2 I% N/ L) w}[/mw_shl_code]
( F* B! N4 F9 L! j! K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了