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

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

admin 楼主

2014-1-15 19:30:29

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

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

x
: D- d0 E+ V0 A/ a
Teamcenter ITK二次开发源码分享: 创建一个工作流# u2 J5 T$ c* X( C9 w/ g
4 p$ H& H+ s6 N* Q. s
  1. /*HEAD CREATE_A_PROCESS CCC ITK */5 a1 H4 }% A+ z; V( I4 L* n
  2. #include <stdlib.h>
    5 Z' {2 B* z6 K& H9 ?5 Y4 r
  3. #include <TCcore/aom.h>
    6 {# z, {7 ^  s3 ^% o+ x
  4. #include <tc/emh.h>
    $ g4 F- ?0 b' d8 u' N4 ?' l
  5. #include <epm/epm.h>
    , F5 S! ?- x: w' @/ B
  6. #include <tc/tc.h>$ @6 r% k' k) s9 [4 c4 X
  7. #include <sa/tcfile.h>+ `& N" b% ^7 l5 t( i1 d8 P8 U
  8. #include <itk/mem.h>
    ) p" n5 W8 F# _3 n' ~
  9. 1 v% w$ c$ W2 p# Q! a1 |
  10. #define EXIT_FAILURE 1
    / r4 d: ?- k- k  h2 I
  11. #define ERROR_CHECK(X) (report_error( __FILE__, __LINE__, #X, (X)))
    0 E5 s% d2 S; E( q  m
  12. static void report_error( char *file, int line, char *function, int return_code)
    1 h/ o  ?/ S3 a
  13. {8 u# b1 M3 ^% j4 ?: Z2 \+ h8 ~% u
  14.     if (return_code != ITK_ok)2 ?/ V! l" ]. ?' W5 v$ X# w
  15.     {
    ; J+ E. E) Y/ W
  16.         char *error_message_string;
    - t  [0 A" L. P! W
  17.         EMH_get_error_string (NULLTAG, return_code, &error_message_string);, ]' F2 b" h" K  @
  18.         printf ("ERROR: %d ERROR MSG: %s.\n", return_code, error_message_string);
    2 i' X( c" q  E0 e0 `* Y
  19.         printf ("FUNCTION: %s\nFILE: %s LINE: %d\n", function, file, line);1 H- P# d; h5 [0 Z
  20.         if(error_message_string) MEM_free(error_message_string);
    , T7 B8 h5 A% b4 [
  21.         printf("\nExiting program!\n");
    . |) P4 c5 @+ E
  22.         exit (EXIT_FAILURE);    ( E1 O/ B6 x+ B; T$ o
  23.     }" c% P% Y' u5 f4 g; ~/ U4 I
  24. }
    * p9 q) M  W+ w9 d' c

  25. " o  c0 a. X  t1 G$ D- i
  26. #define EXIT_IF_NULL(X) (check_value(#X, (X)))) k3 ]3 n" E8 A. ?1 D
  27. static void check_value( char *function, int value )
    1 h! x9 d9 J/ v4 j; _# {/ q1 B
  28. {/ L" r3 D1 T( ^3 }% ?4 D5 T7 d; n
  29.     if (value == 0)
    ! T) v/ X* I% q1 f+ d4 z
  30.     {5 A/ b7 r# T) @# C4 d- L8 G' W
  31.         printf ("\t%s is NULL\n", function);
    8 W' ?2 }' t8 \. \
  32.         printf("\nExiting program!\n");8 s) m& D! u: ?1 ^+ k0 S, e( _
  33.         exit (EXIT_FAILURE);   
    - I0 L# P, ?$ n2 w8 L' t* B$ i
  34.     }
    , X1 _" x( A2 e1 j7 w- b$ s
  35. }8 v, l  ]. y$ m* F1 s
  36. 1 q/ ~* l' U/ i+ C

  37.   b2 O4 W- O" X% D- h
  38. static void do_it(void)
    3 a4 L- O* ?- [0 ~  u6 w
  39. {
    * G7 M  j. C) i
  40.     int
    % V* U8 b! X8 s
  41.         attach_types[1] = {1};
    " [8 _( v% g+ l- o" T# F+ R* o
  42.     tag_t
    + ]1 s$ }& y  X, M0 m' y  ?
  43.         rev = NULLTAG,
    0 C/ B! v% y0 M! G  ~; L
  44.         process_template = NULLTAG, 0 u# F, E" ~* E& P
  45.         process = NULLTAG;; k% h  P% G% o9 z3 j" G
  46. : J- ?  h! U7 D. v
  47.     ERROR_CHECK( ITEM_find_rev("000206", "A", &rev) );& z! H0 N3 n$ ]# H9 ?: q* g
  48.     EXIT_IF_NULL( rev );) k6 r4 D# Z& k. K
  49. 2 l3 T6 H. j8 @8 p5 c/ D
  50.     ERROR_CHECK( EPM_find_process_template("oneStepWithStatus", &process_template) ); # a% t3 k" h. J# h, Y4 X
  51.     EXIT_IF_NULL( process_template );
    0 E# C: [' u8 @- R& u

  52. 7 b3 }6 A+ L( H7 z( r

  53.   Z5 I- z! V! t8 @( r# o8 }
  54.     ERROR_CHECK( EPM_create_process("5421377", "desc", process_template, 1, &rev,
    % e5 \/ `1 a, Z2 K7 N, e- p, o
  55.         attach_types, &process) );3 Y6 C( v/ w9 o- Z) M  {% r
  56. : @0 ]/ o. q& W6 S& z$ m3 m  g7 t
  57.     EXIT_IF_NULL( process );0 u. x1 S& e/ E
  58. }
    + X6 k1 \) _9 H

  59. 0 W# f8 T: e: w+ e% r& k: q
  60. int ITK_user_main(int argc, char* argv[])
    6 ~; G5 r  v% ?3 o3 @, c' {
  61. {
    # g7 S" s2 j# T& Q( M
  62.     int3 B9 r( X8 {5 O% j6 H- v% V4 ^
  63.         status = 0; 4 p/ Z  l$ h! K
  64.    $ M9 S  r  D$ ^6 Y( L1 r8 p/ x  W
  65.     ITK_initialize_text_services( ITK_BATCH_TEXT_MODE );
    - N$ ^. O( z( x( m" E9 v
  66.     status = ITK_auto_login();
    & ^9 j$ Q. Q( I  Q+ @2 c, J4 _3 L! k
  67.    
    / t: I& K0 y9 Z9 ]7 Z7 Y
  68.     if (  (status != ITK_ok)) printf("\nLogin Failed!\n\n");0 e) r" P$ B0 }/ m& \
  69.     else
    4 ^4 S/ u5 }; ]0 E7 I! x" y* `
  70.     {8 t& [  y3 o* {; ]1 X$ D' A1 C
  71.         printf("\nLogin successful!\n\n");6 x2 A" M8 o4 I3 j0 X
  72.         ITK_set_journalling(TRUE);
    " y1 E; r. C" |6 F# X: M- f+ ?  i
  73.         do_it();# o7 }) K+ q4 D2 L8 k
  74.     }, b3 ]+ N: A9 _+ M* c4 |
  75.     ITK_exit_module(TRUE);
    & F, W) X7 C/ ?6 z7 g
  76.     return status;
    " G/ ]8 a# O. n" `
  77. }
复制代码
' G4 D- Q3 [1 O

1 K% ?( M5 {  D! e& G! a9 P# z
6 m8 \# j5 H0 {9 W
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了