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

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

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。
  g4 P. ?  {. m; x7 e8 S) C. o
$ ~- H* [3 Y' S, [
  1. #include <stdio.h>0 }% i) H% }& D2 s9 X7 D
  2. #include <string.h>
    9 Z- @$ Q$ ?- i; P3 y
  3. #include <uf.h>8 U9 i# J6 V. W5 h2 {
  4. #include <uf_ui.h>
    - d4 R% j! j- z; D
  5. 0 M$ _! c) O9 O, q) @& u
  6. #include <NXOpen/NXException.hxx>
    6 Y) G9 F( P$ y! h! P3 k3 d" W
  7. #include <NXOpen/Session.hxx>- W1 ~' }# d! d8 E  l  X- \( E
  8. #include <NXOpen/ListingWindow.hxx>4 J9 J! z' R6 s
  9. #include <NXOpen/LogFile.hxx>- h! p, M9 J' E" i! X$ ]5 K2 N7 v
  10. #include <NXOpen/PDM_SessionSettings.hxx>
    9 c* ~- G: x4 N; w! h3 ?
  11. #include <NXOpen/Part.hxx>: d" o6 B( }2 u
  12. #include <NXOpen/ParTCollection.hxx># I  l9 ]" c! Y+ @  h3 j
  13. #include <NXOpen/Session.hxx>
    3 j' h/ ]( C  k  o

  14. . x' B% B% V- V( {4 s
  15. using namespace NXOpen; // <== Very Important!
    & i  ~% {2 ]& }/ O4 \% s3 B' K+ z

  16. 8 D& q: g( a7 U& `  D( m
  17. #include <stdarg.h>/ q/ r( L# {$ f' C
  18. ; G% M7 w7 Z3 g. T
  19. static void ECHO(char *format, ...)
    ; t& G4 A: E+ n6 y7 B  v
  20. {: k/ b: z0 E2 q" F' ?
  21.     char msg[UF_UI_MAX_STRING_LEN+1];' D4 S- E$ L. J3 r
  22.     va_list args;
    * ~3 D1 G  q0 N" u/ ~
  23.     va_start(args, format);8 T. u) I- a- ^4 `
  24.     vsprintf(msg, format, args);, [" n9 g) f9 J  M
  25.     va_end(args);0 _% p% U. L2 t
  26.     UF_UI_open_listing_window();
    # H4 ~8 e/ ^: @0 B/ Q- J% m# T$ K
  27.     UF_UI_write_listing_window(msg);
    ' o  e5 X$ I  \. t% y0 J
  28.     UF_print_syslog(msg, FALSE);- n" B& u  G* G) s
  29. }+ h7 u  G+ r& N- _) ~; {

  30.   i4 H" Z% B1 W# Y
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
    5 V# \* m' e: G+ w# e% S$ E

  32. ) e1 w* y% S& Y9 \
  33. static int report_error( char *file, int line, char *call, int irc)# ?* c: i4 U/ Z* u% [
  34. {0 j/ ^% Q7 K4 i+ k9 H! z+ K
  35.     if (irc)
    ; w2 \! H8 `& D2 ^* t  J$ X6 B
  36.     {% J$ C9 u5 u- s6 ^) y
  37.         char err[133];
    2 I  n. _" M6 M; p4 i8 b. `; k
  38. : {' J! J2 o+ x! W/ ~1 C5 D* ~( U9 V
  39.         UF_get_fail_message(irc, err);
    ( ]: |( d- a  u+ C- q
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",
    : X4 r  c4 ?( E  e8 {
  41.             irc, line, file);) R& Q( f- x0 a6 N3 v: t8 C
  42.         ECHO("+++ %s\n", err);
    0 X9 r; I; i& h7 E* N1 `
  43.         ECHO("%s;\n", call);; G( w& t) z3 S5 S
  44.     }
      S- [' _/ }9 {+ X
  45.   y' ?% N4 w7 t& }) Y$ ~4 i- y
  46.     return(irc);
    ) A* ?! p0 W* [' C
  47. }
    $ ]" T# m0 j* |
  48. 6 c3 d6 x2 J  U& y/ P2 t. G

  49. 6 K2 B8 j5 z. q0 M2 _9 S' E- }) b; e
  50. static void do_it(void)+ z0 [* A: O+ |6 d' j
  51. {
    1 W( i$ N: Q# f5 H& [
  52.     Session *theSession = Session::GetSession();6 k! n3 C! u4 Z# h! k4 ~! X. ^- m8 l
  53.     Part *workPart(theSession->Parts()->Work());9 T$ x- V' E, o0 l! C5 L( p! p" J" ?
  54.     Part *displayPart(theSession->Parts()->Display());
    1 o$ b9 ]4 Q- B7 y4 K
  55.     - q* y' }* x- a- f5 D' l
  56.     PDM::SessionSettings *sessionSettings1;5 g9 L1 w7 W# b4 R# @
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();' F1 N) d$ f% q+ C& ?4 |
  58.     8 Q/ C3 s. s$ L7 m, ~( q9 B0 E
  59.     NXString CurrentGroup;
      I" U, ^/ @% [' Q5 D# H- w
  60.     CurrentGroup = sessionSettings1->Group();! Y4 W9 B, Z5 A
  61.    
    # g2 J4 b* D: c) a- n( l) T
  62.     NXString CurrentRole;1 w: @. N4 f* X0 _) j  S
  63.     CurrentRole = sessionSettings1->Role();0 a8 l* s; L% T: b% ^, s

  64.   s+ k0 E& r- a# r, _( t: W
  65.     theSession->ListingWindow()->Open();- e. L5 j4 \! l4 ~! K1 g
  66.     9 w" C3 V0 V% ^* }( m
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");
    # t1 u$ }5 Y' G0 V% n" T" h  r, j
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);
    6 L4 C* b4 a( b: }
  69.         
    ( W6 s8 m' T$ o, P# v
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");   
    ) K! n1 Q% S3 B8 o) f0 N
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);
    & x: l2 `* z7 _" b
  72. 9 F# o  F! q4 E# p
  73. }
    4 d+ d! Q5 g% n3 V% t/ `5 A
  74. ! j# r2 P( z/ n& @
  75. /*ARGSUSED*/
      e3 }- Y+ f7 u2 @
  76. void ufusr(char *param, int *retcode, int paramLen)
    - U; }3 R! O2 U# W" ~) a: \
  77. {
    7 g7 M' ~4 I' h2 m& U  R
  78.     if (UF_CALL(UF_initialize())) return;' B# E& T  I' F
  79.     do_it();
    & Z# c: ^/ g/ Z/ B2 b) m
  80.     UF_terminate();
    # V9 L. ]  h1 U/ T* Y/ {
  81. }2 Y' U8 u6 }9 Q2 ~7 T1 z  a
  82. 8 d& G$ }# ~! Y& Z9 l* q
  83. int ufusr_ask_unload(void)
    * v' \# P, e5 r2 t- ~, ^4 F
  84. {
    : P# j5 X, f' t6 X( o8 J
  85.     return (UF_UNLOAD_IMMEDIATELY);
    $ n$ t- h, L- V
  86. }- J3 [; P9 @( k5 `
复制代码
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了