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 4016 2

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

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。
' C0 L  _1 C3 O$ H* t2 d# F- T
4 j  ~! E4 J: A8 p: x! R! l
  1. #include <stdio.h>
    ( T7 `% m! `! R! B
  2. #include <string.h>
    1 B1 Q/ b. Y2 c, K7 ~8 H; }  @
  3. #include <uf.h>; f% Q' A; `; {: S
  4. #include <uf_ui.h>
    & P7 m3 [% N- b# j+ W

  5. 9 S3 R% L& m! s' Y: N2 K" H4 r
  6. #include <NXOpen/NXException.hxx>+ d* M2 E+ I4 p7 m8 m8 |3 \
  7. #include <NXOpen/Session.hxx>4 O* t$ e& ?8 ~- ~
  8. #include <NXOpen/ListingWindow.hxx>) K' T" h8 h& r/ E5 D
  9. #include <NXOpen/LogFile.hxx>
    5 n7 q2 M. K# f! v; p& K
  10. #include <NXOpen/PDM_SessionSettings.hxx>
    ; A0 `8 \- T5 h! Q- `
  11. #include <NXOpen/Part.hxx>( w6 i7 G3 Q( S' s0 Z2 F2 P
  12. #include <NXOpen/ParTCollection.hxx>" j: k! d9 e0 I, e9 x& p
  13. #include <NXOpen/Session.hxx>8 y4 z. b4 W* x: I8 C; i* I3 l, k( Q& H
  14. 6 [8 k9 f) K) [3 T7 h
  15. using namespace NXOpen; // <== Very Important!* [* j! ?/ Z9 n, L8 @" Z( ?5 A

  16. 6 V% v% Y- C- y# m! d9 s9 E
  17. #include <stdarg.h>
    % q) }+ L4 R& v5 w/ s5 w6 y
  18. + s9 e: }, \& p7 ~2 X% R$ A& a
  19. static void ECHO(char *format, ...)
    5 p1 V( b- |# E" M5 ^7 V1 e  c0 c
  20. {
    ( }# U2 ~) w& e1 h+ U- Y* x' J9 j
  21.     char msg[UF_UI_MAX_STRING_LEN+1];
      @1 V9 ^, J0 Q  b
  22.     va_list args;
    ' `/ j& t; e! N
  23.     va_start(args, format);
      N% w# c; }; j7 ?' e1 k: q
  24.     vsprintf(msg, format, args);' q: @$ f4 g' @; o4 f1 E+ A
  25.     va_end(args);
    / Y: p8 \. _0 ]" T$ P. I
  26.     UF_UI_open_listing_window();  z" }6 j  y) K
  27.     UF_UI_write_listing_window(msg);! I& z* t0 p9 p7 r) X
  28.     UF_print_syslog(msg, FALSE);
    8 U2 g$ d1 i* j# |  L
  29. }
    0 ~8 n4 ^: [0 g1 X
  30. 2 N! q- c9 D- J
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
    6 u/ q# w, I, A. k
  32. ' d- [% E0 s2 e# j: Z
  33. static int report_error( char *file, int line, char *call, int irc)% s6 [' z9 \$ a, x3 x; c
  34. {
    ! R, @# D* k8 f6 i4 E; o2 H/ X' E* h5 J
  35.     if (irc)& D$ J6 f) d. n& Z6 @' j5 Q
  36.     {
    ) }1 U% P% P8 p8 s
  37.         char err[133];3 f9 b0 T/ V4 {- _

  38. & X4 A( {5 y( |# o
  39.         UF_get_fail_message(irc, err);
    3 Q, t& U6 z6 E7 ]  d" _* O
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",/ a! q( l! n; l2 y3 u! h
  41.             irc, line, file);
    " r+ V# \7 x5 \& S( w) z' u
  42.         ECHO("+++ %s\n", err);
    ) e. m9 l" B* ?/ ?$ G# F
  43.         ECHO("%s;\n", call);. }  O) }. y8 o3 P- }* }
  44.     }' i2 {, B7 [9 `
  45. . w6 m* h  I! T0 L3 E  u$ N
  46.     return(irc);  F# l- B  Y+ r8 t5 p$ v7 ?
  47. }
    8 }% c# w% ^3 W. x7 z* p
  48.   c4 L  [% l' l

  49. ; r8 T( @- ^# T$ J* p7 E
  50. static void do_it(void)
    - l5 l# {5 O4 k7 t
  51. {) K- J/ H0 r0 _
  52.     Session *theSession = Session::GetSession();
    4 z; j! o3 Z$ V
  53.     Part *workPart(theSession->Parts()->Work());
    1 k0 F4 S9 c( p8 v3 w' V
  54.     Part *displayPart(theSession->Parts()->Display());9 k$ P4 o+ c4 I
  55.     ' I* s% |% e. _9 n
  56.     PDM::SessionSettings *sessionSettings1;
    ' T7 B8 x% a% b1 g; N; [( ~
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();) T4 N4 R3 p0 H0 [
  58.    
      U5 t' K& `* L0 t" d6 c7 I! h6 j
  59.     NXString CurrentGroup;
    1 R# B; Z8 C7 e9 H2 u& [) }( C7 k
  60.     CurrentGroup = sessionSettings1->Group();
    1 U* T3 K% k# w4 m$ Q4 Z, r- G
  61.     ; p  u: W: ^5 w% b$ L
  62.     NXString CurrentRole;
    + Q. i  y3 D6 E5 u) }: G" W
  63.     CurrentRole = sessionSettings1->Role();, l6 u% N* k3 U  H" u0 Q
  64.   I; b% E0 j7 W. W# \' [
  65.     theSession->ListingWindow()->Open();. R& K+ `4 Y: X- m/ B
  66.    
      r" t1 U' j1 Q0 |
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");
    1 _" Z# e7 E3 B% \# i
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);. c9 }9 h- f% R3 o5 I8 T1 e
  69.         # w$ Q% ]4 [3 Z4 ?! `
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");   
    4 Z% P1 q. i9 z
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);; j' K4 M, n9 y+ S2 F1 J
  72.   a/ d( {' H/ ]9 X
  73. }
    5 Z/ F* ~+ a# Y" Y9 f  H! }
  74. ) \% a4 @% y% p9 k8 C; l0 I
  75. /*ARGSUSED*/
    ; V! F' e6 y0 n9 |; u5 Y+ x2 z6 d) s
  76. void ufusr(char *param, int *retcode, int paramLen)
    9 K6 R' E( X& n! E; e0 D, ]5 i" M
  77. {+ y, b9 q7 V4 q  e: v6 t2 Y* H4 l# p
  78.     if (UF_CALL(UF_initialize())) return;5 q: H3 d8 U: D; F( P3 n" B
  79.     do_it();
    - T2 E) Q9 X6 P. l4 m. U/ y
  80.     UF_terminate();5 N/ @# R, C% P. u
  81. }( |3 g9 g  r# p4 e5 Z5 L0 |. R
  82. , W+ D5 I4 Z% G
  83. int ufusr_ask_unload(void)! F# I' F8 J9 z/ h; y
  84. {
    ( Q+ N# l( E7 S! O( b" Q
  85.     return (UF_UNLOAD_IMMEDIATELY);
    9 K! z# @3 I  A" k, S2 m& o  z
  86. }
    : b  k% w6 M9 e) C4 j
复制代码
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了