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-国产软件践行者

[二次开发源码] NX二次开发源码分享:NXManager中,获取用户的组和角色

  [复制链接]

2019-12-10 17:53:21 3967 2

admin 发表于 2013-11-6 19:00:16 |阅读模式

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。
( H( F) ^, ^, \% V& n. y! |* N: f# y9 z7 N
  1. #include <stdio.h>* ]: N  z" C$ f/ ~- v) c
  2. #include <string.h>
    4 w) Y7 W9 h- s. D; w: \1 J) M$ `
  3. #include <uf.h>
    $ [. `  }' A: B) C
  4. #include <uf_ui.h># p. A8 V& z7 @0 h" g" Y0 }
  5. . E: o- b# J1 m5 Z' w! O
  6. #include <NXOpen/NXException.hxx>
    ( Q3 E% N5 |5 `8 P
  7. #include <NXOpen/Session.hxx>; v+ b% Y% B& j  t5 m' h
  8. #include <NXOpen/ListingWindow.hxx>" b) t. f- j1 D
  9. #include <NXOpen/LogFile.hxx>
    6 V8 a$ ^6 v6 b3 x
  10. #include <NXOpen/PDM_SessionSettings.hxx>5 i, J1 n' A- R9 T
  11. #include <NXOpen/Part.hxx>
    1 P/ t& E# T5 ]2 Q2 k% F3 h
  12. #include <NXOpen/ParTCollection.hxx>! x) n' X; I( t1 V
  13. #include <NXOpen/Session.hxx>
    . H7 m) I) _3 l( J: K% ~
  14. ; T. M4 c& H, @8 o5 d/ y
  15. using namespace NXOpen; // <== Very Important!6 S) h+ g8 L) ?1 `1 i3 Z) J( K0 o
  16. ; p5 U, ~) A% \# e7 S1 e0 B' l
  17. #include <stdarg.h>
    3 h) a( O1 `1 b0 G7 `# {+ Q6 i
  18. & J9 P' P& E- o/ t
  19. static void ECHO(char *format, ...)
    2 S, E& w1 }' Y) d5 \& R4 k0 P! r: A$ o
  20. {" t& X2 D( H# k( [& @+ i
  21.     char msg[UF_UI_MAX_STRING_LEN+1];
    . O/ A+ C) J; Z
  22.     va_list args;
    6 x0 w+ _; h, b$ c+ b$ I4 f; B  r
  23.     va_start(args, format);
    % C9 t) Z+ ^8 e/ s& P3 T4 Q
  24.     vsprintf(msg, format, args);
    ) _+ P+ l# ?: ~/ Q
  25.     va_end(args);
    6 X9 R. }! B8 |1 e
  26.     UF_UI_open_listing_window();  F! O" H1 G1 C. X7 v/ p
  27.     UF_UI_write_listing_window(msg);* `( J! A& g* q/ n7 ^4 I" Y# l, |
  28.     UF_print_syslog(msg, FALSE);
    % d. e6 b" a) i
  29. }
    ( T) h) s/ w& i8 ]8 e& g  Z4 M
  30. ; B6 I* z* m7 ?( T% d7 C4 Y
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))+ s) Z  C# n6 D3 ?9 f- h6 w# _/ a! M

  32. 4 t# [  P% j/ F8 b7 ~
  33. static int report_error( char *file, int line, char *call, int irc)" h) Q' x- O# }9 a4 a, e
  34. {' x9 ^; j9 y  a9 e! w1 ~8 _* ?
  35.     if (irc)6 f- }9 Y% m4 n( G& ]
  36.     {6 i8 @3 `0 v  k  H' D: M
  37.         char err[133];
    7 q4 s' l: ?, s# e: B

  38. . W# i% R! q7 l* N  y
  39.         UF_get_fail_message(irc, err);
    + x) ]0 z: g6 D
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",$ X1 z  U, J2 \6 {
  41.             irc, line, file);+ i) J0 @& S( ]- n
  42.         ECHO("+++ %s\n", err);
    4 b. K# F+ A. P/ v2 |5 Q, ^
  43.         ECHO("%s;\n", call);
    / `5 z- Q$ z0 b; X4 n; Z
  44.     }
    # @% `% ]! n' |& n( Q/ u
  45. & u% r# s. `% v4 L: k: H, ~
  46.     return(irc);. k; m( _/ p1 U
  47. }5 C5 g- S' c( x) h, @
  48. 9 W5 h/ [& h% Q  [+ [' V% X
  49. " j" j1 L2 T( u5 j% |: Z
  50. static void do_it(void)
    # E- t7 z0 \0 E3 U5 C
  51. {- A: c0 ^- L  U( e1 [
  52.     Session *theSession = Session::GetSession();9 D) }1 w# u1 O" ^  Z: [9 R
  53.     Part *workPart(theSession->Parts()->Work());
    ) \- T( |$ j# G! H2 ~7 P
  54.     Part *displayPart(theSession->Parts()->Display());) _& J. w# W; l: h- R2 F
  55.    
    / q" }$ t, a' h
  56.     PDM::SessionSettings *sessionSettings1;% t6 Y, J/ t1 g" @. X
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();
    0 N6 J" r- o' _
  58.    
    8 Q( k7 m+ L* [6 s/ k& F
  59.     NXString CurrentGroup;
    7 n- @9 ]) c- s: v( e. G
  60.     CurrentGroup = sessionSettings1->Group();
    7 l; A/ i; ^$ S, z: `
  61.    
    " F+ e- a% E9 l8 d$ R8 g9 Z3 n4 [
  62.     NXString CurrentRole;
    " t( S9 n2 h! T5 ~9 ?; a* Y# `) ~
  63.     CurrentRole = sessionSettings1->Role();2 U  \0 A+ A1 R$ C5 d
  64. # p- u2 x6 K' z% j$ [# H
  65.     theSession->ListingWindow()->Open();+ a9 u/ a$ t  o
  66.    
    , b6 h# U% X. S: Z  E: C. R
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");, w9 I5 l! T: {) x
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);
    ) }1 t  o9 U9 w4 B/ S; X7 A3 |+ v
  69.         
    1 h) A6 h+ j7 L0 Y% U/ c
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");    9 }1 u! l% N1 C7 _' n' u4 W, m* H  Q
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);
    2 ]0 B- h6 u; x. t, M% n
  72. 6 S  h. a0 m* _$ X' S1 O1 p) m
  73. }
    - O- z0 m9 I, A7 S

  74. ' F: x+ }$ i& B7 r" L4 |' V0 m
  75. /*ARGSUSED*/; }3 q; P. t% c2 I2 d# T" V
  76. void ufusr(char *param, int *retcode, int paramLen)
    4 q' h  T) R9 [- H. s; G1 P0 k  I8 n/ ^
  77. {
    ! Q' {# Q$ d3 g; N0 l6 j6 H
  78.     if (UF_CALL(UF_initialize())) return;5 m1 q3 H$ A6 V1 m" g6 U
  79.     do_it();9 f6 x% l4 u$ c
  80.     UF_terminate();
    6 D* X1 n$ [. x
  81. }( L. p$ }3 ^% p" t, s2 w/ G
  82. ' k( L/ N: z+ o# l7 x
  83. int ufusr_ask_unload(void)! o7 j8 P9 L/ |4 R: t8 _) r. D
  84. {. g7 g* e: h! e! v
  85.     return (UF_UNLOAD_IMMEDIATELY);
    ! d5 I. e/ x$ i4 \" ]
  86. }7 O2 x* e8 H4 j+ B) r
复制代码
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复2

yuleihz 发表于 2016-4-16 23:42:58

yuleihz 沙发

2016-4-16 23:42:58

主要体现在哪些地方吗
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

licxsw 发表于 2019-12-10 17:53:21

licxsw 板凳

2019-12-10 17:53:21

为什么拷贝代码 会产生一连串乱码呢?是防止拷贝吗?
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了