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

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

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。
! q1 t' l6 k  w( A9 @) Y
4 M% g! M3 F+ u& m# c. g$ Y, w
  1. #include <stdio.h>1 `- P1 O0 Z9 v4 `
  2. #include <string.h>
    + t$ K# y1 d5 q5 n! g, `7 ~) e3 U% {" i
  3. #include <uf.h>( I4 F3 Z  F9 X* d! M7 P
  4. #include <uf_ui.h>
    2 l  z$ M) h2 S! m

  5. " N' C/ ]) e) G( [- |6 z# j: P' D
  6. #include <NXOpen/NXException.hxx>
    / N& H. K5 [% L
  7. #include <NXOpen/Session.hxx>
    ) F- @# {( L5 w, J4 P
  8. #include <NXOpen/ListingWindow.hxx>
    0 X3 N# b1 ]: A' f/ M  [' T
  9. #include <NXOpen/LogFile.hxx>
    4 Z* n! u1 F% V, K" F4 |+ Z+ p
  10. #include <NXOpen/PDM_SessionSettings.hxx>( A" b* @0 I( P8 j" M2 m
  11. #include <NXOpen/Part.hxx>; f- q6 ^; K- Z0 `" Q. y( D
  12. #include <NXOpen/ParTCollection.hxx>
    ) X# i$ A' o% Y0 c# w
  13. #include <NXOpen/Session.hxx>
    ! a  j1 R# K8 r5 X5 K! P4 _8 d

  14. ! \4 g) F' B; _, X' w
  15. using namespace NXOpen; // <== Very Important!
    ; c: Q6 f' T6 X8 u! ]% z
  16. : p- W4 |9 \8 j( N
  17. #include <stdarg.h>$ k/ `+ S( W- v* |

  18. 4 n7 e8 k* B, n3 W& `
  19. static void ECHO(char *format, ...)$ }+ t1 H. x# u0 ~+ d% C; N( K
  20. {
    ' M5 l- l. I/ H& i* H% T
  21.     char msg[UF_UI_MAX_STRING_LEN+1];* l- h* p  B/ }+ p- d
  22.     va_list args;) c) t* u6 D. t5 r% H( A7 ~; A
  23.     va_start(args, format);7 \! B  ^2 [! ^- E6 a1 F1 J9 M- ?" c3 u
  24.     vsprintf(msg, format, args);
    + g2 O$ j$ r# d# ?3 S: _
  25.     va_end(args);
    " @# q# [. g+ t2 Z
  26.     UF_UI_open_listing_window();
    % U/ I- {( q) i: I7 ?2 g) @% o; p2 ^
  27.     UF_UI_write_listing_window(msg);- N5 N& C  [$ i# p' X+ K* Q8 @' A
  28.     UF_print_syslog(msg, FALSE);, ?+ r4 C- M/ _1 q0 H1 A0 G. b, h
  29. }0 h8 ~7 J+ W# Y3 c9 x1 J

  30. 6 g( M( T$ Z  o0 T' |8 M( ~
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))) Q$ u  _' v0 Y

  32. ) V3 y- y3 q  w) J  h, a: h
  33. static int report_error( char *file, int line, char *call, int irc)
    ) E& p" g0 [, V6 {( u* c
  34. {- P1 x" o% G. g- Q, X# v+ A7 x  r
  35.     if (irc)
      s8 X7 G& L/ x7 l8 A
  36.     {
    : y5 |* `7 `! E% V& |
  37.         char err[133];! h2 S' M- L8 \( w+ L4 w
  38. $ A* I0 d" s6 C& _7 T
  39.         UF_get_fail_message(irc, err);" ^$ }% x2 C4 F
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",. ?- B( }4 A8 h% L$ C& n1 e3 {
  41.             irc, line, file);
    1 B- w8 i  p. D. U- |9 m& k
  42.         ECHO("+++ %s\n", err);8 j* j# x+ e3 E% }% V" q+ V
  43.         ECHO("%s;\n", call);
    . f' h" p3 p, a* ?. c
  44.     }
    3 e( e- p6 G  N

  45. 4 G/ T( |& \+ f, i, b% s) m  W
  46.     return(irc);- X2 x+ d$ E+ f& B& [4 e
  47. }
    : U8 m- ]& \& @( L/ A! q
  48. 3 `, }( N* t8 W- T9 O% b

  49. 9 u  I. D& z( X3 X6 b8 T7 j- a  B
  50. static void do_it(void)
    & t2 s  H. H$ v5 r
  51. {
    7 Y+ ]4 t! Z( ~7 F* Q7 O1 A
  52.     Session *theSession = Session::GetSession();
    . t; g" L7 o6 S6 Q/ q4 n5 J
  53.     Part *workPart(theSession->Parts()->Work());
    & e) w- q' k+ I
  54.     Part *displayPart(theSession->Parts()->Display());
    4 c  ^& ?$ }! l
  55.     % h$ N2 v+ B  k$ s% s) O
  56.     PDM::SessionSettings *sessionSettings1;
    , \+ M# [) e' U; p7 j9 g& T/ G8 c1 f
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();
    9 q/ ^. S' Z9 ^. M( O- Q
  58.     + ]0 D( P! M: I: i/ u, k
  59.     NXString CurrentGroup;
    , L7 q# x4 m; i' |& y( l/ x
  60.     CurrentGroup = sessionSettings1->Group();- X$ a# D+ Z' B. L- v$ X9 _# b0 ]7 s4 e1 P
  61.     ) d# L) w# n1 l& P7 g
  62.     NXString CurrentRole;+ |2 G1 @. d7 o& D/ b3 W6 C
  63.     CurrentRole = sessionSettings1->Role();
    * E2 @5 o9 t4 B; \
  64. ( s4 V/ C, |$ V# f; U" U
  65.     theSession->ListingWindow()->Open();5 L9 ~3 ]& F( b8 V; K) c3 _
  66.    
    . i8 T7 X$ P0 Y: x& [! f. s* e
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");
    6 h0 d* m1 M' z; T# F) t' B0 ?
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);
    * k/ d, u# P5 h9 s' \
  69.         
    5 g3 P5 v- z' O4 y7 g
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");   
    1 V6 R4 `; A1 l3 Y
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);
    1 g: d, C+ C* X7 B% Y% a6 F: S
  72. $ i0 b4 b3 f. O* [% Y6 l; ]1 p
  73. }6 N! r: m5 W& s5 R/ c( m2 B
  74. ' ^; }- p4 W% G
  75. /*ARGSUSED*/" U  k( k/ c" w- R* m7 J
  76. void ufusr(char *param, int *retcode, int paramLen); y* c& v# L7 d% E  A" F! e
  77. {
    5 O5 Z' t9 M$ x3 |, x
  78.     if (UF_CALL(UF_initialize())) return;: C2 y4 t) ?0 o- F0 O
  79.     do_it();
    3 E* J3 [$ M; t$ _- T- V8 U
  80.     UF_terminate();. E5 C; n5 X: b$ }2 k
  81. }
    # O5 r) }' V1 r* c

  82. % A4 K% n; F  ^) \9 q" q
  83. int ufusr_ask_unload(void)
    ) d0 q, U6 ^' ?( @+ ]8 U) m
  84. {/ V: v" F& n$ R5 \& t
  85.     return (UF_UNLOAD_IMMEDIATELY);
    ' ]9 F* V  l$ M7 [5 P5 v
  86. }: I1 f1 _8 O) C6 t3 Z" F! l$ y
复制代码
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了