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二次开发转化层teamcenter ITK二次开发的模版分享

[复制链接]

2015-1-21 14:46:15 6040 1

admin 发表于 2015-1-21 14:42:57 |阅读模式

admin 楼主

2015-1-21 14:42:57

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

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

x
NX二次开发中,默认的开发模版,使得开发NX非常方便,实际上主要是在Visual Studio 的环境下,加入了库的路径,以及一些预处理相关的设置。. F  l& j# Y1 U* C7 m1 `; W; z5 }. ]
关于ITK开发中的模版,我制作了一个,大家可以在这里下载( c2 p. D5 @* c* m) C' ]
% U6 Y3 o( \; N" X* {$ k
此处是给一个报告ITK函数执行错误的函数,方便使用,大家可以替换上面下载的模版template.c里面的代码,直接使用这个。当每次返回的status进行错误获取的时候,直接可以ITK_CALL去捕获错误。这点和我们在ufun中使用 UF_CALL类似!) Q, M5 q' i; A: V4 ~: |
! |: w* ^6 u' F8 t
这种方法省去了大量的调用EMH_ask_errors(&n_errors, &severities, &statuses, &messages)的重复代码!!% o* s' z# ^7 {8 F% E6 R& a0 q

; i% t% _; A/ t) w) W9 o& U0 X) m% n: Y
  1. #include <TCcore/aom.h>
    0 ?* H( ~) q, m8 r# i5 |7 m
  2. #include <sa/user.h>
    ) {1 C0 X5 @, @' _, Q" B
  3. #include <sa/person.h>
    % y8 v0 t6 Z$ |8 [) t
  4. #include <tc/emh.h>. t. A- P  w. `* N2 S  R, M* Y
  5. #include <tc/tc.h>
      _- t& N7 w0 x( P
  6. #include <stdarg.h>+ i3 z9 n: a! d6 Z% V: k# Y- A

  7. $ e: q2 r" y- k
  8. static void ECHO(char *format, ...)1 e/ X+ h8 c, G1 k/ \" o
  9. {* m& }9 b* n& p, x8 O
  10.     char msg[1000];
    2 ~1 G+ e- i% L) L
  11.     va_list args;
    : `# y% \$ d  W5 b! |
  12.     va_start(args, format);
    + O# a- H7 P/ `. l; N9 Z8 u
  13.     vsprintf(msg, format, args);
    / X; e/ L' d* ?6 u9 S# [
  14.     va_end(args);0 a4 K- |9 p: \) U" g
  15.     printf(msg);; I/ T+ h. d' [1 Q, r0 c
  16.     TC_write_syslog(msg);* H% Z' |$ s7 ?# E/ K1 D, d
  17. }
    7 \# A: D8 I' M* J

  18. " b! E* _* F0 u# ]
  19. #define  ITK_CALL(X) (report_error( __FILE__, __LINE__, #X, X, FALSE))) N+ \" e5 u! V' A" u
  20. - p% |6 o7 {/ L8 {6 q
  21. static int report_error(char *file, int line, char *call, int status,1 L5 q0 f! Z% g2 Z# v4 L
  22.     logical exit_on_error)& ?7 a3 k: I, @! F
  23. {
    1 o* R) e4 ^2 B! l
  24.     if (status != ITK_ok)
    & J* u" A9 M+ C
  25.     {6 T4 s, `" F3 G. p
  26.         int
    + w6 t8 C' T" n  L; ]
  27.             n_errors = 0,4 I- z5 z8 e& _0 k* A% \
  28.             *severities = NULL,
    ! w8 C* |2 ^+ t, |
  29.             *statuses = NULL;
    0 N2 j0 ~7 L; \! W& F
  30.         char6 I2 ^* x$ t) o5 N% N% m7 D
  31.             **messages;7 j8 E, w# N/ X/ d+ @. o8 S! C' o

  32. 3 G. @. Y! \( _: f" h
  33.         EMH_ask_errors(&n_errors, &severities, &statuses, &messages);# T, F' |: N: D: X+ m. x, [  l$ j) e
  34.         if (n_errors > 0). r; r" X  x: Y" U4 u
  35.         {7 F3 q3 n- P; ^  Q$ {: y
  36.             ECHO("\n%s\n", messages[n_errors-1]);% b4 h% D6 r7 J' n2 j
  37.             EMH_clear_errors();) ^" l& i: L4 b6 k* h
  38.         }
    9 a5 x) A3 V5 M! f
  39.         else& Z2 l, q) L! u; ]$ i
  40.         {3 U1 v& k/ P: A0 |7 K: c2 L
  41.             char *error_message_string;
    ) @" a6 s2 z( T' ~- x  H- g
  42.             EMH_get_error_string (NULLTAG, status, &error_message_string);
    6 ?' Y0 i: z. `* G. O( D1 m9 Q
  43.             ECHO("\n%s\n", error_message_string);
    7 L1 b; `  q" h/ U2 x. c+ z' N
  44.         }
    * i4 U1 g) N- G0 n5 [9 L# n
  45. . h) D' \! n& x9 I6 u% {6 F. Y
  46.         ECHO("error %d at line %d in %s\n", status, line, file);) l7 r( O& b, g) _
  47.         ECHO("%s\n", call);
    0 n! _9 @3 m9 {* k/ D2 g" V* `

  48. ( C& R: k- E& O1 S/ @  f
  49.         if (exit_on_error)
    . Y6 x) S( L. S5 S9 w) ^
  50.         {" X; O. m/ R% U9 L
  51.             ECHO("%s", "Exiting program!\n");
    ' i- l4 {: h" Z
  52.             exit (status);+ _2 X! a# X$ i5 y
  53.         }  x+ w( ~0 K/ ^* [
  54.     }
    , [5 |6 y1 P- J7 p1 @/ B
  55. : V! A) n! i& ^6 T
  56.     return status;8 h/ \+ f! J- x. `
  57. }- k  @* U1 g3 I  Z: W, r

  58. ' m' X" L, ~% f3 R1 t3 H

  59. $ A9 |2 {" }" v3 R+ M( U$ f
  60. static void do_it(void); k/ j; ]5 [, V' W
  61. {
    * W+ S. Y2 R6 V8 z0 `
  62.    // write your code here
    * @* B* }1 T% P; V; e& Z$ o
  63.    
    + m7 v, h7 j* r/ Z( u
  64. }
    ( ?& O: \' z$ e3 K
  65. 1 @8 }% @# u) I; ^8 \' h
  66. int ITK_user_main(int argc, char* argv[])
    1 c% y4 e0 r" P6 J4 T, e3 _  `
  67. {
    ! S( H; L  o. J& N2 p* Y( z
  68.      ITK_CALL(ITK_initialize_text_services(ITK_BATCH_TEXT_MODE));
    7 u8 \7 O; e9 G! f0 R& d
  69.          ITK_CALL(ITK_auto_login());
    7 J+ \; b/ Q& l+ ?
  70.      ITK_CALL(ITK_set_journalling(TRUE));
    " r: i8 D2 O$ u: V

  71. ) }$ l# A* d3 {# y
  72.                 do_it();
    $ v, w$ `: [5 p0 R7 f, K' f

  73. & R# @6 Y8 ~' n# q+ W$ T0 Z2 @1 o% s2 q
  74.      ITK_CALL(ITK_exit_module(FALSE));/ Q* J& B5 j6 ?2 N5 y+ }1 a
  75. & }( f; ~- }1 G9 L7 a
  76.     return ITK_ok;0 ?2 x- y  a1 o9 `. P: S% L
  77. }1 F: v: p, [+ @1 l3 |
复制代码
: e7 l( D! }3 Z7 f1 h% F- n- T

: _, v& j& j. \  Y0 X5 J3 I  P
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复1

admin 发表于 2015-1-21 14:46:15

admin 沙发

2015-1-21 14:46:15

模版下载地址:
9 U( s0 l* k. ?+ e' I% k8 l* r. }( P9 I
http://www.plmhome.com/forum.php ... &extra=page%3D1
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了