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

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

admin 楼主

2014-1-15 19:30:29

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

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

x

8 X- e" c7 v3 ~' ]+ BTeamcenter ITK二次开发源码分享: 创建一个工作流
9 N/ o. K! F& Y: e
0 P; p% {! F+ `( [  w+ \
  1. /*HEAD CREATE_A_PROCESS CCC ITK */- }$ @. E! ]2 f9 k& z& W
  2. #include <stdlib.h>
    ) ]9 R$ o6 _5 x5 f
  3. #include <TCcore/aom.h>
    # F9 C" ?9 P  N8 f. f+ j$ Z
  4. #include <tc/emh.h>
    7 Q+ H1 W' K0 l" D4 Z4 Q. ]
  5. #include <epm/epm.h>
    " N# Q# X2 a. z1 f- T4 k
  6. #include <tc/tc.h>
    3 h$ T1 {4 n1 d2 d
  7. #include <sa/tcfile.h>. P/ P$ Y' w/ C
  8. #include <itk/mem.h>
    7 o  @) P6 v9 H: ~7 w5 i" r/ M

  9. ( G4 I- P5 `9 _' O
  10. #define EXIT_FAILURE 1
    $ a1 L9 U. {* ^
  11. #define ERROR_CHECK(X) (report_error( __FILE__, __LINE__, #X, (X))). }) A+ U' a7 [/ y" B& g7 m
  12. static void report_error( char *file, int line, char *function, int return_code)
    6 |  b# g2 a4 \  _0 E
  13. {7 q7 N% e5 R8 o* I% U7 e2 X
  14.     if (return_code != ITK_ok)
    2 w6 X. f, b! g' i! y
  15.     {; z2 H9 o1 A) e' y7 @; F  M! V; a
  16.         char *error_message_string;' Q& Y) P) K6 ^" G4 z
  17.         EMH_get_error_string (NULLTAG, return_code, &error_message_string);. F4 c) j: M+ g( c$ q6 i" u. d! T
  18.         printf ("ERROR: %d ERROR MSG: %s.\n", return_code, error_message_string);
    6 o2 b8 G) d* t2 Q+ h) @4 z% J
  19.         printf ("FUNCTION: %s\nFILE: %s LINE: %d\n", function, file, line);2 b/ ]2 U' w. g! _
  20.         if(error_message_string) MEM_free(error_message_string);  c  c: L* e$ s5 ^
  21.         printf("\nExiting program!\n");3 Z6 _& L0 ^8 v9 h; |
  22.         exit (EXIT_FAILURE);    - n, a1 ?5 b8 \% w& ~6 a! @" {
  23.     }8 B* k' ~5 E. B4 O
  24. }! p, _( R. v/ r  c" G

  25. 4 u( w$ _$ `, A  X$ U1 V: Q0 t! ~* Z
  26. #define EXIT_IF_NULL(X) (check_value(#X, (X))): z! l! `( X3 C+ R* Q
  27. static void check_value( char *function, int value )
    / P" Q2 ?5 f7 _* N4 l
  28. {
    & T: n( T" I  f& p) Y' a
  29.     if (value == 0)2 E4 |/ ]. F$ W5 t$ s* {$ L& {
  30.     {2 h, U" n  y4 t5 G
  31.         printf ("\t%s is NULL\n", function);& i2 q. [4 U  ^8 v  l2 w" j- O
  32.         printf("\nExiting program!\n");9 g: U# P9 z/ K1 E0 ~0 b
  33.         exit (EXIT_FAILURE);   
    , d" |4 w. u3 U) f
  34.     }4 D+ {. y6 O4 M" I! T$ i
  35. }2 n+ g5 {' R' j) C: X

  36. 7 L6 Y8 E- {" \* i3 B" |
  37. 7 [* f4 O2 Z, w: u  s/ ?. Y
  38. static void do_it(void)' g7 u0 k. t+ L  o
  39. {( h0 B7 l1 s0 _5 e& N
  40.     int
    * T" L8 G( T/ t- I/ B  t1 [
  41.         attach_types[1] = {1};/ i* A) d- H* I% s4 H: I) S/ W7 y
  42.     tag_t $ U2 V8 A% a* t
  43.         rev = NULLTAG,
    9 P- _5 r" h  N
  44.         process_template = NULLTAG,
    8 S) B5 ]3 W3 w+ [/ y! A
  45.         process = NULLTAG;! F8 L2 B% v/ o2 N. w+ U- g  i

  46. ) |4 T! A& J" [  B! \' U
  47.     ERROR_CHECK( ITEM_find_rev("000206", "A", &rev) );* y% G3 j* n0 l0 U, @
  48.     EXIT_IF_NULL( rev );
    6 B( H' M) c3 j  u9 d! t

  49. 3 S: G) E" Y7 ^9 M
  50.     ERROR_CHECK( EPM_find_process_template("oneStepWithStatus", &process_template) ); ! s* W, q( k* q9 R6 P" b/ e
  51.     EXIT_IF_NULL( process_template );
    5 Z4 _( B/ B. E# I- A8 h

  52. $ @& R9 y; ^5 y" j

  53. $ _3 }5 Q9 [* ^# H
  54.     ERROR_CHECK( EPM_create_process("5421377", "desc", process_template, 1, &rev, ( F5 |9 Z# V' R. ?
  55.         attach_types, &process) );# n6 T0 r9 p8 W4 M! X6 p  a7 `

  56. $ Y5 q8 V8 l' S8 Z6 k
  57.     EXIT_IF_NULL( process );
    $ h! m! o- P1 ~
  58. }% y" L+ p. m' s0 p0 J" \' }$ o9 ~
  59. ! i7 Z' g4 o; W$ n: \& i
  60. int ITK_user_main(int argc, char* argv[])5 Y1 M6 Z. A5 O7 H
  61. {% I- j9 O& I9 P: v
  62.     int
    & j  h6 B( p0 g% U
  63.         status = 0;
    4 i; |( F: ^" f/ S
  64.    
    , I2 x  _9 ^4 o/ U3 q  S
  65.     ITK_initialize_text_services( ITK_BATCH_TEXT_MODE );
    2 x$ R% E; O- x  O- e  i
  66.     status = ITK_auto_login();; Y+ ]: P% Z0 |- {; J6 c5 g
  67.    ' {) B7 q5 i' J: W" |
  68.     if (  (status != ITK_ok)) printf("\nLogin Failed!\n\n");
    5 B" z7 v1 p  n0 g% F7 ~0 a8 W' N/ C
  69.     else% U# S( q, P$ l+ ?/ w
  70.     {/ F& W5 |7 K/ {) t
  71.         printf("\nLogin successful!\n\n");- C: `8 q, y3 m+ l
  72.         ITK_set_journalling(TRUE);" u+ _1 ~- q# a* w
  73.         do_it();/ r; F9 @6 d8 w: A7 ^! z
  74.     }
    1 x& y8 q  W+ ^
  75.     ITK_exit_module(TRUE);
    / z% j  z# y" d8 ^
  76.     return status;" B6 N7 X0 x. l7 b3 Y. ]  ?% v
  77. }
复制代码

# A- M, S3 I1 P' W8 E
% d1 v$ ?* j: D2 T" a
$ n1 k+ w6 ~' P
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了