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

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

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。
5 c# [4 C( q( ]+ h3 Z
- P. i- J5 E: r7 C) S. z- _$ o
  1. #include <stdio.h>
    7 p! e. N& [) ]2 X$ l; K3 v
  2. #include <string.h>
    + x, `0 Z5 G2 A/ l0 G# Q6 Z# N9 p) M
  3. #include <uf.h>
    % v3 ^1 ?" z0 ~- k; i8 ?
  4. #include <uf_ui.h>
    , M% x3 P/ E& Q6 ~. x4 R. m

  5. ' ?; n* g5 E! s* r
  6. #include <NXOpen/NXException.hxx>  \0 I9 \, o# H
  7. #include <NXOpen/Session.hxx>6 o9 c& Z9 H9 h+ G
  8. #include <NXOpen/ListingWindow.hxx>2 P: l$ P' c+ K8 Q: E
  9. #include <NXOpen/LogFile.hxx>+ D) j" R1 N8 e* H6 L! _. }  B
  10. #include <NXOpen/PDM_SessionSettings.hxx>
    & ?9 ~$ h5 w+ q0 z
  11. #include <NXOpen/Part.hxx>& F& R6 F% t% ?9 Q' R
  12. #include <NXOpen/ParTCollection.hxx>
    % ]0 I$ h  H3 x  e
  13. #include <NXOpen/Session.hxx>% b, I/ y4 x9 C) C6 `, @; H' W
  14. # Q9 |( C* t# a
  15. using namespace NXOpen; // <== Very Important!+ c& R3 `1 J6 L; s* O) q
  16. + ]7 N: g6 _5 |) F9 V/ t
  17. #include <stdarg.h>
    # ~; l5 |  f9 o" \
  18. 6 D% u3 n" t, D: c  h2 P+ y
  19. static void ECHO(char *format, ...)/ l" P& K' @% W( l4 n
  20. {% l  s* o: q) v1 F2 G
  21.     char msg[UF_UI_MAX_STRING_LEN+1];! o0 _1 V6 g5 s. t0 k8 ~
  22.     va_list args;
    3 a& v( X, D& r# U8 y
  23.     va_start(args, format);
    2 r$ p) w6 p8 F8 k! V: f
  24.     vsprintf(msg, format, args);  ^: a& Q9 c4 E/ J( c7 m9 t
  25.     va_end(args);+ I0 I6 P0 G  ~( ^  @  p
  26.     UF_UI_open_listing_window();3 p: @: p  F5 ?1 Z
  27.     UF_UI_write_listing_window(msg);
    : c- s. ?! N; ~8 Z- k
  28.     UF_print_syslog(msg, FALSE);
    # I- V/ S1 X! Q4 p4 r# ]" n
  29. }7 @1 t! s. J' Z7 C8 E

  30. / i. C" x9 |1 C6 T
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))9 v8 ?% n: g9 A9 h2 a

  32. % C0 q( C8 T% J5 |
  33. static int report_error( char *file, int line, char *call, int irc), O0 }7 V# R6 J- k6 n; y1 k. l
  34. {
    ' k8 n: N1 _2 ~/ n9 D6 }3 e3 h- n
  35.     if (irc): j( `0 _: W. V; R! o: }9 z
  36.     {4 `6 F7 l+ {: c
  37.         char err[133];
    0 t' n" p! F2 c9 _. u$ x
  38. 8 t. `, m3 ~1 S' l2 N. r5 C
  39.         UF_get_fail_message(irc, err);
    * x( _* p) O2 r1 D/ ^6 ?5 U7 z# ~
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",
    8 P* R( S) S, R7 Z, s2 y
  41.             irc, line, file);0 v* H1 N0 h. Y; M: E2 U/ i- u8 I/ u
  42.         ECHO("+++ %s\n", err);/ g' t+ d- X: n8 c. p: b+ `
  43.         ECHO("%s;\n", call);
    ' K" [' t! i2 t
  44.     }9 Z  S$ l0 j' w$ I# W

  45.   }  W9 _* `8 H7 `  p( Q( w  F* O
  46.     return(irc);, E) D9 S8 `6 R+ j0 s4 @+ _7 L) F: `
  47. }, X+ Y& ]" n3 x9 ~2 K

  48. & x) A+ g3 v# `. Y% p

  49. " N- Q9 M0 d* }4 L
  50. static void do_it(void)- l, g4 z6 d* }% h' D" `, ~. a
  51. {/ _2 j, A/ ~5 m: M
  52.     Session *theSession = Session::GetSession();$ j3 \5 m4 Q1 ~- K4 s! s
  53.     Part *workPart(theSession->Parts()->Work());
    + f" K1 m7 D* u8 v1 f* P
  54.     Part *displayPart(theSession->Parts()->Display());; a; z/ g# a; @4 v( Q, @0 |
  55.     4 Y, M) ^: l7 B+ |
  56.     PDM::SessionSettings *sessionSettings1;
    . z  ?9 ]4 s0 K0 X7 @) l7 c
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();6 y) R& g! q7 X2 b
  58.     ( O8 I, q  s1 U. s' B
  59.     NXString CurrentGroup;: g0 n: s# F; I
  60.     CurrentGroup = sessionSettings1->Group();1 T4 l, v% x+ c; c0 n) R
  61.     + t4 [. w7 v6 ]: n0 X" L4 A, b
  62.     NXString CurrentRole;, O- _- y+ g9 \% o$ N6 ^! J2 X$ d
  63.     CurrentRole = sessionSettings1->Role();0 O+ v" T/ _( w0 }# J, G

  64. , c, @- g* R$ Z/ `1 [
  65.     theSession->ListingWindow()->Open();9 F4 [; z+ |: S  x9 X
  66.    
    : ~2 g' O0 O5 \: F$ r4 }
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");
    / i' d3 D# ~* H  b2 b$ \. l
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);1 V2 ~# a9 J9 r7 a+ j/ \
  69.         ) f3 e, e3 `0 Q( W
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");    ) `# p8 ^2 c. t3 A4 y: D! f* q( x' l
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);
    6 ]0 n; i  H7 x" ?* Q6 I) ~
  72. 5 G: k3 A3 d6 X. D
  73. }  r( q: b% i& D2 b1 Y9 P

  74. 7 K5 a  O! P' e& |' o6 }+ o
  75. /*ARGSUSED*/; H7 H+ i* i+ A! }" A2 m2 j. p0 K# c# v
  76. void ufusr(char *param, int *retcode, int paramLen)) y! d$ _+ M1 h6 E4 b: K6 B7 {
  77. {3 \- O! c& E# s4 Z( y0 `
  78.     if (UF_CALL(UF_initialize())) return;  ^& v6 P& |5 A7 H: W
  79.     do_it();
    ; B' e% j4 J) u3 f. j, s; t9 m
  80.     UF_terminate();; a$ R; H2 _( l0 A- M
  81. }; f3 R; l/ Q: V+ a8 v

  82. ( V6 |) L( L$ F9 H: G) H9 K
  83. int ufusr_ask_unload(void)' U& V" B; J$ g4 R- R0 T6 e5 {1 s
  84. {- k: l8 R5 c4 Q# @
  85.     return (UF_UNLOAD_IMMEDIATELY);
    & C3 w, E7 V/ ^& l# I
  86. }
    ) X" k$ u. b& D
复制代码
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了