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

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

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。% Y6 q/ b0 V! s2 T- G
5 w( w( O0 M" j4 R
  1. #include <stdio.h>
    . [$ b: S/ L$ ~: U  ~3 H
  2. #include <string.h>
    * a; A1 g9 w$ l- g1 P, G7 T; S
  3. #include <uf.h>
    " B$ C( P' b6 H4 b6 C& z( P7 W
  4. #include <uf_ui.h>( R4 L/ Z# B1 O& s: X+ O
  5. ! F$ @3 [2 G) K) K+ ^) b8 f
  6. #include <NXOpen/NXException.hxx>
    4 x4 m" J3 T' [& M7 M
  7. #include <NXOpen/Session.hxx>5 j; a. J1 w1 y% q
  8. #include <NXOpen/ListingWindow.hxx>1 l5 @) B, h$ j# l& G3 R, f
  9. #include <NXOpen/LogFile.hxx>
    . Q5 I+ M  r/ F, E/ J" R! Z
  10. #include <NXOpen/PDM_SessionSettings.hxx>; W  V4 N% h7 _) `' Q3 k0 Q2 O
  11. #include <NXOpen/Part.hxx>( s, U$ L0 t/ V! |$ L) @
  12. #include <NXOpen/ParTCollection.hxx>1 q0 |, e. B9 [# Z
  13. #include <NXOpen/Session.hxx>
    ! N9 D5 g" O6 K2 m- w

  14. 4 A0 g8 _+ N+ C  j4 q
  15. using namespace NXOpen; // <== Very Important!% f2 ?) `% @5 l, M0 C/ X' n
  16. : A& {: g) _5 M: A* M. B" ]
  17. #include <stdarg.h>9 C! W$ j& a+ Z0 T; \

  18. . \( S$ t/ }1 C7 F% u
  19. static void ECHO(char *format, ...)8 W' ^1 J5 J; [/ m
  20. {
    * J/ v$ Q4 v; ~8 A8 @
  21.     char msg[UF_UI_MAX_STRING_LEN+1];' `( D. j7 S  B7 _, c+ p
  22.     va_list args;/ R1 \( `4 n& ?5 {& W$ s
  23.     va_start(args, format);
    / P& K9 ~  H6 M& [1 u( {/ x5 E
  24.     vsprintf(msg, format, args);
    ! T+ V7 N; X9 U0 I
  25.     va_end(args);& r* N5 K* z( C4 s, ^  [( U3 y/ L
  26.     UF_UI_open_listing_window();( \0 C  m( z1 R& h9 d% Z5 Y; k
  27.     UF_UI_write_listing_window(msg);
    ) z' ^" }1 q2 x/ ]2 Y
  28.     UF_print_syslog(msg, FALSE);
    ; b& ~$ O" r6 V7 ~8 }& ]
  29. }4 R5 d( M3 E( N  G
  30. ' O" U+ @4 H, d4 d1 v! v0 @
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
    3 `7 E7 t# B3 V# s) T8 x6 Q
  32. 2 t& R" \1 v) s5 o
  33. static int report_error( char *file, int line, char *call, int irc)8 x- X- V5 ]0 G0 e9 A4 b5 S$ l
  34. {; d# Y( P+ o9 v2 m. V' `  X# I+ k
  35.     if (irc)/ @+ x: B/ R  U& V
  36.     {5 w$ J3 o/ [3 V
  37.         char err[133];
    3 V0 L9 b) {( e+ C3 Z

  38. 7 e! s" r$ F$ o6 w, i1 d
  39.         UF_get_fail_message(irc, err);5 m% V+ f" J/ G& Z
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",: z0 x/ x% p, p/ ]# }( Q
  41.             irc, line, file);  c; o' G* V% D2 z- h
  42.         ECHO("+++ %s\n", err);4 x; L- Q8 D$ J, }$ N" W* ]6 M
  43.         ECHO("%s;\n", call);
    7 [& C* s" H- r
  44.     }
    1 M) \' |  o2 V5 i

  45. : k5 p7 L7 R9 s0 M. `# g5 u
  46.     return(irc);
    ; H3 e0 A1 N9 \, K5 M# A
  47. }* W% z& `; _) x. L% l
  48. " I  s6 p" f; z3 L
  49. + o+ ]* @- K% R2 G- n
  50. static void do_it(void)/ I: u" l5 i8 M; J& W, _$ c$ e; z
  51. {
    - `5 Q$ M' A, F1 ?3 q
  52.     Session *theSession = Session::GetSession();
    * A' b5 S7 ~4 B( d
  53.     Part *workPart(theSession->Parts()->Work());# q; M" l' T  M2 b) ?
  54.     Part *displayPart(theSession->Parts()->Display());
    . d* k- d/ _+ o
  55.    
    5 _; i/ B& b5 D9 G1 ?
  56.     PDM::SessionSettings *sessionSettings1;3 \9 i, L% t# X
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();. ]* H# ]2 y' {3 [- L' c+ F
  58.    
    0 U+ k4 {0 E+ n9 `
  59.     NXString CurrentGroup;
    0 I8 P7 g. ~. I* o1 k, a0 H3 L) }
  60.     CurrentGroup = sessionSettings1->Group();
    2 Q( r+ n$ f9 \$ u
  61.    
    ) q# u) E# s0 F# H2 f/ q
  62.     NXString CurrentRole;
    + o3 U+ K3 s' ?, E
  63.     CurrentRole = sessionSettings1->Role();1 `5 S$ X4 n8 n; l- E4 \+ p8 P

  64. 0 `" }" z2 O* [7 g
  65.     theSession->ListingWindow()->Open();- x5 n1 B' e9 @$ j- L! N
  66.     3 `# n0 ~. M' o7 K, o
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");7 q' ?0 d" ?- p, b0 J* M$ y! l
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);
    ) ?, I& ^2 u% |# X/ f0 D, k" N
  69.         / T) t# Y& K2 y% ~
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");   
    ; d3 v. G! B" j3 a6 C3 F! X
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);
    0 [0 j9 J& u# I$ h* W; w' `6 D
  72. 9 W' k- g' c4 S, o5 h9 {; r
  73. }
    2 m) n- {* f3 `/ H7 Z

  74. ' b- t. y1 {! a8 H6 }& w7 r# t
  75. /*ARGSUSED*/
    * [1 Q' |& {+ @* {) ~; i
  76. void ufusr(char *param, int *retcode, int paramLen)
    ( p! W- [9 L. M+ g5 C
  77. {
    5 D& m9 y/ z9 o8 J7 ~: F, F2 [- Y
  78.     if (UF_CALL(UF_initialize())) return;
    + R# G  W6 N/ }! n/ {
  79.     do_it();
    4 o0 q& x  L2 w" s: m: y
  80.     UF_terminate();. p7 J4 p$ J0 E+ q; c6 p1 P9 P
  81. }
    & n6 ?( G6 \- x: F- A' O( k8 f0 y

  82. " q, u$ |; w1 z; o: [% c' Q
  83. int ufusr_ask_unload(void)7 F+ i2 W- T% s) H
  84. {- h4 ]( X, B8 X4 Z$ s- x" ]; \
  85.     return (UF_UNLOAD_IMMEDIATELY);) B4 c1 f, V0 t* Y
  86. }' T) s0 M5 v+ t" m4 J* t9 I* P/ R- @: I
复制代码
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了