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

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

admin 楼主

2015-1-21 14:42:57

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

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

x
NX二次开发中,默认的开发模版,使得开发NX非常方便,实际上主要是在Visual Studio 的环境下,加入了库的路径,以及一些预处理相关的设置。& C6 J- S4 {: ]
关于ITK开发中的模版,我制作了一个,大家可以在这里下载1 P4 R% F# y) _0 e( M) H& ]* V

! y+ C6 t1 o' b+ O" f, L此处是给一个报告ITK函数执行错误的函数,方便使用,大家可以替换上面下载的模版template.c里面的代码,直接使用这个。当每次返回的status进行错误获取的时候,直接可以ITK_CALL去捕获错误。这点和我们在ufun中使用 UF_CALL类似!
/ O5 b+ D, A4 m4 e1 X3 V
. I" e1 `/ c+ t4 O: a' B这种方法省去了大量的调用EMH_ask_errors(&n_errors, &severities, &statuses, &messages)的重复代码!!& B7 g2 h4 p% S& `/ A, o

$ e* f) _/ ]9 W# v7 k7 [, Y) l
( `; C% x  w' o- k( t
  1. #include <TCcore/aom.h>4 y3 o: h3 d) Z! @( V/ G' W
  2. #include <sa/user.h>% |0 g; |! O$ O$ X' R  B% @& K! s; U
  3. #include <sa/person.h>3 b' m5 K& d! T) u* ^. K1 {3 I
  4. #include <tc/emh.h>4 |+ ^- w) ~) Q1 m; k0 W7 ^% X$ r
  5. #include <tc/tc.h>% f' b1 f' f: n* [. G' S) a
  6. #include <stdarg.h>% V8 ?1 T- D+ K+ d( O5 Z
  7. 3 ~- Q2 f9 v/ \5 k8 @. V
  8. static void ECHO(char *format, ...)
    + w0 E, f) m1 {7 U  t$ |
  9. {/ _. |4 }+ U: p: h
  10.     char msg[1000];  c0 W3 o) ]9 i- P# T
  11.     va_list args;  Y. |' P6 m1 M# p6 b
  12.     va_start(args, format);
    3 H8 v9 `* g; r7 z  W. S
  13.     vsprintf(msg, format, args);
    - q# m; i) `1 C; O$ q
  14.     va_end(args);
    " G( N2 d( P( y" d
  15.     printf(msg);8 f2 ?& Q$ E7 s2 _  ?" z
  16.     TC_write_syslog(msg);
    9 Q$ [: A1 s2 l- O
  17. }
    7 S* B4 u8 V" S; l  L2 @

  18. , X" |. v5 g! r% N2 y
  19. #define  ITK_CALL(X) (report_error( __FILE__, __LINE__, #X, X, FALSE))  ^% O2 g, m! y
  20. / t  z) h: w8 @# M
  21. static int report_error(char *file, int line, char *call, int status,
    3 Y, _; ~) s- N0 l( |  k
  22.     logical exit_on_error)8 ]6 v7 O. \3 r2 a, l/ Y
  23. {
    3 a  B( B; x5 D# m3 {
  24.     if (status != ITK_ok)+ @1 P$ P8 w9 {, k3 ^
  25.     {
      H* e( L& h: |% S, W" {
  26.         int$ H6 n9 _0 J$ j$ j
  27.             n_errors = 0,
    3 Q0 w8 ^( V& C! o$ G- E
  28.             *severities = NULL,
    ( V7 q* F1 i( b; b) g
  29.             *statuses = NULL;
    " i6 \' f3 l' R! r& m! Z( Z6 M% \
  30.         char9 c% h* B1 U; h+ ^; X, W
  31.             **messages;
    ' y) j; ?9 ~; Z4 s

  32. * N0 u8 l' |. i  ?' f$ f
  33.         EMH_ask_errors(&n_errors, &severities, &statuses, &messages);0 M: }* v4 I- }7 p: y7 ~1 Q
  34.         if (n_errors > 0)
    8 p  r. `6 q% }4 O+ v
  35.         {7 _+ T8 T1 e. K7 p* Q# c7 L
  36.             ECHO("\n%s\n", messages[n_errors-1]);( {1 O; U% x$ k$ d% j
  37.             EMH_clear_errors();2 |/ h2 v; D, o) h2 |) Q9 y
  38.         }
      q5 g* z* ^0 p  ^. K9 f. C
  39.         else
    " z/ t4 [  r1 ]# M' [3 u: m
  40.         {
    9 I- b: X" c; J
  41.             char *error_message_string;8 f3 c( [* G! ^) u; p" E8 ?8 j* x
  42.             EMH_get_error_string (NULLTAG, status, &error_message_string);
      U! z8 j* ^* ~
  43.             ECHO("\n%s\n", error_message_string);# G8 G1 ?( w9 X* ]- P& B  o
  44.         }
    + \/ F7 _& }' x( V. l! |: C5 J
  45. 8 m* X! [9 U9 D7 ~/ [* Q: H
  46.         ECHO("error %d at line %d in %s\n", status, line, file);
    # W2 r$ E0 _3 B0 T- I! D1 d
  47.         ECHO("%s\n", call);
      t2 i) q. [$ \  h4 i, F
  48. + }) ^- T* s: f* {1 r1 j* F
  49.         if (exit_on_error)) C$ X! R6 `, V9 H7 T+ M, ^: x
  50.         {
    1 o) F; E/ S1 U; u
  51.             ECHO("%s", "Exiting program!\n");
    & ~0 N% n4 H% ~4 s5 r( k/ G
  52.             exit (status);, Y8 T8 x  G/ _0 A! e9 Z# h4 l% b1 f
  53.         }
    $ o, x9 V% n% \$ U. R1 R
  54.     }
    3 R) k- q* @, z( g. F1 F" D
  55. & h5 f% f4 b4 U0 K
  56.     return status;
    9 J& R8 x6 `8 M8 a6 o
  57. }
    0 E+ v$ z' S; r
  58. 7 R' M% N5 Z9 A2 t% d
  59. " y8 W6 X% s* h% T9 {. F5 Q
  60. static void do_it(void)
    . r, P, j- }  g0 U
  61. {
    - Z/ ?' a0 C- a+ O2 h' B$ D$ `" E
  62.    // write your code here
    ! P+ `& {, q/ \) h  v
  63.    
    7 {  z# C6 H2 ^/ ?- Y+ t4 d$ |7 u
  64. }
    6 ^9 p  L4 V& ?  ~! V
  65. ! }6 M# D' x& p- U
  66. int ITK_user_main(int argc, char* argv[])
    " y" ^! |' b) s9 U$ R# E. f3 k
  67. {, Y4 x- u) R' z  q. S2 C/ ^! ?4 y) n
  68.      ITK_CALL(ITK_initialize_text_services(ITK_BATCH_TEXT_MODE));, `9 p, U+ v8 U
  69.          ITK_CALL(ITK_auto_login());1 ?5 m+ Q! g' _( ?; C1 r2 ~
  70.      ITK_CALL(ITK_set_journalling(TRUE));# I5 T8 `! c0 ^( Q8 n

  71. 0 c/ I( k' H* x1 G
  72.                 do_it();8 [2 K+ T4 o$ T, I: t, |/ u
  73. ) |5 a- \- l. [. Q4 n/ N
  74.      ITK_CALL(ITK_exit_module(FALSE));/ `+ w( |3 W3 p8 Z. D
  75. - h/ H& l; A9 w$ J. |; X
  76.     return ITK_ok;3 P. {- i' P6 O
  77. }
    , @$ T' o0 |" I" O3 y! w& H$ p
复制代码
( H! E8 n  g, V0 {- O+ ^5 p& k
/ T# U) w5 {" x* Z+ j/ C
上海点团信息科技有限公司,承接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

模版下载地址:3 h2 C. b1 V9 d! s- z! z
5 p" Q* s3 H8 x
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二次开发专题模块培训报名开始啦

    我知道了