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

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

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。+ K  I7 P* u3 H; v% Y
% p( D; K( y, O6 m
  1. #include <stdio.h>4 k& r5 B' J+ R8 `8 S# K+ Y! h2 I0 v
  2. #include <string.h>' {  x) J2 w: L! W6 v, h9 o) t
  3. #include <uf.h>
    / @/ F  m: c9 R8 n0 z. ]$ `( U& ?
  4. #include <uf_ui.h>3 B. C2 t: s) n

  5. ( P  m$ }: \4 H# \+ q1 a
  6. #include <NXOpen/NXException.hxx>3 m$ S2 j, ]+ L, M# Z5 S
  7. #include <NXOpen/Session.hxx>& U2 m* F9 S/ y
  8. #include <NXOpen/ListingWindow.hxx># M' y2 k4 Z, K, q
  9. #include <NXOpen/LogFile.hxx>
    * h3 X. v) _; v1 O7 ~
  10. #include <NXOpen/PDM_SessionSettings.hxx>
    * f0 ]& V! ~$ ~. J  B
  11. #include <NXOpen/Part.hxx>/ r! M% [% z; h( \
  12. #include <NXOpen/ParTCollection.hxx>& s: k$ R9 M6 I7 f
  13. #include <NXOpen/Session.hxx>
    ' Z! W0 Z' @) |8 M" G

  14. $ `& Z. k3 j( o! R& s6 u% ]: b
  15. using namespace NXOpen; // <== Very Important!  J  w6 f" W% [9 B6 A
  16. ! D" |- B% p/ M5 f9 D
  17. #include <stdarg.h>
    7 _5 t* T3 v! E, L5 v6 O

  18. - W+ L0 Q9 ^- a7 O6 a1 K( @
  19. static void ECHO(char *format, ...)) {, ]/ l5 [- W) F1 w, m8 r
  20. {) C0 G: f& u: o& `
  21.     char msg[UF_UI_MAX_STRING_LEN+1];2 p# p$ `. s. K1 E0 W
  22.     va_list args;7 G" O; w0 g7 H1 ]$ a! u
  23.     va_start(args, format);
    ; l; \$ h$ @8 a) P5 P# K! W; \
  24.     vsprintf(msg, format, args);  Q- ^0 |& j. K5 Q- R9 {
  25.     va_end(args);
    4 q, Z* @, }$ Q1 W
  26.     UF_UI_open_listing_window();4 L  E# n% @% w$ z* v- Z: a
  27.     UF_UI_write_listing_window(msg);5 G2 n" ~+ f5 [. m
  28.     UF_print_syslog(msg, FALSE);
    ( Y; }7 T# Q* \
  29. }7 q: Z/ q& r6 o: s! L9 v
  30. 6 k+ a5 z4 f, u+ R& s3 p
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
    % B+ P& b- B0 e* m0 _7 r7 f

  32. , g" j; G" i' D  k: ~+ e' o  o* L9 |7 Q
  33. static int report_error( char *file, int line, char *call, int irc)& q6 S  @, H% i1 S  y
  34. {, ?) v0 p. L2 Y- \
  35.     if (irc)
    2 r0 J- T$ D* v' n5 P' F7 L! i
  36.     {
    - j4 J; E' @1 v" s3 @) F
  37.         char err[133];, U+ I3 J, q/ z  D3 e- }* v

  38. 0 y6 Y+ F; W" @. @" {8 [
  39.         UF_get_fail_message(irc, err);0 [  z: F! }9 y6 c; |% z
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",4 A7 y& D# W% X
  41.             irc, line, file);
    2 K. n2 U! c" @; {1 R8 O$ N
  42.         ECHO("+++ %s\n", err);' w* z% C, b4 k" d9 v! F; y4 E' @
  43.         ECHO("%s;\n", call);
    . f8 y* N2 ?1 I5 b# |. U
  44.     }
    % d4 }) f* d5 i  {9 M4 O
  45. 7 N/ O( K1 V0 N' N# Z( I: }
  46.     return(irc);+ M6 `' c' q. S) i, O) a
  47. }0 n/ B, S1 u; L  [* f: p4 Z
  48. 7 \/ B% z$ T/ ]' e% _# Z3 P/ w. l
  49. # V) ~6 P, q' z  R2 V8 g7 Q
  50. static void do_it(void)0 I9 S$ Q) l3 k/ Y6 s' k6 H
  51. {
    / s: O, G8 t7 v
  52.     Session *theSession = Session::GetSession();6 I/ v0 W: P! v% P( Z
  53.     Part *workPart(theSession->Parts()->Work());
    ( n% I! Q! h! I7 m7 g( L4 M& m
  54.     Part *displayPart(theSession->Parts()->Display());
    / z0 t2 Y5 i  {2 P, |4 C6 A* ~
  55.    
    9 A6 V- M- O( G9 l2 L
  56.     PDM::SessionSettings *sessionSettings1;5 K" i+ V8 V9 G# Y7 {, ?
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();
    : H5 o; R1 i8 \# N3 n9 @0 N
  58.    
    3 C* d5 ^1 b/ G0 U
  59.     NXString CurrentGroup;
    5 b, n& ^2 ]! m2 c* T# }7 V8 x) u7 y
  60.     CurrentGroup = sessionSettings1->Group();8 ~5 ]3 k- ?: B' v7 {" ~
  61.     6 `5 ]( z, A3 b8 `. p+ g
  62.     NXString CurrentRole;
    : r- t6 P. C" q+ s
  63.     CurrentRole = sessionSettings1->Role();
    ; E- p% i$ Q9 ~0 G4 B3 J3 m

  64. 5 p6 ?5 L/ v& B7 ]
  65.     theSession->ListingWindow()->Open();
    3 k# J* [1 W, n: A
  66.     , O4 c! x7 a0 x9 T/ R
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");! j6 ^/ R9 q1 d/ D! m# N! `/ F
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);, g+ c: ^4 I7 V6 a
  69.         + n3 ], A6 R3 ^7 S; |
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");   
    5 j, a/ o% `/ ^/ H
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);% g( O6 B+ a( U6 N8 Q0 t9 s% _2 f
  72. 2 Y0 Y' {. M1 W& Q# H9 I/ t" d
  73. }
    ) s9 F7 y( T& V- a2 h0 C# e

  74. + r# H! s1 w4 P$ r9 I' ]
  75. /*ARGSUSED*/, d) l* ]4 l/ g/ i- u1 p3 y
  76. void ufusr(char *param, int *retcode, int paramLen)
    1 ]" r; k% _- T
  77. {
    8 ?6 h5 G. {+ x3 ]# `' o3 Q
  78.     if (UF_CALL(UF_initialize())) return;0 s( a9 z! k" W7 _9 E# i+ ~
  79.     do_it();. k. i* G- B+ i. U
  80.     UF_terminate();  M& ?" h0 M1 r
  81. }
    9 R9 k: Z. }3 o% f
  82. + R+ f# e5 ^% d) }. ~0 S- w
  83. int ufusr_ask_unload(void)( v$ L2 l5 {, \. W& y4 I0 j# W
  84. {# F' g' T& }1 X: G9 Z0 s
  85.     return (UF_UNLOAD_IMMEDIATELY);
    " q4 R6 F( ]2 y( b/ Z1 M, {! V
  86. }
      t( o5 B. A" G& m5 E
复制代码
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了