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

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

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。
. R$ Y" L5 ^- g* [# {& y, l8 M/ V4 Q  s2 w
  1. #include <stdio.h>% o( N( Q* V% z' F4 }! c9 Y
  2. #include <string.h>. Q' F) v7 V% j
  3. #include <uf.h>, `* E+ z. |: [5 v2 a; K
  4. #include <uf_ui.h>$ o6 G$ Y$ F. [3 Q) b0 _

  5. 4 N# l+ ~0 E5 Q. m8 `2 n, h' x
  6. #include <NXOpen/NXException.hxx>
    ! S; ]' t" [' @
  7. #include <NXOpen/Session.hxx>" G" E; `9 k' M+ m# }+ L' y7 J
  8. #include <NXOpen/ListingWindow.hxx>
    8 R/ f( A/ M! z4 L2 V
  9. #include <NXOpen/LogFile.hxx>
    4 `6 V0 \% Q' |3 \7 O5 X
  10. #include <NXOpen/PDM_SessionSettings.hxx>
    7 J6 N- U( W) ]9 l) Y: J
  11. #include <NXOpen/Part.hxx>
    6 t: Y. h2 W3 e6 B0 e
  12. #include <NXOpen/ParTCollection.hxx>5 P1 V) o6 l% ?" u. B( i
  13. #include <NXOpen/Session.hxx>! A( Z) _* C0 Q5 \# G

  14. 9 e2 i& [; z3 V) m
  15. using namespace NXOpen; // <== Very Important!- @( d- @0 K$ O7 U$ ]- {5 z5 T

  16. . s  \" ?8 |2 O. z
  17. #include <stdarg.h>* G* J8 ~# m* t
  18. % f: D' D7 s; f: X! R
  19. static void ECHO(char *format, ...)( U/ Q; b) S& t* F- [1 y
  20. {3 M( l3 y0 z1 e: y' r
  21.     char msg[UF_UI_MAX_STRING_LEN+1];- P* a2 t- ]) ?9 U. B2 A/ O$ i
  22.     va_list args;
    4 N  W7 ~! j2 t) h3 x7 V
  23.     va_start(args, format);
    ' K3 \( P1 \3 t3 x
  24.     vsprintf(msg, format, args);5 b( b  Z; h; B  O7 A+ F# p
  25.     va_end(args);$ D  v0 ^1 n+ a0 H3 {
  26.     UF_UI_open_listing_window();
    8 L0 U$ h/ e) N- C5 `
  27.     UF_UI_write_listing_window(msg);0 i6 S: Z7 C  }% l* W. P( Y9 D7 T9 |
  28.     UF_print_syslog(msg, FALSE);
    ) |5 E+ ^, j, e, @
  29. }& B# I# |' H' U3 N7 g  j4 S

  30. . ^  @5 r3 [# o/ q6 g% K
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
    9 w4 T# o8 [* @2 F# j. j7 E8 D

  32. * b$ O7 C: l, T* ]
  33. static int report_error( char *file, int line, char *call, int irc); x; X% |& h) r4 p
  34. {. o& B6 x6 K; L9 `4 ?
  35.     if (irc)4 h; [2 u" @4 z" a) V4 s% `, k" ^
  36.     {* I2 `: _; U8 ?
  37.         char err[133];2 D* c4 x8 a& |) e8 |" U
  38. ' n- d1 \* r/ _4 A4 x
  39.         UF_get_fail_message(irc, err);
    2 \. L4 a! D" g% H; F: K/ [1 L9 [
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",
    + |  ]5 h, F# l/ o- l
  41.             irc, line, file);
    - u8 F3 z+ u; w) o# L, {
  42.         ECHO("+++ %s\n", err);
    - E4 N* l1 B+ u& O
  43.         ECHO("%s;\n", call);
    ' E- G+ \0 D; G1 P/ Y
  44.     }: L1 g! \  ]" w: Y, @; Y. U7 K* \

  45. - [  n$ Q( M2 ^! z3 ^
  46.     return(irc);
    9 ~0 A! ^% c- G9 R
  47. }% I' y- T4 m, Y% Z& l
  48. $ ]+ z" o+ f2 n: t9 u# ^5 y
  49. ' u* v' L7 e& a9 Z4 e$ g( U
  50. static void do_it(void)
    0 z4 [0 @3 X% _( s
  51. {
    0 V/ o8 A! N0 x0 V  O
  52.     Session *theSession = Session::GetSession();
    + s0 Z6 @0 p  ^' z8 x  U+ }
  53.     Part *workPart(theSession->Parts()->Work());
    7 |; Z8 y% r! `; z5 p- b
  54.     Part *displayPart(theSession->Parts()->Display());% e8 a4 U7 v, K2 ^( f2 K
  55.    
    % U. s0 I( h8 g( @! K; `
  56.     PDM::SessionSettings *sessionSettings1;
    & K9 ~# u5 m9 O5 {: u% j3 o4 T6 \& G" |
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();
    - t: _4 e$ o4 i6 i& e1 O; w
  58.     / g; t9 }/ g  ^6 r
  59.     NXString CurrentGroup;
    9 \4 m  q1 E% n3 b3 i
  60.     CurrentGroup = sessionSettings1->Group();& z' \$ S2 z5 [/ s
  61.    
    2 c6 N! e5 @3 F3 S
  62.     NXString CurrentRole;
      ]" u& U, g9 w4 C) ^3 z" R
  63.     CurrentRole = sessionSettings1->Role();
    : a% s  p, t+ s' M3 s" @& s
  64. 8 C1 b6 x; W  [3 x$ _3 j
  65.     theSession->ListingWindow()->Open();+ `( x3 C& c7 g% F, x- s3 `
  66.    
    8 `: l! {1 o9 G1 _5 m" V
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");2 S. \7 b/ n3 y$ O: P$ D7 l  I
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);9 o* ^+ D' Q5 ?
  69.         % D- k  Q4 i5 V6 l6 k2 A4 M' R
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");    / T1 Z. y3 k, S' S) x
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);
    * v$ G8 o# x0 ]# Q7 Z4 K( t
  72. + H' G' f; g8 o( J: o! J
  73. }
    ! F; m8 c$ \2 t# [5 Z. b6 n
  74.   s9 X+ B) M: _1 \  R
  75. /*ARGSUSED*/: i3 }( U) D* [0 }% y4 P, o$ w$ C- Y* |
  76. void ufusr(char *param, int *retcode, int paramLen)
    - j# v1 m$ x! n- g0 W
  77. {; P' S- P& G$ _- {7 G2 H
  78.     if (UF_CALL(UF_initialize())) return;0 B" S& Q/ Q: s; t  j7 D; }
  79.     do_it();9 H, x' ]0 H0 ]& s+ P. l
  80.     UF_terminate();9 y1 C0 i" Y3 |9 F' w
  81. }3 j- N9 e" D; U3 W1 Y
  82. ) ^* z0 E9 U$ h8 V3 p# [/ @% y
  83. int ufusr_ask_unload(void)
    ( w' S; C/ o/ V( u! ^% N+ I
  84. {  \% A1 K' T' b3 `
  85.     return (UF_UNLOAD_IMMEDIATELY);# G% K( J! z9 ^( l+ Y2 N5 @
  86. }  [) K5 c0 U  x, Y# p( p
复制代码
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了