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

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

admin 楼主

2015-1-21 14:42:57

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

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

x
NX二次开发中,默认的开发模版,使得开发NX非常方便,实际上主要是在Visual Studio 的环境下,加入了库的路径,以及一些预处理相关的设置。
7 P8 f/ H) Z+ S, g5 @关于ITK开发中的模版,我制作了一个,大家可以在这里下载8 S5 F; o. ?# l, F8 ?

6 N5 a% L) a  }4 s此处是给一个报告ITK函数执行错误的函数,方便使用,大家可以替换上面下载的模版template.c里面的代码,直接使用这个。当每次返回的status进行错误获取的时候,直接可以ITK_CALL去捕获错误。这点和我们在ufun中使用 UF_CALL类似!( h7 i; ]9 L3 k- F
, m  C) b' j) k7 e9 G2 N
这种方法省去了大量的调用EMH_ask_errors(&n_errors, &severities, &statuses, &messages)的重复代码!!3 _8 R( [% x- g" D1 p% Z3 o6 \- A

: `9 U# P3 w; O$ }1 |8 `0 D* n8 R: H& `# m
  1. #include <TCcore/aom.h>8 Q* m1 ?8 E  @8 [. y; y  X
  2. #include <sa/user.h>" b7 u' c) J5 E  D8 k3 D( Y
  3. #include <sa/person.h>& b4 y! D# A  J/ E
  4. #include <tc/emh.h>
    ; z, Q& c3 B$ o) Y6 `1 ~3 C& ~7 e4 z
  5. #include <tc/tc.h>  k' F: ^. u; K6 T4 z0 O
  6. #include <stdarg.h>
      F" [. F$ ?1 E7 I6 h4 o. t9 Z
  7. # U/ x! {# y( N- [- b
  8. static void ECHO(char *format, ...)7 o& |8 Y0 ]) w' M8 p
  9. {' V% v2 @) ~- _
  10.     char msg[1000];
    / g, t5 S. q( w! Z+ e) f2 W/ y1 p. |
  11.     va_list args;
    4 s$ v0 ?  H+ n! B, |
  12.     va_start(args, format);
    . {2 o2 \3 `9 ^: f, F8 ^# G/ H
  13.     vsprintf(msg, format, args);
    - F2 E3 L. G9 u! N: \, |
  14.     va_end(args);5 a5 S7 W+ M/ W! [* A  F
  15.     printf(msg);0 o6 @$ Q$ n6 J
  16.     TC_write_syslog(msg);
    # u: y% g* ?0 B, H0 e' E" e
  17. }. A5 H0 c% ^6 R: O
  18. ! j- a; |& ]: E$ }9 ?& h8 W6 y
  19. #define  ITK_CALL(X) (report_error( __FILE__, __LINE__, #X, X, FALSE))
    + P8 x- m' Q- z8 J! t

  20. 9 v4 `* T5 q$ i' o4 z
  21. static int report_error(char *file, int line, char *call, int status,
    6 o7 u: S" Y0 g1 _
  22.     logical exit_on_error)
    , c7 a1 G7 l: i8 E
  23. {8 S; D( y" x$ |  b' F8 i
  24.     if (status != ITK_ok)5 R/ }! Z1 d- J7 y
  25.     {
    9 b) u# W0 [) u4 E9 ]. E: R
  26.         int
    ; h" R3 C9 y  E6 Y9 J* w* u& y
  27.             n_errors = 0,
    , ]6 W  M4 y; W0 v0 i% T
  28.             *severities = NULL,6 @8 X8 |0 b: u2 |5 z: w! j
  29.             *statuses = NULL;2 ]* M+ _  j( \# ?# w( Z0 M/ v) c' T
  30.         char$ Q0 n, S, s2 E
  31.             **messages;$ L5 c! o; Z0 F: e% U

  32. + {# W; o4 s6 T
  33.         EMH_ask_errors(&n_errors, &severities, &statuses, &messages);3 _/ W) N) Q$ i3 I) A5 s: n
  34.         if (n_errors > 0)
    ; I0 B# T" v; {9 \+ {* X: p* Q
  35.         {/ {- w- }/ [. H- d
  36.             ECHO("\n%s\n", messages[n_errors-1]);; c/ O3 P- [7 r4 A% k
  37.             EMH_clear_errors();
    9 W  Y' p0 O' H
  38.         }. t4 t9 @9 s1 p! o& s$ Y+ g
  39.         else. f, A6 Y3 x% X2 [: Q
  40.         {
    0 X0 b5 P3 a3 O4 P+ x
  41.             char *error_message_string;
    / x0 q0 T: ]; ?/ `. ^% J
  42.             EMH_get_error_string (NULLTAG, status, &error_message_string);
    0 s: C3 ~4 E& d5 z+ G8 c$ P
  43.             ECHO("\n%s\n", error_message_string);. F) G& H# Y( j' d, x% y/ ?1 |' o- E
  44.         }$ ^9 L* U( j7 B5 ~2 b6 _' W$ `6 R

  45. % A, b$ [, S# w5 _; v, ]/ m8 f. \/ \
  46.         ECHO("error %d at line %d in %s\n", status, line, file);
    3 W' G; Z5 A0 X. h( _# i6 {/ q
  47.         ECHO("%s\n", call);
    ' ^/ E2 P0 u3 }2 ?

  48. + y% A+ x6 U9 F
  49.         if (exit_on_error)
    2 v$ N, l0 g+ ?/ }* O
  50.         {0 c& q( g- }" h" {& G
  51.             ECHO("%s", "Exiting program!\n");% I7 X  S: o  z; M/ D
  52.             exit (status);
    . p3 j6 p% W5 h8 E- t# E
  53.         }* u' B! T( o' L
  54.     }: J7 [3 [3 d/ e
  55. & R% H% }; }1 p% F
  56.     return status;
    # f; F: C: C; O) E9 Y
  57. }
    ' [. ~* M( G& C+ t7 r

  58. ( s4 U2 A$ h, X9 b0 v- I% l

  59. + E0 d" o; L7 O/ I( x, K0 Z3 N% @' u
  60. static void do_it(void)) P9 i5 N1 g/ c% I
  61. {& g! B+ i% e6 E5 j4 i
  62.    // write your code here0 T" |* A" x  G* R# O
  63.    
    7 `# J8 K5 M" r8 U
  64. }
    ) C  V0 U/ Q& _

  65. : d: C( R8 I( m
  66. int ITK_user_main(int argc, char* argv[])" r/ b" @: @. g- x  Y) `
  67. {1 C2 ?  O& R% M+ u
  68.      ITK_CALL(ITK_initialize_text_services(ITK_BATCH_TEXT_MODE));
      e  w# [& A! m" D
  69.          ITK_CALL(ITK_auto_login());8 o* ^7 D8 z. V6 p# Y) O
  70.      ITK_CALL(ITK_set_journalling(TRUE));
    # S1 ^  ^. R/ D/ f3 K: |9 H
  71. $ x+ |/ A* W/ X  [5 O
  72.                 do_it();
      J' ~5 |  Y' B" q- `' b
  73. ; B' k- P9 X3 v) E1 s, `. k5 b
  74.      ITK_CALL(ITK_exit_module(FALSE));7 N4 G% c: Z) a2 S. O& R% c' v7 ?( B
  75. / }+ Q* d8 O; v% o6 s
  76.     return ITK_ok;! V+ {: K3 Y, o8 d9 {
  77. }
    ! N4 P9 M5 q# T' ?$ u6 b- E
复制代码

' c# O' ?8 Y& J: o' A
  C2 h$ ~6 {' v5 e4 k' P3 c  e9 a
上海点团信息科技有限公司,承接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

模版下载地址:) z1 `: {# \8 t- [

- o6 g9 b7 ^$ c. A3 p8 F. }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二次开发专题模块培训报名开始啦

    我知道了