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 2916 0

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息* ~( M' }& w7 u; Z
8 |3 S- X- j6 E5 z7 h' S9 `8 l9 E

1 l" }. S6 R: {Teamcenter c++ 方式:& W9 U6 W) o$ J) u* M% o& L7 Q# k

. d; Z- X- z; x
7 C) ?- l! }! \7 f
#include <iostream>
6 z$ y, T2 |' s7 @#include <sa/group.h>
1 H4 U" J$ R, ^% z* L#include <sa/user.h>
4 Q! [% r; D* R; Y" \9 U#include <TC/LoggedInUser.hxx>
6 M/ N) N/ Z* [! w+ I2 O7 z5 l* M0 V1 Y% U' C5 e; U. S
( }" W# L- o+ B1 P
using namespace Teamcenter;
: M0 e, b/ r6 X# gusing namespace Core;4 d1 |9 `$ o  k0 d
using namespace std;$ l1 k9 p, R9 D4 j4 k6 a  _7 O

& e" _& r$ {* \2 B. _
6 V8 g( q: [8 V$ S% L
static void reportCurrentLoginInfomation()
$ W/ {, q3 ]2 t" o{
8 u7 {* }2 A5 ?( ~    int ifail = ITK_ok;
* h* C1 _3 b; L8 Y3 [    LoggedInUser* loggedInUser = LoggedInUser::getInstance();# k6 s2 S% D: ^; E! t
    4 r$ @5 h1 l; O- A" n
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
  o: G# E* Z; P: r1 {% Z" R7 F' }& W    cout << "    currentUserTag: " << currentUserTag << endl;
+ r1 Q! V" B8 t$ T, g9 Q0 h, D# i: R   
# E9 F) W3 e) v# [    char *personName = NULL;
. J3 }1 L1 s8 n  ^: n1 U' U4 O    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
# X' o  t/ ?) K7 J, j2 ?, ]' I9 E    cout << "    personName: " << personName << endl;
% W2 i( n( u8 a; t8 K    if(personName) MEM_free(personName);
4 W' q# t; @6 @0 e+ K   
( A5 N* h0 V- `+ I/ i    const char* userID = loggedInUser->getCurrentUserID();
. i! W2 N2 V) p3 P& {    cout << "    userID: " << userID << endl;
7 i4 \1 v/ Y2 z5 ^  o$ i
4 V6 F! _- J3 A4 n9 T7 P. E
1 z: v0 Z/ v6 O6 M7 n  l( V
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
* m& w5 |5 b* j   
# G: P4 o) B0 b  B/ ~    char *groupName = NULL;' O2 L- Q+ H+ H6 T
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));- S( F, A' V1 m; x3 t/ l8 s' d
    cout << "    groupName: " << groupName << endl;
# @9 f8 H; j; a3 c& X+ b    if(groupName) MEM_free(groupName);+ ^' B" H) `1 P. l) K

4 F4 O, u. R  I. T
$ l2 R# n6 u7 R8 N
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();) K5 ?" t" @+ z! T/ X0 C
    char *roleName = NULL;2 V3 w' K( B2 U, b
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));0 L& u" d; \: k/ M6 L
    cout << "    roleName: " << roleName << endl;  C/ A; f4 {$ M# b
    if(roleName) MEM_free(roleName);
( C' I9 B/ X6 P  ~, h% I( I1 e! ^   
& a2 a1 f: B* y* I; ~7 g( ]  R    logical isDba = loggedInUser->isUserSystemAdministrator();
5 e/ r* O- d) {9 v' J/ U& g* u    if(isDba == TRUE) cout << "    User is dba member "<< endl;
" b, q5 D. q& R' q. j6 m    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       3 X5 u0 a2 r4 s: G: f
}' L" p( S( `, X. G6 W; Q5 ^/ L
$ G( s+ F$ @* [2 O% X0 O* S
3 @# N' V5 ?* w7 w9 Z4 n# D! Q4 T
3 z) l3 I1 p. K
/ P. y& g' O% ?

6 ]& D1 f8 A6 z/ H4 pTeamcenter ITK 方式:
# v: R% Z: Z/ i! \3 p5 C& o+ L1 ~$ K5 _

" l8 V- J" E; t) Z5 O6 b% r/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */. d6 p6 I1 w/ ^& D
static void report_current_login_infomation()
6 o# Q9 V  c9 l5 r+ X& \{$ a1 X" w, B& }! J& E8 D
    tag_t 1 R6 z6 N' H. [2 o
        current_member = NULLTAG,
- g) @7 k  r5 z6 x/ {        current_user = NULLTAG,
2 o3 g, e' x# I; Y! X# A        current_group = NULLTAG,  
! p5 z- b$ e- t' a) I$ w  ]# g7 y# t        current_role = NULLTAG;9 |; N- X- i$ I; f3 j, Q# {
    char 5 J  I  h1 i4 X4 s2 z& |( Z
        person_name[SA_person_name_size_c+1] = "",+ I9 C" r/ o" j4 |/ ?9 r! y
        user_id[SA_user_size_c+1] = "",  
. f) J$ E( z2 Q! V9 i4 e        group_name[SA_name_size_c+1] = "",! p2 j* e# J1 D4 f! u9 }
        role_name[SA_name_size_c+1] = "";  2 C# Q1 o! r1 G' E  V. }

' \0 M. s  {  z) G

! `8 A0 j3 h$ d! E$ x2 d, W    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
3 [, E) f: |1 X6 o7 s( {    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
9 b, K# f& C) p! E' X. v   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));! M0 \7 T! W1 M+ i. Y% b$ Q. c+ l
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));' T6 U+ m- ~' {+ N; P7 q4 e
  Z) Q; W& N$ y- D; m
  M) b' h/ T: J# A) f+ i
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
: b0 ^" B  ~* S    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));2 C8 O8 U3 {  L& M0 N
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
) a- ^4 A+ s2 E- [; L9 w    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
$ d! N! j# H' q+ }% o  j0 n# c& {8 e9 C
2 E4 w% F& z* U- ^$ Y
    ECHO("\n        Person: %s\n", person_name);
' p: F3 k( t2 b$ ^5 I    ECHO("       User ID: %s\n", user_id);
6 e+ l8 ^% Y3 ^/ j# k2 F9 {    ECHO("         Group: %s\n", group_name);" U* @0 M/ @0 k9 v
    ECHO("          Role: %s\n", role_name);
# {! R% f: V4 k, q- B& q8 r}
% q$ N( D7 D  Q& ^, X3 M# Z2 u5 e/ R  K$ W" x- }
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了