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

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

admin 楼主

2015-1-21 14:42:57

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

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

x
NX二次开发中,默认的开发模版,使得开发NX非常方便,实际上主要是在Visual Studio 的环境下,加入了库的路径,以及一些预处理相关的设置。% U5 ^% W0 d4 o5 `: m4 i
关于ITK开发中的模版,我制作了一个,大家可以在这里下载6 T6 e' [* Q' I

2 z& Y0 Q! k. i3 [) e! C此处是给一个报告ITK函数执行错误的函数,方便使用,大家可以替换上面下载的模版template.c里面的代码,直接使用这个。当每次返回的status进行错误获取的时候,直接可以ITK_CALL去捕获错误。这点和我们在ufun中使用 UF_CALL类似!
; c6 I, r3 X1 V) X! }4 O# l$ \7 K9 k+ _
这种方法省去了大量的调用EMH_ask_errors(&n_errors, &severities, &statuses, &messages)的重复代码!!5 i; G2 X0 L& Y. j) @" `

. Q# U1 K/ m/ a  E5 v: w- K9 W, w% z$ s' R- ^
  1. #include <TCcore/aom.h>8 @+ S' I& K* R# [5 H* U4 X+ p  [
  2. #include <sa/user.h>
    6 |0 L% }" g( f: H. ~
  3. #include <sa/person.h># r$ c# f' Z1 a
  4. #include <tc/emh.h>- u% D. Z3 O% j( Q5 j0 q
  5. #include <tc/tc.h>3 y, j. A: q, y
  6. #include <stdarg.h>
    3 i) P) n: U: }) ]. n

  7. 2 K6 V# v" l) I7 Q1 w8 t0 n9 P3 E( o
  8. static void ECHO(char *format, ...); ~& S0 r( i! x. H
  9. {/ g( b5 M9 h, F- C2 i
  10.     char msg[1000];
    8 p7 O  y; |% h& e' k. z
  11.     va_list args;/ g' `7 q1 y% ]: s. f' g
  12.     va_start(args, format);
    ; b; |# A6 B5 }0 p* c1 N  \- D- T
  13.     vsprintf(msg, format, args);
    : \( ?$ m% l. [( u
  14.     va_end(args);) @* w& Q  |1 R- m1 P6 I8 i3 Y
  15.     printf(msg);
    ) l& U% o/ Y/ o) {. C$ X
  16.     TC_write_syslog(msg);
    # z3 Z0 q; ^: a) `2 Y$ D0 A
  17. }
    7 C7 J3 j# v! J5 N; e% H$ S/ f/ {
  18. - m/ U. v! ~" V( u
  19. #define  ITK_CALL(X) (report_error( __FILE__, __LINE__, #X, X, FALSE))
    " z4 n+ ^1 e2 s* c
  20. % e. }& c% o% O
  21. static int report_error(char *file, int line, char *call, int status,  v3 P8 M$ k/ Z7 E! E; J, i$ `9 S* i
  22.     logical exit_on_error)
      A) M( P, T, n% b9 p. Z
  23. {4 m: e: M# L; w" w/ N0 J
  24.     if (status != ITK_ok)+ c1 K8 d- ]( k& f% t
  25.     {
    1 \! h! P8 }7 D- [8 ^6 v
  26.         int
    9 R; S& S3 Z+ Y# ?4 i
  27.             n_errors = 0,# P) m. y2 ^* ~/ Z( N% I! k+ r
  28.             *severities = NULL,% z( ?. i7 I( R% X& _& \- q( [
  29.             *statuses = NULL;& w4 ~" t0 X" n( J! A+ H
  30.         char
    8 G. n9 U9 U8 ^3 w, c9 W! g6 i
  31.             **messages;
    # |& m3 B# U9 ^) y3 h: j
  32. ! {! j! y' ^9 l! Y* u% r! T# _
  33.         EMH_ask_errors(&n_errors, &severities, &statuses, &messages);# A$ g& [5 a  G( Z
  34.         if (n_errors > 0)  W8 _! C8 f1 ]( f& d
  35.         {8 S1 z+ m  R9 b% c# l8 x
  36.             ECHO("\n%s\n", messages[n_errors-1]);3 `+ a& c8 Y1 _3 X; o( t
  37.             EMH_clear_errors();
    ( ?* a- S( {) F5 E/ H9 s& O/ w1 Q( F
  38.         }2 N2 \/ q! e2 n, Y9 [( \( O* d
  39.         else1 r4 f' J  F9 p# Z; g
  40.         {) G  z7 S2 w6 B9 }1 Y: @
  41.             char *error_message_string;
    1 {  u+ B& ^0 n9 k( C6 e( {
  42.             EMH_get_error_string (NULLTAG, status, &error_message_string);. W, K( W0 z8 P4 r
  43.             ECHO("\n%s\n", error_message_string);4 Y# B; G. @$ k: {
  44.         }
    1 u0 y; c( z5 `
  45. * G7 R" Z* f& n, W: q2 I( K
  46.         ECHO("error %d at line %d in %s\n", status, line, file);
    + _; g" y; }4 n+ }; q4 }
  47.         ECHO("%s\n", call);8 [7 R% A" V" }' {  d

  48. 1 X* b2 C) l0 X, k# w9 O0 t: I
  49.         if (exit_on_error)3 X0 w7 G% r# q; l- z$ e# ?7 r
  50.         {
      ]. e2 A! h. V
  51.             ECHO("%s", "Exiting program!\n");
    , N; H$ G+ z) _" i
  52.             exit (status);; h8 O3 |7 S& Y( d
  53.         }
    + S9 d% l0 s5 m7 O1 p
  54.     }. h1 @+ ]6 i) C1 K5 s: r# ^: s

  55. & e2 v# s3 ~; ]: q8 p
  56.     return status;" H' S+ a! S+ z+ o2 a  U
  57. }
    , e5 [2 c" T9 z

  58. $ Q0 i- G8 \# i* {0 ^- n" [9 L

  59. / D+ @2 g8 k! g
  60. static void do_it(void)/ j. T% S1 q( w5 j! ^# X) d) e3 [% ^
  61. {
    ' ^( x+ U' ^  T8 \
  62.    // write your code here' P5 a2 X1 W$ e. V& x# F$ H& \
  63.    
    & D% _4 ^5 I" x: W0 S+ H* ~" }
  64. }
    . y; M' A6 u8 L( B9 _' v* Y& }
  65. ( |. ~% K0 Z- G( J8 S
  66. int ITK_user_main(int argc, char* argv[])0 k& P2 r( ~, g$ D3 o0 d* ^9 s  T1 L
  67. {
    7 J5 p' d- h; c; i& v) j
  68.      ITK_CALL(ITK_initialize_text_services(ITK_BATCH_TEXT_MODE));6 u6 X& x- l9 d- P0 b( b
  69.          ITK_CALL(ITK_auto_login());
    ! C  q5 J, s7 ?% ]
  70.      ITK_CALL(ITK_set_journalling(TRUE));1 s( r' U/ m! L5 _2 I# H) K8 U
  71. . _3 d5 A0 O. b3 y- U0 V( T
  72.                 do_it();* O) E0 S, k# F7 n& @+ X  G

  73. , n1 Q4 c" N7 u& f' b
  74.      ITK_CALL(ITK_exit_module(FALSE));3 Y2 ~" z5 h9 h: r. R: w5 b1 N
  75. 2 J6 G- u3 p( E% f# c
  76.     return ITK_ok;
    " y9 x; j) J, q2 V  e
  77. }
    5 v# x3 Z# G0 ~3 ^$ x. E
复制代码

2 l# _; G! i, X& C; K5 i9 t# q
) k) w/ s" s3 p' z
上海点团信息科技有限公司,承接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

模版下载地址:1 k- Y4 O7 \. ]

) ?5 Q+ K8 m1 a) m& H7 h. U8 P) vhttp://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二次开发专题模块培训报名开始啦

    我知道了