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

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

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。0 G  h  Q; G; y& D+ @& v

4 q7 E; k' E$ N1 r/ K6 Q/ ?; C
  1. #include <stdio.h># q3 i' B% c) R2 h
  2. #include <string.h>
    ) \* k* ^% H7 A" v; z$ Y
  3. #include <uf.h>  N) x9 K3 A! s) ~' I3 r- ^1 G9 O
  4. #include <uf_ui.h>1 H: t( s2 \* C, m$ z

  5. + v! T% @0 x; F2 N
  6. #include <NXOpen/NXException.hxx>! R7 p! R/ M% I' k7 O0 q' W
  7. #include <NXOpen/Session.hxx>
    1 d8 I6 k8 J6 [$ k
  8. #include <NXOpen/ListingWindow.hxx>
    : r6 K7 r4 P8 s
  9. #include <NXOpen/LogFile.hxx>
    % \; v% B8 }* E. R8 n
  10. #include <NXOpen/PDM_SessionSettings.hxx>
    * B# f6 T# k5 p- ]5 h
  11. #include <NXOpen/Part.hxx>
    / Z7 V" {) n/ v4 O6 }% r2 }$ u
  12. #include <NXOpen/ParTCollection.hxx>
    ; j8 c% \" Q( N$ o
  13. #include <NXOpen/Session.hxx>
      e/ Y! y" a9 B8 @; J& M
  14. ! w$ i" p. \/ h2 {" ]
  15. using namespace NXOpen; // <== Very Important!
    . G2 D" Q$ C  `) s
  16. 3 ]6 P( L2 U4 G, J
  17. #include <stdarg.h>
    8 \/ |3 L$ J2 a! |
  18. % h$ G5 Z. u2 J5 d" a5 O0 f
  19. static void ECHO(char *format, ...)$ m2 r" d  {* K5 m6 d
  20. {8 u# k1 ^% M' M6 w
  21.     char msg[UF_UI_MAX_STRING_LEN+1];
    ! P6 M5 a& T% E; S3 X( L
  22.     va_list args;# [0 V! S& f* k
  23.     va_start(args, format);
    # `3 J' _' x, U* i& e) w" e
  24.     vsprintf(msg, format, args);& F, }8 m7 x9 `9 N/ ?
  25.     va_end(args);/ l0 m( _4 m) N$ |7 N; a
  26.     UF_UI_open_listing_window();5 u" d/ ?7 {! h: n0 m& J1 V8 I
  27.     UF_UI_write_listing_window(msg);
    0 z( W- j. B" h% o8 A$ T, l1 I
  28.     UF_print_syslog(msg, FALSE);; z. e* g% O  d5 ^; s6 w1 }
  29. }
    * G0 M; s: P9 E1 a( ?& w/ z
  30. $ e: p6 V5 K# o
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
      e0 \% L1 N. L/ ~6 N$ G9 K
  32. 6 Z4 C/ m' `. F9 a1 d9 u
  33. static int report_error( char *file, int line, char *call, int irc)
    7 v8 _% V6 J; k
  34. {
    , ~& t0 M: }) G1 {* r
  35.     if (irc)- P( n$ D  y1 r) ?; }
  36.     {
    ; ^+ I1 w8 r7 S  L9 ?, U9 E) Q, ~
  37.         char err[133];; ?8 K$ N9 i2 ?  z$ c8 w8 P' W

  38. : F" ^! i0 l# P! r9 `
  39.         UF_get_fail_message(irc, err);
    # i9 D) C$ ?$ x; |& y
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",
    " A+ }7 [5 U) @" l
  41.             irc, line, file);
    6 R' I7 v, L; t) {. a  s
  42.         ECHO("+++ %s\n", err);" o/ O" ~0 G- k. ?* h+ C
  43.         ECHO("%s;\n", call);; C2 P5 f  X; A/ P& H
  44.     }
    . B& j5 C/ `6 T# @( n: n

  45. $ P; Y0 f* H; {" H6 y
  46.     return(irc);( p- H) i' x9 R3 o2 W" l! ~
  47. }
    0 \4 m# @" h1 h* j4 h$ M8 K! Y

  48. 6 x* c9 q; p  N* p7 J1 Q

  49. 3 g" l; Q: }0 C* I8 \
  50. static void do_it(void)
    9 _. m  J1 O/ Y8 G& S
  51. {5 X5 Z: z% T% g" K0 x
  52.     Session *theSession = Session::GetSession();* y: z: X/ F- u" G
  53.     Part *workPart(theSession->Parts()->Work());- t, r2 j+ W' Z& _+ L
  54.     Part *displayPart(theSession->Parts()->Display());
    + }0 c, o, n1 j& O  |! ]% O
  55.    
    $ A4 h+ ?, S* b6 |" [
  56.     PDM::SessionSettings *sessionSettings1;0 |6 E: c; y. E* u: j1 \7 Q- C
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();
    8 ]- l9 A/ R7 _, G4 F5 [! v$ y
  58.    
    4 |; `# [) l1 Y
  59.     NXString CurrentGroup;. B- G. l, \) ?  F: F
  60.     CurrentGroup = sessionSettings1->Group();# E) M) L2 u8 D0 w' D3 k- e6 o/ t: x
  61.    
    ( V. o, v: e: s) \
  62.     NXString CurrentRole;; [5 u! d9 D4 R2 }
  63.     CurrentRole = sessionSettings1->Role();
    , Q3 S% v$ J: o/ K9 @" b. m; i

  64. 1 D8 A* f' D8 j( Z8 o
  65.     theSession->ListingWindow()->Open();
    ( e" ?. `. |  L8 M+ n$ {  f6 I
  66.     + G! X& h; D$ B* [; q4 \4 p) S0 Q1 W
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");
    * z) k8 @9 g8 a$ o
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);
    . \* [# H* f6 U
  69.         
    7 T8 b1 Y: p/ _  M9 P7 ~; v, z
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");    ( a, `/ n+ m9 A& S# {3 c
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);
    0 n$ J1 U! A+ T2 h6 W/ K% o7 f2 q

  72. - Q5 x+ S# r/ p; K% ^& s
  73. }0 H, W8 e4 {0 F* ^' o0 S

  74. 6 p( {; z/ a! g* }7 b- N0 u/ x/ M7 M
  75. /*ARGSUSED*/! z# d; [" Z4 L* m1 |' M
  76. void ufusr(char *param, int *retcode, int paramLen)6 _4 G+ I' I5 E8 I/ N0 o7 S
  77. {( c2 j( X) i7 P
  78.     if (UF_CALL(UF_initialize())) return;
    " z* {4 R3 R  e
  79.     do_it();
      p( O$ u0 z4 J& u: w# b( P0 P
  80.     UF_terminate();( k# K8 D5 c: C
  81. }& l. E% w9 Z+ C; L0 }
  82. * ^0 {+ M/ h- }4 Z
  83. int ufusr_ask_unload(void)
    5 V+ K! x5 S2 U' C
  84. {1 V( x/ ^7 B5 m* n% I. Y/ c0 m
  85.     return (UF_UNLOAD_IMMEDIATELY);5 N) H8 K. J" U8 g; V
  86. }
    * {: K0 ^6 k# t( F7 P7 m7 x" 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二次开发专题模块培训报名开始啦

    我知道了