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

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

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。
2 y- j# s  e! a( h- n$ v4 Y; Y9 _4 ~& K/ J4 N6 l
  1. #include <stdio.h>: O1 ^3 M* w9 Q0 K
  2. #include <string.h>
    * L2 m. s/ Q2 Z$ L, }8 ]$ \0 w5 ^5 s! E
  3. #include <uf.h>. \* S6 F0 x4 p6 K
  4. #include <uf_ui.h>
    2 D  }, k' X. O" ?4 e/ I
  5. " G* W8 |& K* J3 j* N
  6. #include <NXOpen/NXException.hxx>/ i8 g! W3 f/ F+ O
  7. #include <NXOpen/Session.hxx>
    " a" |$ s: d- j# z$ e
  8. #include <NXOpen/ListingWindow.hxx>; k  T: p+ f5 ~! X- I1 n
  9. #include <NXOpen/LogFile.hxx>
    9 K' j" u; N' _7 r) D
  10. #include <NXOpen/PDM_SessionSettings.hxx>
    ) ~, Z1 @* l1 J2 |( r
  11. #include <NXOpen/Part.hxx>; m: F0 ]& T5 I) r
  12. #include <NXOpen/ParTCollection.hxx>4 X1 [6 M3 i9 m3 ]6 K
  13. #include <NXOpen/Session.hxx>0 k$ S4 \, i" F4 E, v) x

  14. , `# h: b4 C; s9 k
  15. using namespace NXOpen; // <== Very Important!
    ; R7 _. f3 g0 v3 f% T

  16. + g9 X: X6 T2 m5 ^) ~0 A- d
  17. #include <stdarg.h>
    / u! `1 I. u, B, S6 I3 r

  18. ; w2 o- ^2 L2 H' F
  19. static void ECHO(char *format, ...)
    : F7 E, T  C, n
  20. {
    : ]2 l2 I# F7 Q" q2 L" }
  21.     char msg[UF_UI_MAX_STRING_LEN+1];' c. O# @* C3 i- |+ G3 w
  22.     va_list args;
    3 t* T% @1 t  y! g3 `9 ~! {
  23.     va_start(args, format);* Y& [$ `/ _2 l: i% u) Q5 N
  24.     vsprintf(msg, format, args);3 v1 ^5 [) p  i- j( b
  25.     va_end(args);
    5 \: b) |- g# C
  26.     UF_UI_open_listing_window();
    2 W& D: T3 X" w) b/ j' O0 |
  27.     UF_UI_write_listing_window(msg);  F$ C* q7 a% O
  28.     UF_print_syslog(msg, FALSE);- ?4 }, |6 Y) _
  29. }( ?  R' u# r2 W* Y3 g
  30. 2 u! c! I: {* c2 O3 t/ v
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X))); {8 G8 i. Z" H% w$ e* n

  32. ' Z( J% E) Y. }  @; ^# H) C
  33. static int report_error( char *file, int line, char *call, int irc). L' f; m% l, d9 ^& |) [- t
  34. {
    - u' Y+ x/ e( V  C9 P
  35.     if (irc)
    ( P; _7 d$ h' C3 E' I3 w+ ?
  36.     {+ ~7 V) u. o$ B- m. ^
  37.         char err[133];$ g, J' q0 u4 q, T* w+ w0 E

  38.   @; E( L( m# u$ C3 ^; S% G; r
  39.         UF_get_fail_message(irc, err);9 }& a- l3 g9 s& s5 N
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",
    , T3 r* H/ _: y+ R
  41.             irc, line, file);
    . H0 ^( ]! d. g3 s
  42.         ECHO("+++ %s\n", err);+ Z! y8 p) v4 l& W, ~4 B
  43.         ECHO("%s;\n", call);
    # r3 u' b% f! a
  44.     }  E" y! N/ ?; m8 P# Z! z
  45. 1 W6 C, Y$ o" k+ S2 G/ R6 Y
  46.     return(irc);; X6 _, R# M% ^& p* `# N- r+ Z
  47. }. a( U  t7 `- I1 ^; L) F

  48. ( N$ Q0 D% E9 V

  49. + @: i( \  c/ v8 @) p/ P
  50. static void do_it(void)
    $ _2 H9 X" _9 K7 L
  51. {
    8 _6 ], @6 }! x& @. k1 b
  52.     Session *theSession = Session::GetSession();
    + E/ Y$ ]0 a: `) t: |
  53.     Part *workPart(theSession->Parts()->Work());  f; T/ y# t+ A! H
  54.     Part *displayPart(theSession->Parts()->Display());
    6 Y/ ]& B- g( q% `  P" ]
  55.     9 T7 v% t2 c2 o$ L
  56.     PDM::SessionSettings *sessionSettings1;& {' m/ ~- S# z* v1 u" {) B
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();& Q5 c& ~% V, f& {9 R4 {& a  V6 o
  58.    
    7 I1 S3 C5 ~1 L$ ?4 q4 B3 m
  59.     NXString CurrentGroup;% i) O1 C& o% Y$ V, Y
  60.     CurrentGroup = sessionSettings1->Group();, V- K/ a8 U$ [  U! N8 M' Y
  61.     0 d; {( O0 _) q. u
  62.     NXString CurrentRole;
    : d' Y6 X8 e) e4 a
  63.     CurrentRole = sessionSettings1->Role();
    ) s) f" I% H3 t
  64. 4 n3 v5 F9 c1 H( N% ]
  65.     theSession->ListingWindow()->Open();9 p: e5 l) _9 l7 s; s  \
  66.     6 n1 [6 p+ s9 i  X6 p. C8 U
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");
    ' F" T8 Z8 b) W# f! A3 N
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);& C/ D* H, r8 W. A
  69.         
    : {$ w7 z; E3 E% h1 e1 i0 g" F
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");   
    8 [3 x% z8 m- C! C' t% |$ ^8 q
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);
    6 p8 V, `! `4 N# d

  72. + ~  A8 N* w! k3 l
  73. }/ I7 ^% i9 V+ @9 X* R
  74. ; ~* F8 D  A" e
  75. /*ARGSUSED*/
    ; `/ i* Q2 V) w$ M) v* U5 V9 ?
  76. void ufusr(char *param, int *retcode, int paramLen)9 z" [2 s! w1 [. c# M
  77. {
    - s: |5 J. d4 z5 W  s$ ^/ \
  78.     if (UF_CALL(UF_initialize())) return;  e8 a3 ]& G& V! d  ^6 I2 {* @; S1 Y* Y
  79.     do_it();1 q  C; ^- [8 I6 m) e
  80.     UF_terminate();
    , G* \6 I: O: b2 z1 w
  81. }& r4 u; h) ?/ A# Q9 d9 ^

  82. ; J) F, b4 _! ]2 e8 |8 w
  83. int ufusr_ask_unload(void)
    5 u4 p5 \! R* ^3 b& v* R
  84. {0 `8 h" p0 I6 @/ ]& J
  85.     return (UF_UNLOAD_IMMEDIATELY);* U# o$ m7 v0 u+ z2 m; ~" P
  86. }7 p9 x) i) S7 ~
复制代码
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了