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

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

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。
4 \0 G  I' M5 |
" n) M$ V3 X6 U. [
  1. #include <stdio.h>
    + k; |7 k9 n- K5 q. H8 ?, s
  2. #include <string.h>: C3 T4 ?& c3 `7 J+ O# k
  3. #include <uf.h>
    3 \# k* Z4 f- f) y% _
  4. #include <uf_ui.h>+ d2 }  @  n; e) f" ^) m
  5. & s4 N' X) s) j: }* m1 V
  6. #include <NXOpen/NXException.hxx>
      G+ O9 k2 d3 R( t* X4 Z
  7. #include <NXOpen/Session.hxx>
    3 [2 \1 \1 l; X; g4 z$ V
  8. #include <NXOpen/ListingWindow.hxx>. R% z$ }4 ?0 I  C/ B. W% v1 Z
  9. #include <NXOpen/LogFile.hxx>
    . B1 _+ Z% s6 z7 Y) q
  10. #include <NXOpen/PDM_SessionSettings.hxx>
    ! D: N: U" r0 [  y" X/ ?6 T3 m
  11. #include <NXOpen/Part.hxx>+ o/ x% c% h" O: e
  12. #include <NXOpen/ParTCollection.hxx>+ w0 H& e' p/ z  w, X9 L3 S4 C
  13. #include <NXOpen/Session.hxx>2 D! }# h1 n% T6 ?5 v
  14. % l- ]0 e9 _  X# D7 m0 e
  15. using namespace NXOpen; // <== Very Important!
    ! y$ [5 F# r4 p( d& k- J- }$ t

  16. % Y8 w: c, \! c2 w  J8 M9 t! _
  17. #include <stdarg.h>9 v! N6 t/ I: ~  f7 _/ t- N' r/ c

  18. 2 q  I/ W7 F$ U- X. F- N
  19. static void ECHO(char *format, ...)' ]8 r, ^4 y3 O& f- M8 l, b. M
  20. {9 x8 d! k, V+ b$ B5 l
  21.     char msg[UF_UI_MAX_STRING_LEN+1];
    . |$ x+ l( U, H- C
  22.     va_list args;: V4 g1 t( m' r$ A/ W
  23.     va_start(args, format);' ^8 S8 p5 q3 ?5 d+ \% ]: Q3 d
  24.     vsprintf(msg, format, args);
    . _' t/ ^- B) E/ M+ e" H
  25.     va_end(args);
    0 ^& ^; V4 [3 l3 C5 A2 h# `4 j6 l
  26.     UF_UI_open_listing_window();
    3 m" c1 C+ w( a" A9 J" _1 p
  27.     UF_UI_write_listing_window(msg);
    # M5 Y: H" J8 }* ?8 }) r
  28.     UF_print_syslog(msg, FALSE);4 p. F! H. d+ Q0 F0 j" m
  29. }
    - @: n# \- b! C

  30. 0 |% [& ]% l! ?% T4 W& H
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X))); \- a. y3 g; P% b0 O" e

  32. 8 u7 o/ M9 v' J8 Y
  33. static int report_error( char *file, int line, char *call, int irc)
    / Z3 ]3 F, k( O( g6 H
  34. {
    9 |1 z3 J0 o+ d9 z: v% ~- ~
  35.     if (irc)! Y! m# o9 C$ b; h; B6 @! I/ [
  36.     {" _9 N$ a1 M$ Y! o
  37.         char err[133];* V" p" V) [: c" X% D( o

  38. 4 o' y6 c+ v+ S8 [# C0 A
  39.         UF_get_fail_message(irc, err);6 l5 s6 e5 e. S" J2 Q$ ~
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",/ r; {# s5 R2 w$ z, x1 I: Y
  41.             irc, line, file);' L4 z! P* I( s3 E
  42.         ECHO("+++ %s\n", err);
    ; V& `" u$ e8 c( b9 q5 d7 a
  43.         ECHO("%s;\n", call);' p4 L7 \; n$ M! u
  44.     }
    7 Q0 c4 K2 m3 H) U" b* E0 s
  45. 7 H' F8 T5 c8 X' B* l
  46.     return(irc);3 Q% H% R9 y/ n1 S0 S
  47. }0 ?1 q0 z/ L! K* d1 Z  y# Q' ]

  48. 7 R: j) h9 O2 A* K  T2 Y
  49. 0 b( U2 w( @3 x
  50. static void do_it(void)
    4 J! \/ T/ [5 D, ?
  51. {  i5 w2 y) S, i4 u% R' N1 }2 L- i' ~- |
  52.     Session *theSession = Session::GetSession();
    + Y: E1 o0 Y+ N5 Q
  53.     Part *workPart(theSession->Parts()->Work());
    2 `- E' k& @& X" u; {- g# m
  54.     Part *displayPart(theSession->Parts()->Display());
    9 E& p. D8 b" Q% Q1 Y; c! T
  55.     / F" x$ H9 q4 p- c8 S  j8 ?
  56.     PDM::SessionSettings *sessionSettings1;" ~8 U" s7 Y+ W8 v$ H) [
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();
    6 R9 S% Y+ ?5 \/ h5 i
  58.    
    5 B' ?! q# X! P9 _
  59.     NXString CurrentGroup;
      g5 e+ t' N. d3 d
  60.     CurrentGroup = sessionSettings1->Group();0 m( g) M+ D5 U
  61.    
    / Q4 x4 c8 M- P/ g0 \
  62.     NXString CurrentRole;
    1 W, D) q" e# d' ?' L, U
  63.     CurrentRole = sessionSettings1->Role();2 y/ c' a' L, L. L; C" d
  64. 4 C( Y- N+ B0 y, R# E
  65.     theSession->ListingWindow()->Open();4 b/ E7 Y! |6 ?8 [! J8 V4 v. Y8 D1 P
  66.    
    ; X3 n5 X8 i0 F# v7 I: u
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");
    % j/ [7 U8 ~7 G, B& o* M5 b. U& ?
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);
    : x$ s* o/ q4 y% ?& f
  69.         # {3 x0 g; G$ p
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");   
    ; B- x1 Z# p: O) g* u
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);
    - b' J( q) B1 Q) i
  72. ' M# _2 W. h1 }" x) {$ q6 }, b
  73. }. O' T. A' }2 o# n: j

  74. 3 Y7 X2 L3 K9 o$ l: a4 K( y
  75. /*ARGSUSED*/
    , M- }4 @5 {" e3 }& z! ~
  76. void ufusr(char *param, int *retcode, int paramLen)
    " p4 p" w6 h9 P5 W1 ]3 w
  77. {1 \) b1 I' w+ I9 T% v( C+ u
  78.     if (UF_CALL(UF_initialize())) return;) t2 A2 k6 y" Y4 O$ P
  79.     do_it();$ k- _) s4 m) V; x! R
  80.     UF_terminate();
    9 f8 s" b% k  E8 N/ v
  81. }! V; R+ A" S, c
  82. ' W: A: r0 [8 C& i# j9 S
  83. int ufusr_ask_unload(void)- _  r% ^+ E% w9 r! |5 [
  84. {
    - ?- ~; o: d4 z: c; }, T7 {4 G
  85.     return (UF_UNLOAD_IMMEDIATELY);
    / o$ p$ I  r4 {3 u" \6 f
  86. }
    . Q2 {8 m5 i2 X+ [) u- W& t" @
复制代码
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了