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

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

admin 楼主

2013-11-6 19:00:16

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

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

x
在集成环境中,NXTeamcenter的集成中,获取当前用户的组group 和角色 role。# e9 I7 }% f& h% q( y) R6 T6 c
( o8 O, ~! f1 O0 t% ^
  1. #include <stdio.h>% y$ y1 M7 U' U! J9 `) B
  2. #include <string.h>: K; |! A3 _/ {, ]1 V4 Z
  3. #include <uf.h>
    ) N* t, a& V! ^1 p
  4. #include <uf_ui.h>7 j! `! E1 c# O9 D  S/ c7 O
  5. & b  M6 i: A4 f# q+ U5 s
  6. #include <NXOpen/NXException.hxx>
    9 G& j* J' p/ Q& ^4 }- m
  7. #include <NXOpen/Session.hxx>6 j+ H- A3 q& u9 o2 U& [$ u
  8. #include <NXOpen/ListingWindow.hxx>: _5 ?* v, D( \+ L7 D5 k: c+ x! q7 L
  9. #include <NXOpen/LogFile.hxx>  p: M7 i* |% P
  10. #include <NXOpen/PDM_SessionSettings.hxx>
    ! V; r9 w  l' b7 \9 {
  11. #include <NXOpen/Part.hxx>( p" \# J; `& D- ~' v; B# Z  k
  12. #include <NXOpen/ParTCollection.hxx>
    # M, }% S( x1 m" z! F$ @6 a) A
  13. #include <NXOpen/Session.hxx>
    ' m. V1 `$ N: [

  14. 5 _7 V( U5 a( S; u' ]$ H7 O
  15. using namespace NXOpen; // <== Very Important!
    ( g' Q7 U; y9 W! W9 d

  16. 2 h" Q9 [* ^0 J
  17. #include <stdarg.h>
    3 q( a, B3 b" @6 {; ?5 T& Q" @

  18. ! D! ^5 n7 A8 e8 ]. T
  19. static void ECHO(char *format, ...)
    3 Y9 U5 a& ~) o/ W( L
  20. {3 Y0 @8 S& f% |! m5 x
  21.     char msg[UF_UI_MAX_STRING_LEN+1];, `" e: ^$ m; T( Z. i
  22.     va_list args;
    7 i5 @$ k# b# t& g3 {  Y
  23.     va_start(args, format);
    9 E$ K5 r, E  E$ b* N9 A6 A  q
  24.     vsprintf(msg, format, args);  v$ }+ b! G" Q% r6 ~+ i& l$ B
  25.     va_end(args);0 [; f. I: l3 M" Y% X  k" b" P1 `
  26.     UF_UI_open_listing_window();0 w$ R5 g9 p/ h# j
  27.     UF_UI_write_listing_window(msg);: l: |2 v* g4 u3 E# F0 i% y9 O6 _6 z
  28.     UF_print_syslog(msg, FALSE);
    , y, r" L: U1 ~' F2 s, V8 ~9 B! L) L* z
  29. }
      t4 G# Z7 d5 ?5 J4 o+ l

  30. " r$ n/ b6 b& k* Y
  31. #define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))1 M9 g- z" U- I- q

  32. 4 O: K" i5 l( M8 `9 |
  33. static int report_error( char *file, int line, char *call, int irc)
    ' _; q7 ~. ~5 F6 D! L: [
  34. {  `! e0 |4 E, Z' W. Q6 m7 I9 {
  35.     if (irc)
    & q8 a3 y' h* z4 z) E
  36.     {
    / w# M6 {5 D* _
  37.         char err[133];; a# p) S5 R8 @
  38. ' }4 s3 x" k& y5 h; z0 x
  39.         UF_get_fail_message(irc, err);- o$ \/ `+ {: ?
  40.         ECHO("*** ERROR code %d at line %d in %s:\n",/ ]6 I% J0 ]$ R% p3 E# z
  41.             irc, line, file);0 J; W2 L- ~9 S( S
  42.         ECHO("+++ %s\n", err);
    9 J( L. ^+ W# X7 K4 s
  43.         ECHO("%s;\n", call);+ E4 V% Q% s$ H" f9 j" X
  44.     }8 L' @0 e) }6 |# G$ l
  45. % O0 s" q9 g0 M! j- |
  46.     return(irc);
    9 r, Z6 M+ }- v# \" s! ]4 Q
  47. }
    7 y' e$ k* L  U8 o, h% E

  48. 0 \# x8 A- _- H) R

  49. & e" n8 {) D, Z
  50. static void do_it(void)* b% Z, S, Y, C/ I! e% |
  51. {) E1 z' w( m: G6 J5 C( @9 O  v
  52.     Session *theSession = Session::GetSession();5 C, y) E& J! I! B1 F2 j0 x3 _0 t
  53.     Part *workPart(theSession->Parts()->Work());
    9 p3 M+ Y2 o  n0 q' M* H0 h
  54.     Part *displayPart(theSession->Parts()->Display());
    . L7 V; n. _# A( ^& c/ U3 X
  55.    
    ) ^1 k: h4 U( X6 T8 o
  56.     PDM::SessionSettings *sessionSettings1;
    6 s7 Q* `8 Y6 b; P! Z, N1 T1 _; R
  57.     sessionSettings1 = theSession->NewDatabaseSessionOptions();% k* R" T! Y( C
  58.    
    6 b1 o3 E, v8 p3 ~
  59.     NXString CurrentGroup;
      a8 \/ N# Q5 {$ S
  60.     CurrentGroup = sessionSettings1->Group();
    4 `$ G% X7 {, [
  61.    
    % p' B4 L% T  s6 t/ {3 ?
  62.     NXString CurrentRole;; f" n) A" i% Z9 a  H
  63.     CurrentRole = sessionSettings1->Role();
    / X- ^$ q5 x! _; J0 A

  64. 4 F; ^! A/ x9 f" N
  65.     theSession->ListingWindow()->Open();5 A$ K$ `& H% j" {" S# y# X
  66.     8 z. M3 E6 B- D( \+ A
  67.     theSession->ListingWindow()->WriteLine("Current Group: ");) D& f0 o  U( D( F7 L: l/ \
  68.     theSession->ListingWindow()->WriteLine(CurrentGroup);
    8 l5 |$ X6 ~7 |* y+ Z) ]
  69.         9 w- e5 x, _. q* _2 h
  70.     theSession->ListingWindow()->WriteLine("Current Role: ");    3 M% r! `- s( Z4 ]: @9 [2 t1 Z
  71.     theSession->ListingWindow()->WriteLine(CurrentRole);/ w% s/ J8 ^" p1 M
  72. * [; i* g' S% O: }5 B  c
  73. }: i# U, _4 y4 S" o' @; h& j

  74. % A! ]9 M" R) }! \
  75. /*ARGSUSED*/
    8 ^5 i$ K4 n! }) h% m
  76. void ufusr(char *param, int *retcode, int paramLen)( k9 _8 p$ q/ O5 H. \
  77. {
      y' |9 Y) |" [  {( v) K6 |7 `
  78.     if (UF_CALL(UF_initialize())) return;
    9 i2 N. D: p: M* \; C
  79.     do_it();5 [  M: K! h6 @* F' P, t
  80.     UF_terminate();
    & V% x7 f; O0 Y1 I7 A
  81. }
    8 y7 Z& V) I4 [) L, k

  82.   X6 T2 I) p" l% `7 r
  83. int ufusr_ask_unload(void)1 a4 T$ Y2 e7 y( \
  84. {8 v& S" I' R' _8 T
  85.     return (UF_UNLOAD_IMMEDIATELY);
    + C8 q' z, F- U$ E& E% j
  86. }( M) I- l7 w( u6 u
复制代码
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了