PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

Teamcenter二次开发源码分享: 报告用户登录信息

[复制链接]

2017-11-20 13:49:47 2902 0

admin 发表于 2017-11-20 13:49:47 |阅读模式

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息
) i* q: F2 E  s/ E+ W  L# }: |9 h- A0 j9 @4 [
6 t( P# `/ A; }; W" ?" B
Teamcenter c++ 方式:
0 r5 R3 q5 G' l; l9 P5 L4 y4 M6 U8 e2 h, W6 g0 [. |5 m1 w. P8 a

8 G8 r3 b7 |: f- \6 r( ~5 [#include <iostream>4 b- M/ u+ a5 G3 j" j. E
#include <sa/group.h>0 N) `& @: x. V5 m2 c% w0 S# n
#include <sa/user.h>
6 G2 L4 T/ U* r7 z2 Y* f2 V#include <TC/LoggedInUser.hxx>
; o& f9 g5 b9 S/ G0 l: K( D; c5 z4 x0 W* b

+ \6 V0 L9 l' j+ x( ]/ eusing namespace Teamcenter;
* U8 y1 G- Y9 ~0 v6 S! M0 M$ ?7 gusing namespace Core;
; C1 q1 j5 h6 n) {8 susing namespace std;! M, [. D& W( N. }

, Y" g" P0 ^( X

4 Z" h& i% w% Mstatic void reportCurrentLoginInfomation()( @# w" n1 g: B! U3 }
{
8 d! Z5 X+ ?9 @3 d    int ifail = ITK_ok;% y( a2 r( i: V# Y. j
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();7 p1 m9 x/ d+ ^/ a( m
   
! W3 H1 N, {- B  b# |! F    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
. Z$ ^! Y3 Q* Y! T  D    cout << "    currentUserTag: " << currentUserTag << endl;8 T6 r4 b6 W+ t5 C! j0 M+ U" i/ U) a
   
3 H" q! l0 ?( H' x2 G! i    char *personName = NULL;
: [: c7 ?! i, {! N* d; ~- p    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
9 S& ]% q0 a# v    cout << "    personName: " << personName << endl;" a7 K! u4 d# a5 E  i' u- E$ G7 |
    if(personName) MEM_free(personName);, |! e& J; v) V  O+ s
    % O, Y) {2 R. A4 w7 m/ _: p
    const char* userID = loggedInUser->getCurrentUserID();
: n+ M; V. l' ~- {! K    cout << "    userID: " << userID << endl;" W7 j# S4 f) U
; y4 @0 M6 [, G1 a" @$ f, H
3 H, a/ u6 {  G! V0 U! G! t
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
& g3 L, e/ o1 P1 D    3 R. c6 V" o7 R+ D" V5 o
    char *groupName = NULL;" V+ j+ x( u# m
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
; n/ Q+ D: K8 }7 n0 j9 l& L    cout << "    groupName: " << groupName << endl;
0 w8 o8 t( `3 ^( v& o$ M- i    if(groupName) MEM_free(groupName);
8 L" j0 D! y, C' [  |- j" ~9 j' J3 ]$ U- u1 q: I( w& {
, n: o, S1 s/ k( x5 o
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();" a( k; g% R5 P# ]
    char *roleName = NULL;
* ^1 g8 q- g" B( O- m    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));! n: X( G" s% n/ G9 U
    cout << "    roleName: " << roleName << endl;7 X$ j0 c8 S- R9 p7 u
    if(roleName) MEM_free(roleName);
$ b$ ~1 X+ D* S7 A   
8 ]( @8 w  d. ]! Z    logical isDba = loggedInUser->isUserSystemAdministrator();
. d% q) b/ y# N0 u& Z2 C    if(isDba == TRUE) cout << "    User is dba member "<< endl;8 v3 F( A3 f$ A0 x: L% @% ?
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       4 p: a/ \! ?! G+ g% S7 W
}
) Y5 X& F' J5 K& a* H7 [1 i( V' O9 _. Z* A

% d8 S  v7 j' t  a( ?

( e3 \. t6 p, J" v6 s0 F2 |! a: M7 }

) q, w7 d# C. |' y; _Teamcenter ITK 方式:
- r7 ]7 e& n  P# I+ y
  o+ `- Y/ j* {- |7 V: @( y9 p1 `
0 @4 z7 V$ j2 B3 c. r+ F1 C* D1 _6 W
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */* B' U1 M2 \2 t( U; E0 @
static void report_current_login_infomation()
8 z0 i3 U' ~' R; W  x5 P{
6 d: m/ R* F  }5 Q) I4 S- o    tag_t
$ y8 @' E0 p+ T6 W; _2 B        current_member = NULLTAG, ( z; ]: V* D5 V. r3 S+ h/ N( y# W
        current_user = NULLTAG, 5 [/ e  Z2 |, W, S
        current_group = NULLTAG,    V5 o7 j! _! Z& Z) q+ [" g
        current_role = NULLTAG;
% z' X+ ~, Y# E7 ?    char
( Y/ Q+ n, V) J* l9 x. u        person_name[SA_person_name_size_c+1] = "",4 c& k7 X4 u( g" }) G2 s0 j
        user_id[SA_user_size_c+1] = "",  ) k7 ?/ E5 u2 r9 ~0 ^( S$ L  O
        group_name[SA_name_size_c+1] = "",
4 ~# i* V6 k% t, W+ W- U        role_name[SA_name_size_c+1] = "";  
7 n4 H6 R* l) f( l% N! X
4 }) P) [4 Y5 J  B
- K. g& Q& |1 x( {
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
% v; b8 M% w' S4 S+ Z    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
* H3 V! v5 f6 h3 P   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));0 e+ o6 S- C* q( {6 b5 ^
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));7 a* F* ^% P  A

1 y6 E6 Y- s% z0 R0 \* f
/ K8 r% a% m% w& T+ Y  T/ q! B
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
( \/ d- S# Z; [) h6 B+ z/ m1 J    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));* j# c; j3 A0 f: B% ]7 [1 ]
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));: _2 }+ m- `' C& C' p
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));3 O: b) S4 d8 |4 x( g. p3 b* i

; ?3 r8 o: E( O5 s, G4 ?

6 f) E/ `; T0 y1 R    ECHO("\n        Person: %s\n", person_name);
6 I* X, i3 n/ r    ECHO("       User ID: %s\n", user_id);& l) g, e+ n1 Q7 o; ^
    ECHO("         Group: %s\n", group_name);
- u" i; L& Z; N    ECHO("          Role: %s\n", role_name);
6 z& z9 e3 A! \+ U- h}! a1 w; j7 q- x( Y" A

  p8 t$ z( X6 a7 P2 n& g* J. g
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了