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-国产软件践行者

teamcenter ITK二次开发源码分享: 创建一个工作流

[复制链接]

2014-1-15 19:30:29 4800 0

admin 发表于 2014-1-15 19:30:29 |阅读模式

admin 楼主

2014-1-15 19:30:29

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

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

x

, p& O0 j' v2 Q- G: @9 ~( eTeamcenter ITK二次开发源码分享: 创建一个工作流' y* @0 y0 ?$ j

$ @0 y. F) B5 `; E
  1. /*HEAD CREATE_A_PROCESS CCC ITK */
    6 l' [/ f9 m$ Q6 R% ~% |0 s0 u, q
  2. #include <stdlib.h>. |2 p4 c- M2 l' F3 U* T
  3. #include <TCcore/aom.h>& E5 z0 Z6 ^* M
  4. #include <tc/emh.h>, _  _/ v" W. \7 i0 G
  5. #include <epm/epm.h>
    " l, X- U, Q5 R
  6. #include <tc/tc.h>
      m% L3 X/ I2 S% Y1 _
  7. #include <sa/tcfile.h>; }( y* U# N/ k: V  x- d- D8 V4 e# }, {
  8. #include <itk/mem.h>; f1 A" I5 U' |. A
  9. 0 G! W8 {- R/ J3 }
  10. #define EXIT_FAILURE 1   N0 V3 J1 f) Z; J/ R
  11. #define ERROR_CHECK(X) (report_error( __FILE__, __LINE__, #X, (X)))
    : c6 h* c' F% g0 R2 m7 A% X, ]
  12. static void report_error( char *file, int line, char *function, int return_code)
    6 J3 q+ W" e4 C6 B- D+ @
  13. {
    ! w/ l$ D" F8 K) x2 r  T1 F( S8 ]; V; H
  14.     if (return_code != ITK_ok)) ^7 c( b, `+ T7 T/ _* {- o
  15.     {! h3 l" y* @% |# @/ r: W
  16.         char *error_message_string;
    4 x% L0 _, Y( }2 r
  17.         EMH_get_error_string (NULLTAG, return_code, &error_message_string);
    3 S: W  R+ c1 T, t, t
  18.         printf ("ERROR: %d ERROR MSG: %s.\n", return_code, error_message_string);7 i# A' X$ J- F
  19.         printf ("FUNCTION: %s\nFILE: %s LINE: %d\n", function, file, line);
    ; e. g8 f! j+ a
  20.         if(error_message_string) MEM_free(error_message_string);) e+ C* F) m# ~: d* t
  21.         printf("\nExiting program!\n");( n# C1 C3 U/ k% L, F, g- |) A
  22.         exit (EXIT_FAILURE);   
    " z% X: |7 i+ ~: g/ W
  23.     }
    ! a7 j+ P- W! V7 T0 _: r
  24. }
    * \. J8 A0 ?+ R: C: i7 ?
  25. 0 L7 b0 i8 `' j% N
  26. #define EXIT_IF_NULL(X) (check_value(#X, (X)))- T. T2 Q4 b1 W( b
  27. static void check_value( char *function, int value )+ h: H, _; _  T$ [
  28. {: e5 C; p" A( R) p, x
  29.     if (value == 0)/ E0 a  I( g  ]! K8 e4 n4 _3 z
  30.     {
    , P% Q, O: L1 A0 P' o  i2 A
  31.         printf ("\t%s is NULL\n", function);/ h7 C) v2 `1 ?& L
  32.         printf("\nExiting program!\n");$ P$ U" F/ x9 `% e
  33.         exit (EXIT_FAILURE);    0 n' g4 i+ x3 W' c4 ]% U; {
  34.     }
    0 X/ s) @( G3 \$ L9 @# B
  35. }) [% G) y; _' N! r2 I
  36. 6 r6 c+ z  o  A% T6 l5 h7 s. Z3 y

  37. . p1 g+ @; |  B, z
  38. static void do_it(void)5 u# ]" v& t/ V. X# X4 F2 q6 ~
  39. {& g' d/ b9 _7 q' n  h
  40.     int
    9 Z2 s! {+ f: P4 t$ L( I0 b
  41.         attach_types[1] = {1};$ g8 ?! r% f- a8 R
  42.     tag_t * e$ H8 n4 x1 I
  43.         rev = NULLTAG, % y5 O! |* r' F- G0 `6 d' G8 k9 }& f
  44.         process_template = NULLTAG, . b0 ?2 M6 C; Y! ^. W1 a
  45.         process = NULLTAG;% r3 E0 v- ]" v. |4 w% w

  46. " T9 G( O! ^: e" N( T. s/ ^) W
  47.     ERROR_CHECK( ITEM_find_rev("000206", "A", &rev) );
    7 Z4 Q- ]# y) X. M
  48.     EXIT_IF_NULL( rev );
    $ b3 N9 H% s9 }. `+ |4 Q  F* {+ I, O

  49. 1 i  B8 [, O2 ]  @9 D# S
  50.     ERROR_CHECK( EPM_find_process_template("oneStepWithStatus", &process_template) );
    , _( a4 g& z1 U% u' q+ N$ z. @
  51.     EXIT_IF_NULL( process_template );' _; ]1 \) N  U5 Q, J5 n! T5 N

  52. % g; P1 c9 z2 {. _; D( r

  53. / V. v7 ^5 O2 n1 g* k) q6 J. z3 P
  54.     ERROR_CHECK( EPM_create_process("5421377", "desc", process_template, 1, &rev,
    8 x: n. [0 k' |2 D; r6 m' X. f
  55.         attach_types, &process) );+ R! [% d/ C' v+ [

  56.   o# t7 y( Z; [2 J$ V0 o! H
  57.     EXIT_IF_NULL( process );6 a$ b$ c3 ~4 j' |2 [; S% y) ?7 b9 r
  58. }8 K& X7 C- r% h/ [4 x: q
  59. ; r  b3 r$ O# I' ^
  60. int ITK_user_main(int argc, char* argv[])
    ( L! q: N: b: D% S: X: L0 y$ X
  61. {  E; ~/ u: E5 J6 G
  62.     int
    ' c, X; b6 b6 E: o) L* v
  63.         status = 0;
    / u0 l! X) Q" ^7 z" G
  64.    
    ( A0 N: Z0 h9 y3 \8 l: o
  65.     ITK_initialize_text_services( ITK_BATCH_TEXT_MODE );+ }( |! z' r+ s6 Y, A1 f! J) a0 q
  66.     status = ITK_auto_login();
    / J: J3 {6 X, R  C" O- X! S- D
  67.    4 h. W2 g. K# h/ x3 D
  68.     if (  (status != ITK_ok)) printf("\nLogin Failed!\n\n");6 Q6 \1 K% b1 C) o0 |
  69.     else) C# o7 s9 Z. I0 Z. x- j- Z) R
  70.     {" ]! C- H$ s7 X# v) O( v0 f
  71.         printf("\nLogin successful!\n\n");  `! ]$ n! D; H
  72.         ITK_set_journalling(TRUE);
    / @5 {8 e: X: W( q: a
  73.         do_it();
    / i) k) g4 N" k; S1 ?6 Y  \7 y8 t5 P& `
  74.     }
    / [% P0 Z0 ?1 |' T4 w
  75.     ITK_exit_module(TRUE);/ t6 ]# j( }: _, y) }
  76.     return status;( W1 @8 J# x  v& y; |5 E
  77. }
复制代码

# p" l) K/ U. J) c6 M7 q/ m+ t  M' Q  j
9 p+ |! P6 `$ _) M2 J: p. v& r! i# m
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了