PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2014-1-15 19:30:29

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

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

x

  D4 P1 n" B3 C5 y0 r, M' rTeamcenter ITK二次开发源码分享: 创建一个工作流5 C+ V5 H- R( D
! Y. @% E! D/ T! S$ r- }- H
  1. /*HEAD CREATE_A_PROCESS CCC ITK */
    " P! c. e9 q( \, l, O' D
  2. #include <stdlib.h>
    7 h  l4 z9 |. _5 S
  3. #include <TCcore/aom.h>7 J0 i2 [9 X; ]3 ~3 B9 i
  4. #include <tc/emh.h>
    - K6 L. n3 |  e: x0 ?8 q2 ?  N
  5. #include <epm/epm.h>
    $ |1 @; z( x* O+ O5 N! h/ v  b
  6. #include <tc/tc.h>
    0 q' f0 [. A2 C, [) `( {
  7. #include <sa/tcfile.h>% D4 E9 t/ s) `4 v1 L5 k" ^9 V4 ~
  8. #include <itk/mem.h>
    6 _- M; G* u5 A: F2 i: i) v
  9. ! W* w: y* _5 O4 e
  10. #define EXIT_FAILURE 1 7 \7 S) c; S, I% U
  11. #define ERROR_CHECK(X) (report_error( __FILE__, __LINE__, #X, (X)))8 ~1 h1 J" a# E) n! I0 j
  12. static void report_error( char *file, int line, char *function, int return_code)' t3 ]3 ]+ U% q
  13. {2 ^2 C$ l0 r+ _) f0 F3 [
  14.     if (return_code != ITK_ok)( B$ `3 c6 U: A
  15.     {! z3 r* x8 w7 z8 ~3 v  I
  16.         char *error_message_string;* Q$ t' C9 i. D- Q) d( Y& W
  17.         EMH_get_error_string (NULLTAG, return_code, &error_message_string);
    2 y' h. A& G: R: m8 m
  18.         printf ("ERROR: %d ERROR MSG: %s.\n", return_code, error_message_string);
    $ J& Q8 }" E- Q: Y
  19.         printf ("FUNCTION: %s\nFILE: %s LINE: %d\n", function, file, line);
    ( Y" G6 I" i9 t9 n* @# G
  20.         if(error_message_string) MEM_free(error_message_string);/ \/ d! }7 u5 |* O
  21.         printf("\nExiting program!\n");+ q: U& c1 K) F) V
  22.         exit (EXIT_FAILURE);    7 x8 L# V3 A- @- }' W; Z
  23.     }4 K) F  [! W( Y
  24. }
    * ?; w  h1 J( a* {* r2 O" J3 {

  25. & }, d. m8 D$ Z/ F+ T2 K$ s
  26. #define EXIT_IF_NULL(X) (check_value(#X, (X)))
    & d' w7 Y' F/ d8 j7 d) n  |: y! B
  27. static void check_value( char *function, int value )2 g: X$ f. p2 M  ]9 J, w
  28. {
    7 w; d" ~: H/ _8 k; D
  29.     if (value == 0)
    6 b- n: a2 Y2 E# @: ~% h
  30.     {! u3 W) m* K4 b' k. H% L+ A
  31.         printf ("\t%s is NULL\n", function);
    4 l' ?4 ?7 ]+ r. B
  32.         printf("\nExiting program!\n");
    1 F1 ^2 A8 z: J$ W( S5 t9 U
  33.         exit (EXIT_FAILURE);   
    ) e; K* D* R) w# X+ j  M! S
  34.     }; X) b8 L* w* ~( G
  35. }
    3 ]+ m, H) ]" |& j) I
  36. " {; i, q0 U4 o- y* p
  37.   D- @9 _' B' T$ `
  38. static void do_it(void)1 ?5 B( i5 p6 w1 T( f+ \
  39. {
    $ k5 `2 j7 K( T
  40.     int . @6 V1 Q7 K! Y2 C- C
  41.         attach_types[1] = {1};  K, Q! \; z0 f) S' `
  42.     tag_t * {8 a2 H) y8 k, J
  43.         rev = NULLTAG,
    - @% E9 e5 U" |1 z% ]
  44.         process_template = NULLTAG,   k2 Q" ^- c) n- `
  45.         process = NULLTAG;: O4 Z7 o% Y3 V% d; m3 }% N
  46. . ^4 m# k  D& t- n
  47.     ERROR_CHECK( ITEM_find_rev("000206", "A", &rev) );( m7 g0 D0 \* S+ _. u+ P1 b1 D  P
  48.     EXIT_IF_NULL( rev );5 B0 D# X8 c5 F' U
  49. * q$ G0 N  _; O
  50.     ERROR_CHECK( EPM_find_process_template("oneStepWithStatus", &process_template) ); - `0 c0 O' |$ M: N) ^/ z) I+ s8 E( H
  51.     EXIT_IF_NULL( process_template );4 L' P/ p% W$ |% `! w

  52. . O: s7 I6 v# m4 ?, y9 c9 u6 E

  53. ( U0 w* C% t( ]. S' R% `% {' p2 g
  54.     ERROR_CHECK( EPM_create_process("5421377", "desc", process_template, 1, &rev, : K! O9 }* W3 P4 q1 E
  55.         attach_types, &process) );
    1 i) ]" `! M+ {
  56. & T" M. p& q/ x
  57.     EXIT_IF_NULL( process );  U6 m( x6 J( i* N" g/ ~9 C- N& U
  58. }0 l  a" A- S( K* Q: m' N8 m2 H
  59. " j5 |$ H9 u$ [4 g0 }! t6 Z! `
  60. int ITK_user_main(int argc, char* argv[])
    8 V% \! H0 }0 p, a, H2 u. R% E
  61. {
    ! h1 h7 F7 p+ m4 U- ^
  62.     int
    % o" Z% l& w: V' e3 S
  63.         status = 0; ) C" x- c: o3 o7 j% d- Q2 X
  64.    
    # c$ K- Y& R+ M" z) |
  65.     ITK_initialize_text_services( ITK_BATCH_TEXT_MODE );0 ^- s1 _& I! y) n7 p5 J
  66.     status = ITK_auto_login();/ K' e+ `, j1 z8 f7 R9 L
  67.    & ^1 B- U! ^& Z6 n. p
  68.     if (  (status != ITK_ok)) printf("\nLogin Failed!\n\n");
    - E% N3 L5 {. M/ Y/ c
  69.     else
    3 ]+ z4 i1 n; c  @1 t
  70.     {
    ) O) o: V2 [* j7 m" ?& d: g
  71.         printf("\nLogin successful!\n\n");
    + P+ w) _4 w& N* g+ K' A) c0 Z
  72.         ITK_set_journalling(TRUE);: `  f7 Z) u/ [6 _4 V3 K
  73.         do_it();
    : Q; a  U0 X  s' d$ Z( V) u- f
  74.     }2 s" R9 t* w' D/ V  ], D
  75.     ITK_exit_module(TRUE);4 F  ^1 \6 N$ e1 j
  76.     return status;
    $ }2 T5 m) Q! C  c
  77. }
复制代码

" u. B" E$ ], G, \
' p# I1 I# b+ u+ j/ Q% S1 b: c" e' ]" K; b$ T
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了