PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

PLM之家PLMHome-国产软件践行者

[二次开发源码] NX二次开发源码分享:NXManager中,获取用户的组和角色

  [复制链接]

2019-12-10 17:53:21 4047 2

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

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。2 w  d: y" E7 b! U( ~

* C' n/ v1 n) B- ]7 U3 @
  1. #include <stdio.h>
    7 l; g0 b1 s1 _6 y; W8 }' _
  2. #include <string.h>
    7 w5 y) ~( Z0 B! o- w7 |( U% A" \
  3. #include <uf.h>' Y) \6 f0 `2 v4 Q+ w3 D
  4. #include <uf_ui.h>
    . J, p1 [  w% g
  5. 5 g7 H7 g# V3 ]% n
  6. #include <NXOpen/NXException.hxx>
    0 F, t9 B' z6 d: O# l5 [- ]
  7. #include <NXOpen/Session.hxx>$ M* s3 e1 z' r: q
  8. #include <NXOpen/ListingWindow.hxx>
    ) |, t) R; `  B9 \& j
  9. #include <NXOpen/LogFile.hxx>
    ! r; j! X; @: s$ N8 @" n
  10. #include <NXOpen/PDM_SessionSettings.hxx>8 A" ]  J0 d' {4 B3 ~# n0 |$ U
  11. #include <NXOpen/Part.hxx>
    ( U, D5 @/ N/ _
  12. #include <NXOpen/ParTCollection.hxx>
    : S  w# x  p' l/ b6 D. X: y5 @7 S
  13. #include <NXOpen/Session.hxx>
    1 q5 q; ~8 F' X) t% U
  14. 7 S( o. c) A8 D9 P& N4 ]+ m8 E
  15. using namespace NXOpen; // <== Very Important!1 k' o, O- D3 I4 V

  16. . _% i4 G" k( {6 P- w: Q, m" u
  17. #include <stdarg.h>$ F, K5 \# S4 [" r
  18. $ G  F. s; ]$ ?' A) Y
  19. static void ECHO(char *format, ...)8 d' x2 r) X. C5 I% H* c: ^) a( b
  20. {. r; ^4 _+ d% l0 l, F" X
  21.     char msg[UF_UI_MAX_STRING_LEN+1];
    % o% |, @: Z& W
  22.     va_list args;! g, \: {0 X7 m! u0 r
  23.     va_start(args, format);
    + ~) y4 C8 r# b& |2 L
  24.     vsprintf(msg, format, args);" r$ h/ b' e7 e! y4 D
  25.     va_end(args);3 A; P- U' K: n$ Y: p+ y9 W
  26.     UF_UI_open_listing_window();. @& |' H% Y% L+ q" |) R: J
  27.     UF_UI_write_listing_window(msg);
    2 v$ s( O& k5 k  M: s0 d* B
  28.     UF_print_syslog(msg, FALSE);
    ' B' [0 C: R1 [! d2 U
  29. }
    7 c  Q3 t/ d$ B: z, ]& u

  30. 6 m; J; o- U) }& D' s
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X))); B- G9 G! a! p' \. K

  32. ; `+ M  u8 h# _# j7 e
  33. static int report_error( char *file, int line, char *call, int irc)
    ) `. I$ e5 f% n% ^" B
  34. {( T1 B1 f$ G' r1 x
  35.     if (irc)
    ( ?% Y, U5 E5 m1 P# ~, j; e
  36.     {
    6 s8 `" {2 H$ W
  37.         char err[133];8 a! ?0 K! l  }
  38. 9 T( Q6 q' Y( _- y& I0 E
  39.         UF_get_fail_message(irc, err);
    % C* G7 o9 L/ l4 e! b
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",
    : C" ~( R8 e" f! C. V# }; w& C
  41.             irc, line, file);$ q( L" t; h* j: c8 e
  42.         ECHO("+++ %s\n", err);, ?: @) V6 u- T; Y  k0 U6 h
  43.         ECHO("%s;\n", call);' F3 p- V# g* q& D! f* ]- d
  44.     }
    9 ^% G: J4 [8 @- B" r4 G/ Q
  45. : `9 b! \& o, f/ i: a& l5 w7 l% S$ N0 a
  46.     return(irc);
    : N% j2 v- N; w$ g* M- |
  47. }# @9 u/ ?. {8 S/ p) i

  48. * V) r  R3 ~9 I. j) S% C+ ?
  49. 4 K- ^; [$ r" b9 ^  T# K1 ~0 A
  50. static void do_it(void)5 [: U0 U. H( d5 f
  51. {. I, D0 k8 ~6 Q! v% F$ Q
  52.     Session *theSession = Session::GetSession();! V# W0 z% w$ f! T# h
  53.     Part *workPart(theSession->Parts()->Work());
    - g% m; M  p7 A! X  P. O' @& ]
  54.     Part *displayPart(theSession->Parts()->Display());
    " J7 [& c$ C4 n8 Z
  55.     2 G: o, J$ T3 ~3 F  S* n
  56.     PDM::SessionSettings *sessionSettings1;
    7 ]2 r" V3 m+ `0 P3 s
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();
    * w, L8 c5 \7 B( B& Y8 E
  58.     ) }. C+ Q3 p7 p5 ^
  59.     NXString CurrentGroup;0 s5 v& q# R& h* B4 l% @
  60.     CurrentGroup = sessionSettings1->Group();
    7 C: g  h' D  |1 v, _- [" w2 @! r7 w
  61.    
    # A1 P5 \1 I4 l  `- [
  62.     NXString CurrentRole;
    & ~' i6 |. s2 T; `
  63.     CurrentRole = sessionSettings1->Role();! i' L( A1 [+ _" q

  64. 4 v( K8 g* [' V9 D5 M
  65.     theSession->ListingWindow()->Open();2 Y' y. d3 D9 I3 t
  66.     8 r/ I" S/ ?% a! `1 P; ~0 M
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");1 \! v+ O! e# c, f) r
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);2 B3 S3 Q/ _* v. ^6 S& G
  69.         
    0 E9 X/ s; T; |0 y
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");   
    $ O- y, F3 J, H8 N  `& w
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);: l) _) `* w$ S4 p

  72. # ~/ r$ ]; s$ m# u# Y
  73. }# t; K! u% f$ N7 @6 w% s

  74. 8 N' y; {7 F+ [! |4 h
  75. /*ARGSUSED*// i2 S! N2 F  z$ Q3 V) ~
  76. void ufusr(char *param, int *retcode, int paramLen)
    . B1 c( |& N% T
  77. {' ^  }+ V4 N( ], U  j6 V) b$ o
  78.     if (UF_CALL(UF_initialize())) return;$ |7 P7 J  q7 l# ~- A
  79.     do_it();
    & W2 `7 Q: P# D
  80.     UF_terminate();9 t* h% a0 f4 ]2 K
  81. }
    0 q2 U2 w! f9 s" O
  82. 8 P- k0 `& h, H4 T8 {/ r# g& D4 j# y: a
  83. int ufusr_ask_unload(void)/ Y' [/ n& _, G/ e* a/ A' t7 W' u& ]" d
  84. {9 |0 ?8 d  V0 f% J
  85.     return (UF_UNLOAD_IMMEDIATELY);
    5 I4 }+ ?) X& w8 |+ i3 u
  86. }
    ! H; o6 b! n) @  n' H$ D0 T
复制代码
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了