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

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

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。* D% ]; J$ ]: p% m* [# h) S0 ~

4 ], Z' O# p) O& |( N( [
  1. #include <stdio.h>& j1 X  M3 g0 X: q5 n- H# Q
  2. #include <string.h>, H! j' G, e+ J( `
  3. #include <uf.h>
    9 k0 E. t8 c% ~8 R3 s2 n
  4. #include <uf_ui.h>
    + D1 M" \# J' d0 h5 O# _- H. ^
  5. # C) H; m# Y" Y
  6. #include <NXOpen/NXException.hxx>+ t* z) S0 r/ V% E
  7. #include <NXOpen/Session.hxx>3 o  K9 M: t9 s6 f& u
  8. #include <NXOpen/ListingWindow.hxx>
    & g+ i) t9 y6 o7 h& i4 K5 T
  9. #include <NXOpen/LogFile.hxx>( p: a: M' D- U9 _
  10. #include <NXOpen/PDM_SessionSettings.hxx>1 o* O% n8 w8 W. B0 l+ q- p
  11. #include <NXOpen/Part.hxx>
    " Y( p4 {( \, g) P6 e4 X$ @* g
  12. #include <NXOpen/ParTCollection.hxx>
    $ u# x8 w' c5 {: g* T
  13. #include <NXOpen/Session.hxx>" F' D, y5 U6 f; J- I# N( I
  14. 3 l) s- |4 y$ R. [8 w1 x& u( k
  15. using namespace NXOpen; // <== Very Important!
      M; @1 G* {' u, |! r6 y
  16. ( C. Z7 d* ~. c. P
  17. #include <stdarg.h>
    9 E8 n) q6 O/ i& m( \# l5 ?/ [

  18.   C% v& g0 `. S
  19. static void ECHO(char *format, ...)
    / i9 y% c  ~' k2 _% K6 s0 s) ]2 g3 }
  20. {
    * v) v1 k# c5 ]( {- y
  21.     char msg[UF_UI_MAX_STRING_LEN+1];1 N. I' J- g7 ~0 c, L4 v- p" H
  22.     va_list args;) `/ u4 }! W% J# \1 D( g3 ~
  23.     va_start(args, format);
    2 K% x% O* M7 R( C( k. Q
  24.     vsprintf(msg, format, args);6 C" ]% ?6 ]; |1 e( q
  25.     va_end(args);
    . d! y0 x9 [* |- I
  26.     UF_UI_open_listing_window();5 H8 q* ~, b& j+ v
  27.     UF_UI_write_listing_window(msg);/ I/ i  z, y2 e4 {
  28.     UF_print_syslog(msg, FALSE);( t* ^7 j9 Z. J- C7 k9 z7 c, d
  29. }) X( j; u; e9 ]2 b8 U, Z

  30. + f2 }5 z" i3 K4 N3 ^
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))* Y3 k5 |7 L* g8 d: [
  32. , S# @; ~' ?0 P6 {7 I  ^% h& ?
  33. static int report_error( char *file, int line, char *call, int irc)) r+ T) T% p0 i. N
  34. {" y3 C2 z* ^1 g- a4 C. d
  35.     if (irc)
    % g$ Y7 ^" S+ p4 K$ u
  36.     {( T8 u+ b; M) i; }" }7 C8 R
  37.         char err[133];9 g: z0 L+ g* @# E' l2 d

  38. / C) x4 E2 \  {
  39.         UF_get_fail_message(irc, err);
    3 a  O1 W! F5 \1 k! S
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",
    * w( \8 V  L5 V3 _8 q5 D
  41.             irc, line, file);9 E8 L* S+ g' {
  42.         ECHO("+++ %s\n", err);
    & n- y3 S! L0 g( V7 u& j. s+ }
  43.         ECHO("%s;\n", call);
    - Z; g, t0 I' E( @% |
  44.     }
    6 [4 I, N" A) U- X# ^2 _$ a# m' u

  45. 8 L+ J6 c, T0 X' l  j9 \; j  q; s
  46.     return(irc);% R' K+ q0 l# L
  47. }
      ^, G$ J" \/ j
  48. ( ~. q. D$ q3 {. u7 ~5 M
  49. 4 n8 b' ?9 Q7 k% j1 D5 L& @" |
  50. static void do_it(void)
    * P# f% ]$ {7 z6 e% {+ n
  51. {
    # D; P/ {& Y4 f9 ~) e3 k0 ~
  52.     Session *theSession = Session::GetSession();" ]2 s% J( G6 \6 t
  53.     Part *workPart(theSession->Parts()->Work());- X" ?7 v/ s2 I+ R, |
  54.     Part *displayPart(theSession->Parts()->Display());* V% K2 H" W% P! l" G
  55.    
    7 k" O8 D1 b) Q# B
  56.     PDM::SessionSettings *sessionSettings1;
    ) k) r/ `+ E6 `* h5 Z! [
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();/ G1 t" F# N" X7 X' y
  58.     * \3 ?/ ]2 h6 N/ [9 {0 w% a7 @
  59.     NXString CurrentGroup;
    ; H* p( J/ r  J& u' J& G# a7 j5 ~
  60.     CurrentGroup = sessionSettings1->Group();7 Q7 b7 F0 n$ H( ?, o$ G; i8 f+ N
  61.    
    $ H, a$ u7 V2 r& m" r5 M
  62.     NXString CurrentRole;& I* A2 M! Q9 k4 n4 {
  63.     CurrentRole = sessionSettings1->Role();
    ; s- Z* F/ b" K2 i

  64. 5 d9 A6 m) B! ]/ K/ ]
  65.     theSession->ListingWindow()->Open();
    0 m" Z: M* }- \& a2 W1 T6 Z
  66.     % f: A# z% Z: P
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");3 M! L: n- `' `% D  R! J
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);
    : g  D' Z' }8 q: O* |
  69.         
    1 ?/ m, o5 ?2 w, x0 N) }8 D
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");    6 Y7 k; d$ U, G  V& |& _5 J
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);$ x% P+ R; C' _
  72. 4 r7 y6 \  d, N9 U: j
  73. }/ }9 ~$ y) M5 x7 W

  74. 7 U( l' Y" ^4 b% g* U2 R
  75. /*ARGSUSED*/
    % P- F5 Q& m! ^& e% e1 }
  76. void ufusr(char *param, int *retcode, int paramLen)
    2 W, @* ^5 I8 j$ k" |
  77. {
    4 b6 M, D: Q, w3 h; r6 Y
  78.     if (UF_CALL(UF_initialize())) return;
      o6 T* Y4 F. ^! @3 s$ K0 O
  79.     do_it();" O" N! }& m$ b3 z+ Y; \
  80.     UF_terminate();7 e  R6 A2 q+ I7 z) v7 C
  81. }
    & C) g" k5 [% h! t! `% A. s
  82. % W: g# Y: g" J9 |2 d6 q, E
  83. int ufusr_ask_unload(void)
    ( Q: p3 o. n, }: q& x
  84. {
    % q+ o) t# z5 G+ K$ S& I+ G
  85.     return (UF_UNLOAD_IMMEDIATELY);6 L0 v0 N/ w- ?  x( i& ^) x
  86. }) p+ v# {8 g+ ]1 i* l
复制代码
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了