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

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

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。
2 Q+ t* \& u) S+ m3 l: C$ b6 ?% S) j; ?8 K  o
  1. #include <stdio.h>
    : p8 p' i5 X2 q; s7 w/ g+ R
  2. #include <string.h>
    ; _, L4 O. I+ ]& C0 I9 n
  3. #include <uf.h>, S) p+ y2 _7 J' M
  4. #include <uf_ui.h>- s7 Q. ]2 q5 G. j. E9 M

  5. 7 O) _% p+ [* s  j3 y; z2 x3 u
  6. #include <NXOpen/NXException.hxx>) z% w# G6 }$ Q- |( s5 h
  7. #include <NXOpen/Session.hxx>
    2 u" c" H1 ?6 T& z
  8. #include <NXOpen/ListingWindow.hxx>
    + K3 R7 m3 h% N6 h. k6 f; ~
  9. #include <NXOpen/LogFile.hxx>
    ' a: j6 l/ E4 ~" O) \
  10. #include <NXOpen/PDM_SessionSettings.hxx>
    - Z; {! t/ `" I% H7 o; L3 g7 [
  11. #include <NXOpen/Part.hxx>
    / X0 s. s, L. |% C& S8 J) N( F
  12. #include <NXOpen/ParTCollection.hxx>
    ! W" P! Q! t2 W
  13. #include <NXOpen/Session.hxx>5 \8 K8 {; a! k# ^( b# C

  14. % P$ |2 }' c/ ?$ y
  15. using namespace NXOpen; // <== Very Important!' {, l; t* q# N! v8 X+ l/ z# C
  16. # x1 N" b* w0 C2 B* }
  17. #include <stdarg.h>
    # J# u2 B9 c1 U5 c* ?; x% G
  18. . f5 D! H$ \' o$ H
  19. static void ECHO(char *format, ...)* [- }8 \' j, S. ~1 U  H
  20. {
    , _; D, [+ o; \- Q# Y7 {
  21.     char msg[UF_UI_MAX_STRING_LEN+1];
    ( @8 A0 p5 E& X
  22.     va_list args;
    ' [" ^, h! y# h4 g4 J. {  T
  23.     va_start(args, format);; N% K: u& A& M" o- V' Z
  24.     vsprintf(msg, format, args);
    ; z! R! F+ p& p, w3 W1 t+ G
  25.     va_end(args);" U$ S& O' E6 \  E
  26.     UF_UI_open_listing_window();% P5 G; w9 U' G2 X( u/ d' a; {
  27.     UF_UI_write_listing_window(msg);8 t3 ]' ]# H* `
  28.     UF_print_syslog(msg, FALSE);
    9 {" x6 L. a1 F: u
  29. }. _# I4 R* W4 \; {# D3 V

  30. 4 e% E- }: G2 c+ m$ W$ x
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
    5 Z( ]4 m/ ?" A- H( U" Q- X
  32. / p* {+ m2 a3 C- @8 t* P) d. D
  33. static int report_error( char *file, int line, char *call, int irc)  J7 n1 F) U: e5 h2 n. Y
  34. {
    - D& X8 a* }% z$ U7 R1 x  W
  35.     if (irc)
    8 O% s0 e, h4 {* c/ b' q1 M7 E9 L1 a
  36.     {( b' K9 B- k! D  F4 S! ]! h
  37.         char err[133];
    " y6 X! i0 @" y) C4 W
  38. 0 T( o; d; H# m1 I9 N
  39.         UF_get_fail_message(irc, err);' r/ X2 P" i; o8 Y
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",
    8 P* v% j  Y4 F' v  G
  41.             irc, line, file);
    1 O) z- y7 f5 P$ q
  42.         ECHO("+++ %s\n", err);
    & \2 Q+ \/ x2 R7 ]
  43.         ECHO("%s;\n", call);: X% r5 v  f5 c% r# S% I6 ?
  44.     }
    : K; R/ S6 t3 ^

  45. " c/ }8 H; b, c; u) _
  46.     return(irc);
    , `2 I9 E5 L7 N/ @3 K9 |0 `
  47. }7 U( }# T' x7 p) K

  48. . X1 p5 R0 y9 b+ T. c* C! A

  49. " Q) |$ u  U+ f( a
  50. static void do_it(void)) w. ]+ u0 {/ M
  51. {5 F8 l' @( ]9 G* n) O  M
  52.     Session *theSession = Session::GetSession();2 Y6 w# V  {2 S! k
  53.     Part *workPart(theSession->Parts()->Work());! p5 _# ]+ r1 o$ S8 Y' i" G" u+ g
  54.     Part *displayPart(theSession->Parts()->Display());
    5 n2 [6 T& W: x3 O9 L% _7 A: V* p6 p% w
  55.    
    , B7 w9 F" {/ [) P
  56.     PDM::SessionSettings *sessionSettings1;9 P: \( y3 ?2 H0 m; s- f
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();; L% X8 v- J, i% u( _
  58.     9 u4 m) W/ o+ ?+ r- m
  59.     NXString CurrentGroup;' N; g9 r* M2 a" G+ b* K1 {
  60.     CurrentGroup = sessionSettings1->Group();
    $ E# w2 N2 Y2 O5 A" @5 z7 l
  61.     ; P  e0 @" c, M3 E
  62.     NXString CurrentRole;; }6 q% g$ T3 j
  63.     CurrentRole = sessionSettings1->Role();( G' \6 `' r/ v% Z( W: j
  64. / H, f0 O( ^+ T; ]
  65.     theSession->ListingWindow()->Open();: C# @( C! x* n2 ]6 u( c4 A9 g
  66.     : C; u4 o3 X+ o4 K+ x1 m
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");
    * s6 q4 e4 X- E5 _
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);6 m) M0 ?3 n' {
  69.         
    # z$ u: U, Y" C' h+ h
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");   
    8 `3 {$ M* _7 y' t9 |, [
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);
    ; `; e4 u  ]' z: G% U4 C: }
  72. . ]; l( l) Y2 |* x! N& D; G  t# g
  73. }( O9 i, K% @6 t2 W
  74. 4 {+ c: Y* x0 M; q' M' T% h
  75. /*ARGSUSED*/
    + ?5 g5 `8 g# c; l2 Y! z( U4 d
  76. void ufusr(char *param, int *retcode, int paramLen): m# \. `7 b; Y/ M0 }
  77. {2 Q9 U! S* }% j9 D$ S' Y+ a
  78.     if (UF_CALL(UF_initialize())) return;
    3 H' A" y) p. u# ]* `2 O6 J) W
  79.     do_it();
    . k. i) b3 C& m' c5 ]
  80.     UF_terminate();
    6 G+ k/ @. k5 Z$ P8 o; U! \! m: n
  81. }
    2 l& F! u$ n4 x" a( |/ e
  82. # B% _2 j$ a( S6 Q$ `) i0 l
  83. int ufusr_ask_unload(void)- M. f# I0 p: ]; Z# C+ `/ k
  84. {
    % L0 `' `4 m2 W$ C
  85.     return (UF_UNLOAD_IMMEDIATELY);
    8 K& ?+ }4 {. o* {# _
  86. }
    , R( I3 P3 o3 L# c
复制代码
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了