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

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

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。
0 P, I3 |0 T' v0 v( x  G' {0 V  U  u& d9 _/ x6 O5 u
  1. #include <stdio.h>
    6 a: c9 N8 e  l6 t5 h0 H: K
  2. #include <string.h>0 T2 K& K3 p5 P( r; f1 d
  3. #include <uf.h>
    ! a& U2 Y$ L! X% W3 X1 u
  4. #include <uf_ui.h>
    7 m. J' }+ X( ^: U! w9 N: S. a1 l; c

  5. , F$ s+ T$ K4 J" H4 V/ J6 Y" J) O
  6. #include <NXOpen/NXException.hxx>  m5 l% z$ @1 N  B) U
  7. #include <NXOpen/Session.hxx>% o* R7 U8 q+ I, }) ^$ _
  8. #include <NXOpen/ListingWindow.hxx>! G) N# P8 |7 ?. s6 `
  9. #include <NXOpen/LogFile.hxx>0 m0 {. }9 V9 {/ u
  10. #include <NXOpen/PDM_SessionSettings.hxx>
    - e& V+ r3 B9 m1 r2 o4 S
  11. #include <NXOpen/Part.hxx>- p4 x; _6 H7 R2 s( q- i+ u# B
  12. #include <NXOpen/ParTCollection.hxx>& I. f; s0 S/ Q+ P2 x4 B/ {. W: A
  13. #include <NXOpen/Session.hxx>
    " T2 u. f0 o" {# q) M
  14. $ z/ k) R' Z; ]- G; p4 K
  15. using namespace NXOpen; // <== Very Important!$ m2 y1 x  {4 J' ]! g) O, G8 E2 R. |

  16. + y; f6 b6 n" ^0 n& h% i
  17. #include <stdarg.h>. a5 H2 B9 x; i/ ?+ d- y
  18. . h+ O; F* K: |0 f) ]( i
  19. static void ECHO(char *format, ...)( z! ^$ d4 V& @3 ^0 ?
  20. {8 b' U, L2 d- c7 t3 M5 k
  21.     char msg[UF_UI_MAX_STRING_LEN+1];
    ! P5 X  o5 ]( |/ Q. j3 s2 u
  22.     va_list args;8 o7 C  z: a% z2 {" z" ]& i- g2 ~4 Z
  23.     va_start(args, format);
    8 a0 \0 @; B: x- b# P* m1 z  O5 x
  24.     vsprintf(msg, format, args);$ g  s  j. J+ K' l7 @7 M
  25.     va_end(args);
    5 T# V  i! j: S1 f5 j+ D
  26.     UF_UI_open_listing_window();
    7 w! m. M8 i( ~7 K( p1 a
  27.     UF_UI_write_listing_window(msg);
    5 a7 J2 e0 s# P3 C8 L$ Z4 U7 `0 r, Z4 B
  28.     UF_print_syslog(msg, FALSE);
    1 M. O1 C* y, r9 y
  29. }# P2 r% d7 [1 l! `: W4 }

  30. 2 n( b. Y; s) v9 ?* t
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X))): x! X/ ^6 K, v

  32. " q8 r$ k, l8 C9 g
  33. static int report_error( char *file, int line, char *call, int irc)6 N! X7 z+ x& O: `
  34. {6 f  q3 W4 N' m& w
  35.     if (irc)% m& h1 Q2 w: C
  36.     {/ L5 w, f+ p1 }  a' X
  37.         char err[133];* _4 l( d0 `, k6 k) J) y

  38. 3 r- _3 c1 ^+ u! q
  39.         UF_get_fail_message(irc, err);. {! y' H) L( F  f1 l3 D
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",
    4 Y* N( m0 t4 r2 ~
  41.             irc, line, file);
    & p4 o) d) u$ p# p4 L: Y7 m9 i3 b  m9 ^
  42.         ECHO("+++ %s\n", err);/ I9 y* a8 [9 C/ O
  43.         ECHO("%s;\n", call);3 A* T9 R; J9 X9 f
  44.     }
    2 j$ E4 V8 Z- g, H! M

  45. 0 A" C$ ]7 m' P* b
  46.     return(irc);/ y2 q% K" P; k: ^
  47. }- x- ?; G, f/ j+ d( L: U. S4 e
  48. 9 I$ o3 P! K& M+ Y

  49. 7 u  N, h% A4 D) [. Q$ m
  50. static void do_it(void)! B& k! F( E. ~+ j+ C0 l3 ]
  51. {
    1 G6 r* ~9 h" E" _! [" e. M
  52.     Session *theSession = Session::GetSession();2 I! I9 D" ?1 `; L/ I" L$ }
  53.     Part *workPart(theSession->Parts()->Work());
    - U! M$ w5 Y7 X9 z$ y) q& Q
  54.     Part *displayPart(theSession->Parts()->Display());% N7 t7 L& U: u, M: M. g: s
  55.    
    # `0 Z/ A6 u% g$ g5 w& ~
  56.     PDM::SessionSettings *sessionSettings1;; [  y2 z; C6 ]/ G8 o$ K+ I
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();) w1 a/ z2 X1 K+ Z1 l
  58.     ! G. t; \6 l% E0 R
  59.     NXString CurrentGroup;; y) S: X% [5 k: m  h6 v1 N
  60.     CurrentGroup = sessionSettings1->Group();
      C( Q0 v; f9 O2 E& |# P4 C9 |
  61.    
    ; _0 o/ p  s% F2 T% {. s, z/ k
  62.     NXString CurrentRole;* {( a: A4 R0 `: d5 _
  63.     CurrentRole = sessionSettings1->Role();
    ; W& |# u9 c% ~3 `& Q
  64. 8 b% A# a5 Z( X4 p# p! S3 o
  65.     theSession->ListingWindow()->Open();5 F& p& g! e# G' N8 @
  66.    
    6 J" D- W0 j. ]7 @  o, o2 s
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");
    # Q4 ^( c* m+ |( i: v
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);
    3 z7 ?8 K* Q, F/ Z* W: q
  69.         6 _3 x% G+ ?& m
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");    , H7 S9 X' x# C6 Y  r$ h" V
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);2 ?( R8 C% |; |

  72.   z4 K! r! |, _9 g
  73. }
    0 V- ^6 c- I8 w! O$ S9 A) b
  74. : `# o$ `2 k6 o
  75. /*ARGSUSED*/
    9 S3 ?# z. J1 y7 Z
  76. void ufusr(char *param, int *retcode, int paramLen)2 p- A7 b% X, B3 N! d/ ~, O0 b
  77. {" r1 z) q: z, E& ^% b
  78.     if (UF_CALL(UF_initialize())) return;  T4 }* b' o9 [; A) l. R
  79.     do_it();
    1 \, O" o* Y4 U) d
  80.     UF_terminate();
    " T1 A, u# H& o& J. X7 B
  81. }: b3 a& h0 j" ]* C

  82. , p1 h' v( ?- @; X; E/ A
  83. int ufusr_ask_unload(void); j: A; _% d+ Q- W: {5 v8 P$ ^) a( }
  84. {
    4 l$ J5 u5 U$ C" k6 |6 ]. k/ W0 _
  85.     return (UF_UNLOAD_IMMEDIATELY);8 J- n7 \, w6 c
  86. }4 ?- j4 b( |" ]/ R
复制代码
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了