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 4712 0

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

admin 楼主

2014-1-15 19:30:29

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

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

x

- w, e0 |( y+ PTeamcenter ITK二次开发源码分享: 创建一个工作流* A5 ~( k+ f* N3 }/ ?
. x7 V; P  R3 Z
  1. /*HEAD CREATE_A_PROCESS CCC ITK */( s0 W5 y# M5 D. C
  2. #include <stdlib.h>
    1 ?& [- b: R1 z2 l( j9 _, O) W
  3. #include <TCcore/aom.h>
    " ~+ u( i4 I8 W, Y4 k" H  E
  4. #include <tc/emh.h>
    : s0 L) |. O7 }2 ]  k/ Y, `
  5. #include <epm/epm.h>
    ' m9 q8 D/ |4 X3 d: Q% B! I" n* P
  6. #include <tc/tc.h>
      c8 Q+ V! F1 R' r6 ]. ?* n! f
  7. #include <sa/tcfile.h>
    . J" \* s( M4 S  C! n0 A
  8. #include <itk/mem.h>; `5 W, T& m1 p* \' S9 F( p

  9. 0 Y# m" l: {/ k) C6 g2 ]9 ]
  10. #define EXIT_FAILURE 1 9 c- S' G0 d4 h* h- M
  11. #define ERROR_CHECK(X) (report_error( __FILE__, __LINE__, #X, (X)))
    1 G5 D0 h, S0 T* h) K3 k3 c3 P  z
  12. static void report_error( char *file, int line, char *function, int return_code)
    . K. V* F8 b# Z; p
  13. {* b* ~6 l  j. _7 ~
  14.     if (return_code != ITK_ok)
    $ N! ^: J+ D) p; P
  15.     {) k# ]: @& d- H# v* q$ U
  16.         char *error_message_string;/ `( u+ Y) m/ n. E
  17.         EMH_get_error_string (NULLTAG, return_code, &error_message_string);$ N4 N- C) ^) i6 x; K
  18.         printf ("ERROR: %d ERROR MSG: %s.\n", return_code, error_message_string);. r/ K0 u) o7 |7 s/ l6 [9 q
  19.         printf ("FUNCTION: %s\nFILE: %s LINE: %d\n", function, file, line);
    6 O9 t$ K0 a$ \' a* M
  20.         if(error_message_string) MEM_free(error_message_string);
    * _8 X, G* {5 x& ]5 H) ]8 K& z
  21.         printf("\nExiting program!\n");% Y# p6 p; {1 w
  22.         exit (EXIT_FAILURE);   
    9 Q2 i; z& v- k) d1 q
  23.     }$ a; `" o& {$ ^# w" f% Q0 U
  24. }7 T. p) t& ?' |3 `- o
  25. 5 I  u- p: B& E
  26. #define EXIT_IF_NULL(X) (check_value(#X, (X)))1 R/ M5 r: j3 a  C- y
  27. static void check_value( char *function, int value )
    ; n& w8 i1 U- ]/ m( b* Q1 L, ~$ A( M
  28. {! D' B/ a# m0 j$ E
  29.     if (value == 0)& `- I  P0 [% b3 d: J4 R0 s
  30.     {
      v2 a. n; n" v. j" `+ [, S8 k
  31.         printf ("\t%s is NULL\n", function);( C8 g; g; U3 P: x6 f: E5 E
  32.         printf("\nExiting program!\n");/ v  C* H1 q8 u. O" S" K" k3 Y' o  n
  33.         exit (EXIT_FAILURE);   
    " M/ j) ^4 p/ m  E
  34.     }
    + ]: h6 R9 M! F$ g
  35. }. Z: T6 G9 k$ M# ]/ B  o2 }+ S

  36. ; I. l5 E! N4 B+ \+ k5 e5 w
  37. : u% j% s8 M5 A
  38. static void do_it(void)
    ( w& r& {) N, x8 x- ^, E  f
  39. {
    : x; ~7 b$ q8 B  ]2 T5 v+ ^: i
  40.     int
    + k) k/ T0 Y1 r9 v
  41.         attach_types[1] = {1};
    ! ^* Q  D8 f, z: h! g
  42.     tag_t
    # J# x3 s7 o/ h5 n. W
  43.         rev = NULLTAG,
    7 S: I- \* f! B4 l& z2 W
  44.         process_template = NULLTAG,
    * G" m8 H; N1 c$ \- M
  45.         process = NULLTAG;
    & s" K. T7 t, B4 o9 @

  46. & {7 y0 L: C! K& t4 g
  47.     ERROR_CHECK( ITEM_find_rev("000206", "A", &rev) );
    8 ]+ ^; A8 f5 A; J2 c# H' g, S0 J
  48.     EXIT_IF_NULL( rev );
    3 c% U3 {- l( n  |) U$ r6 r

  49. ; X' _4 t! c( h& |+ x1 O2 z/ v7 q
  50.     ERROR_CHECK( EPM_find_process_template("oneStepWithStatus", &process_template) );
    ; d- g' u* I4 U$ r7 v7 P
  51.     EXIT_IF_NULL( process_template );( g6 z1 r% {. Q6 @) B9 |- L

  52. ) g' v$ v! u9 ]) y. t

  53. % b. Q" h- Q. }$ m9 V3 J& m
  54.     ERROR_CHECK( EPM_create_process("5421377", "desc", process_template, 1, &rev, 1 F6 G; ^# p$ U# J: n
  55.         attach_types, &process) );
    2 H" ?7 u; r, Y$ B% n
  56. % S% H9 z- P6 k$ j" I
  57.     EXIT_IF_NULL( process );; _; Z1 W+ h! a* g) H
  58. }) Z5 {9 J. b; }$ ], @
  59. $ ~4 f& M, M3 V5 A* g
  60. int ITK_user_main(int argc, char* argv[])- c% U( L* ]: w: |9 k
  61. {
    : f. v( B& i! f% |. E1 c  e
  62.     int& f. }% [$ ~4 B4 @
  63.         status = 0; % \4 I3 l; R1 J9 g' K0 u. p! t
  64.    
    1 V8 o: W* J) }/ ~
  65.     ITK_initialize_text_services( ITK_BATCH_TEXT_MODE );% s7 F4 P  Y3 E* a
  66.     status = ITK_auto_login();% Z: [, I) n; C: N6 \2 T
  67.    
    0 e) a+ r# m8 D. G- `
  68.     if (  (status != ITK_ok)) printf("\nLogin Failed!\n\n");
    * O+ K$ s# m6 j, o/ F
  69.     else
    * I2 l. l( ]: r- @" L# a" \' g) B
  70.     {
    : F) o  E  }  ^9 Z4 L! p. Q: ~
  71.         printf("\nLogin successful!\n\n");
    ; ?, @+ a& X0 k( K" {
  72.         ITK_set_journalling(TRUE);- q. L0 D- C+ a' g9 w2 N
  73.         do_it();
    1 {3 @  q# L$ B- ~+ k/ p: a. E
  74.     }
    4 ]0 T3 E: x  f' o  p2 o: C/ ?( H
  75.     ITK_exit_module(TRUE);2 R% E7 c$ J- j. Y
  76.     return status;
    ! V6 K) }% U! r4 U2 ?0 ^* {
  77. }
复制代码

- }  t* a/ B/ A* b' K( r! v9 y1 B. x6 \$ v
+ C' p& R3 @. }
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了