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 6063 1

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

admin 楼主

2015-1-21 14:42:57

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

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

x
NX二次开发中,默认的开发模版,使得开发NX非常方便,实际上主要是在Visual Studio 的环境下,加入了库的路径,以及一些预处理相关的设置。
$ V3 W% x5 o5 b" }5 x关于ITK开发中的模版,我制作了一个,大家可以在这里下载8 G9 s! P/ S% F+ x. ~; Q
0 i: ^& L3 x* l& Q' M6 z0 H
此处是给一个报告ITK函数执行错误的函数,方便使用,大家可以替换上面下载的模版template.c里面的代码,直接使用这个。当每次返回的status进行错误获取的时候,直接可以ITK_CALL去捕获错误。这点和我们在ufun中使用 UF_CALL类似!' _- R" R' l( t9 j( J

% T) S( p7 H' N% i8 q; w. b这种方法省去了大量的调用EMH_ask_errors(&n_errors, &severities, &statuses, &messages)的重复代码!!
/ A0 D% o' ^! C0 T" H# i7 u- I, {5 F
9 P/ e* m3 x3 {
  1. #include <TCcore/aom.h>( n2 C8 Q: O: T  \
  2. #include <sa/user.h>
    : |  I+ E; ~7 F* _2 G" g/ G
  3. #include <sa/person.h>- C; F& N, O( L6 k1 I
  4. #include <tc/emh.h>& n2 M1 [4 i3 t' O/ p2 D
  5. #include <tc/tc.h>' `4 G7 ]3 d9 T- X# j2 T' B7 b
  6. #include <stdarg.h>
    ) J; Z4 H" H! x& E( t: l

  7. " e, N' ~/ B4 J1 B7 @
  8. static void ECHO(char *format, ...)
    5 r) x$ U. w/ _7 o. m8 V& m# N4 f3 M! j
  9. {
    8 T; N& ^/ n5 U# u. b1 w; ^( |
  10.     char msg[1000];) b8 t) r% B* b! j
  11.     va_list args;* l' @: |) b- [- e) v8 ^
  12.     va_start(args, format);
    - {) Z, h6 e: h6 G! F* o
  13.     vsprintf(msg, format, args);  ]! G! P! e4 P/ X( x( _& w& {4 V
  14.     va_end(args);
    & g/ g, s1 H1 t
  15.     printf(msg);* x5 I3 |9 C  @) j
  16.     TC_write_syslog(msg);- n, n" k  i1 C- }
  17. }$ \! ~7 F/ |4 s8 ?1 `4 G$ i1 S, F2 _0 c

  18. 4 }- A% v0 i& E- ^( _' D
  19. #define  ITK_CALL(X) (report_error( __FILE__, __LINE__, #X, X, FALSE))
    / |/ z2 ~. @/ c. }/ X: J

  20. : p8 c  w( e) a  n0 J6 q
  21. static int report_error(char *file, int line, char *call, int status,. w1 c6 y; `. b# ~+ L! Z
  22.     logical exit_on_error)
    1 D; a2 C/ X2 w2 S6 |
  23. {) U1 ]( _1 o& f0 E/ ?
  24.     if (status != ITK_ok)
    ( d* B! n0 n( L$ }
  25.     {5 y+ L4 @* _* E) h
  26.         int( v# g: Y6 ^, i' ~
  27.             n_errors = 0,9 g2 q) C5 E' K' j1 c- X" r: V
  28.             *severities = NULL,
    ' `( u1 N; `6 a* q
  29.             *statuses = NULL;
    + W3 r' w2 x+ |3 M
  30.         char
    , W$ }# Z8 G  c3 _( d
  31.             **messages;
    1 o" P' i2 R3 k% \/ [# f& n) m2 u
  32. 4 Q9 e" V/ _. Q, K" m' p
  33.         EMH_ask_errors(&n_errors, &severities, &statuses, &messages);
    3 V$ s! D- V1 S% ^; R  h$ @
  34.         if (n_errors > 0)
    ) b8 _: z4 @6 ?) i$ z! g& A
  35.         {
    / h" L+ I/ Q  _1 \5 d
  36.             ECHO("\n%s\n", messages[n_errors-1]);9 n6 g! Z$ |* |
  37.             EMH_clear_errors();* j6 @" s# s' K2 e2 Z
  38.         }
    3 ~" Z, S* f3 @
  39.         else/ o: C2 Y" y% f: R) M9 P7 v
  40.         {
    + Q% l  J5 n* D: ~7 Q7 N# V
  41.             char *error_message_string;
    0 L+ O& `; ?/ r3 G7 D8 L- o
  42.             EMH_get_error_string (NULLTAG, status, &error_message_string);4 |+ W' L- o9 n) U$ ?, Z
  43.             ECHO("\n%s\n", error_message_string);
    0 `$ f/ l8 h- `0 W7 T. ]
  44.         }
    2 |4 _* r" R! f8 [$ ^# b

  45. 6 i8 T, u2 S4 e+ @0 X
  46.         ECHO("error %d at line %d in %s\n", status, line, file);' ?  H* J' g9 F& E+ a
  47.         ECHO("%s\n", call);
    9 T. p! |2 s3 g
  48. 7 L: M7 n: \0 D" K/ R2 M
  49.         if (exit_on_error)" J/ y# h  f) `( Q( R
  50.         {* B3 x. h$ ~  t; ^: `. T8 W
  51.             ECHO("%s", "Exiting program!\n");" T$ v+ f% ^! D( f0 T/ t
  52.             exit (status);3 Y& ]2 p! _. J4 x  M' e, P" q8 P
  53.         }
    2 ^9 F, q- r) s. Y4 h
  54.     }+ R' X, r6 n3 b/ ^3 E: w" O8 A( S$ a

  55. : n) ~; S7 V8 y6 d; z
  56.     return status;3 m6 \; y7 P2 r! N( q& i
  57. }* P- z/ {  A1 F% y. a; D

  58. 8 X' ~3 h, v1 W- D( {; ~
  59. , i3 U$ n. i; ?$ C2 `" X8 q, ~
  60. static void do_it(void)
    ; N/ v  f: [+ A6 ^2 `6 J
  61. {$ N2 m: F% \9 y- V& j" [4 i7 G
  62.    // write your code here
    9 d' }  r/ H  `- Z
  63.    7 H8 e  B8 b; v
  64. }  I3 Z1 {9 w+ y6 o5 {0 I6 V
  65. ( h4 O  V; k- B& m  C4 R- R; Y
  66. int ITK_user_main(int argc, char* argv[])
    + o8 O( v4 v$ q, \2 j
  67. {7 O) u9 U1 H- L6 Z/ P; e( G
  68.      ITK_CALL(ITK_initialize_text_services(ITK_BATCH_TEXT_MODE));
    ' B: {7 x( L7 K: @
  69.          ITK_CALL(ITK_auto_login());
    2 `6 @3 R% v: v' y8 }+ s1 M+ r
  70.      ITK_CALL(ITK_set_journalling(TRUE));: C& B- p. s& `) N7 m
  71. 3 j9 k9 f* ?" q' d  L, D. w
  72.                 do_it();6 g: }, [" S, Y+ [
  73. 5 V* Y! s  W2 ~( C9 [3 D
  74.      ITK_CALL(ITK_exit_module(FALSE));
    0 D9 Q" g- b! F) }# c+ }

  75. 4 G9 y  q; o1 H& [- d, G# B
  76.     return ITK_ok;
    / E% X; m0 X# T$ n, J* a
  77. }4 J* i6 f/ u4 U) V4 _+ ]
复制代码

# o+ H7 ~: U, q# L" R5 N8 s% P: k% K! f5 Z4 M: u, b
上海点团信息科技有限公司,承接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

模版下载地址:
" e4 q; j- {( j/ f) W, O9 _) W" @) G8 [" A  [, |2 z& C
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二次开发专题模块培训报名开始啦

    我知道了