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

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

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。
9 O8 y$ O$ l4 P& p/ Q
5 {7 K4 R- a5 B; m; e) i
  1. #include <stdio.h>  f% O8 S0 `+ B( ?( n; a
  2. #include <string.h>
    : }( [5 C2 I3 E( p) ~
  3. #include <uf.h>
    5 H* ^; Y/ f; Q" N% s
  4. #include <uf_ui.h>
    ; A: L# \4 U. k8 q; z+ J+ m3 q% B

  5. 3 d" _- h$ b  D4 e5 K5 X- ~
  6. #include <NXOpen/NXException.hxx>( i) W& x# \& P
  7. #include <NXOpen/Session.hxx>
    ! _* U. d; t7 C
  8. #include <NXOpen/ListingWindow.hxx>
    6 x. o+ H( N  y* Z, j- h& W) I6 m
  9. #include <NXOpen/LogFile.hxx>: s2 l+ i0 d, d7 a$ o
  10. #include <NXOpen/PDM_SessionSettings.hxx>/ y  R* b0 {. e/ e7 b* ^0 D7 x
  11. #include <NXOpen/Part.hxx>
    8 p! x# P3 [: v
  12. #include <NXOpen/ParTCollection.hxx>+ Y. w" {! y! f! P: d
  13. #include <NXOpen/Session.hxx>8 M% Y! u$ b# R

  14. ! @6 v0 ~0 y6 T4 ^
  15. using namespace NXOpen; // <== Very Important!2 [( i. l* }& y: a0 H

  16. 3 w# P' B+ Q' k- w
  17. #include <stdarg.h>% }& V- M! `' f  b. m+ ~0 Z
  18. $ q: s- t' L/ V+ V% l0 F& N' i
  19. static void ECHO(char *format, ...)2 s* g4 n2 ~9 T6 ^
  20. {
    + x$ \7 W9 W" p
  21.     char msg[UF_UI_MAX_STRING_LEN+1];- W) r4 s& N  a  _+ c7 ~
  22.     va_list args;
      G: S: e& R% Z3 `- I8 @+ [
  23.     va_start(args, format);/ z9 s9 {1 @4 N. C! C! }; v; C
  24.     vsprintf(msg, format, args);) ~& F6 U& m0 _* z0 L+ H
  25.     va_end(args);( W0 \' u- z# w! _1 J5 p  u
  26.     UF_UI_open_listing_window();* ]' C+ q5 G5 g- T( U
  27.     UF_UI_write_listing_window(msg);* S. M3 r- u/ y* N- c' V3 o9 a
  28.     UF_print_syslog(msg, FALSE);) ~, O* z* w2 A
  29. }
    & z/ y: X8 V1 C

  30. * ~: c" x; V4 C; _# F. {1 \
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))! t/ T4 _- e$ `  B% U$ z

  32. 8 X, a  v1 X6 p4 A# V" @/ ]2 G9 N
  33. static int report_error( char *file, int line, char *call, int irc)- x! l( C  h. i
  34. {
    8 J5 S" ~+ c' @; N$ s1 f
  35.     if (irc)
    0 E) n- @- [$ ^
  36.     {. [# m6 K0 U9 a
  37.         char err[133];
    * G# u2 _" [7 a3 I- g
  38. - z3 f2 J9 a6 D# p: m8 k
  39.         UF_get_fail_message(irc, err);! i/ s) A9 }; X0 g5 \
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",: y0 V" Z. W' u- |; [- ^3 C
  41.             irc, line, file);( @8 O/ J# _% i( t& u# Z
  42.         ECHO("+++ %s\n", err);
    ! b$ }5 m1 u5 n0 e; g& q
  43.         ECHO("%s;\n", call);
    ) O2 x0 B8 Q7 ]+ i8 `
  44.     }
    * U3 z3 i: }, ?4 h$ \* D( s) [
  45. / R8 ^! N7 w& ^; _
  46.     return(irc);% M6 D4 \5 ~; _. s! O3 }- P3 B
  47. }2 `8 z5 {2 }9 r) t6 W* g- A

  48. 8 G/ ~9 x7 c* T) S! ^

  49.   F2 N: ~0 L2 o2 z* |
  50. static void do_it(void)
    6 q# Y, }; [! Z' S! x' Y* o
  51. {
    ; |# v# m; v& R
  52.     Session *theSession = Session::GetSession();: e  M& H# H% N/ N) u
  53.     Part *workPart(theSession->Parts()->Work());4 g, `0 n& I( l+ {, G
  54.     Part *displayPart(theSession->Parts()->Display());
    + B5 \# p8 U; e9 T8 [: I( B
  55.     9 x/ V  G' o, c( [" x* z& F5 N
  56.     PDM::SessionSettings *sessionSettings1;
    + |/ [; {, s5 Z
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();
    - y: C8 p) c- j$ Z. d& f
  58.     / H# B& F$ r+ B( X1 h& A+ H
  59.     NXString CurrentGroup;
    0 c4 C" ]' f( Q
  60.     CurrentGroup = sessionSettings1->Group();
    7 a3 p. p. Y2 f+ [
  61.    
    ) u6 q- F$ Y7 J
  62.     NXString CurrentRole;& e1 m$ j% Z! W
  63.     CurrentRole = sessionSettings1->Role();
    $ L6 S& `% P( [, R5 E3 Q

  64. : I7 \. O6 b7 B. L$ I7 ~
  65.     theSession->ListingWindow()->Open();; j; J+ F& _; u" M2 S
  66.       @3 S6 G$ a- P+ U2 B6 q& _
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");
    3 G$ D* V! T0 s$ e) f# n) a" a. V
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);- Q7 }5 N+ }/ y* w
  69.         
    3 v9 h+ U4 R9 L- a  N9 i+ j+ l
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");   
    * l1 L% a3 ]8 h) Y, _
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);
    $ i0 V7 P1 {& K$ h2 s, X

  72. ! P! ?% J& R; S' Z
  73. }+ J' d6 R+ u1 H" _( }
  74. ! G" ]8 x8 D0 e; y/ u
  75. /*ARGSUSED*/
    " \( a) |8 Q. G; E/ Z& H# ^: D% X8 S
  76. void ufusr(char *param, int *retcode, int paramLen)
    $ r1 V( V7 g* b% d- U/ d  e) b0 c) h
  77. {! x( Y# @5 j: X* v" r4 m7 O
  78.     if (UF_CALL(UF_initialize())) return;
    , R6 {  s; b$ X2 B
  79.     do_it();" x0 ?  p& W4 U) J8 B# x8 N6 w
  80.     UF_terminate();
    ! W! ?( F, q- q0 l$ g: O
  81. }
    # ^5 A/ h3 Z( j& A7 J2 ?' [7 Z$ h0 d

  82. * \! K5 t7 Q3 f9 F
  83. int ufusr_ask_unload(void)$ W; Z  I0 A' F3 L" C
  84. {: j4 D& B0 {7 Y& P+ U1 q
  85.     return (UF_UNLOAD_IMMEDIATELY);% ]1 B9 z& L3 Q5 M* h6 P/ M
  86. }* S  P, o6 y: i5 B7 |4 q8 R' 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二次开发专题模块培训报名开始啦

    我知道了