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

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

admin 楼主

2014-1-15 19:30:29

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

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

x

' d5 R, T* o. X4 w6 h: U2 ?1 bTeamcenter ITK二次开发源码分享: 创建一个工作流2 S, n8 g' A5 C$ c! E8 Y& L6 h

3 y6 o- u& E$ C5 n
  1. /*HEAD CREATE_A_PROCESS CCC ITK */) l$ W8 K5 F; i7 [1 T4 l% }
  2. #include <stdlib.h>
    ; h' h. I: l) ^! G
  3. #include <TCcore/aom.h>
    ' }' \' k. s1 L
  4. #include <tc/emh.h>
    0 J5 n; b3 E" ]2 m
  5. #include <epm/epm.h>, R+ {" @7 J! M  w; l+ U
  6. #include <tc/tc.h>5 k* _- |$ i4 Y1 |/ o0 |' g5 Z
  7. #include <sa/tcfile.h>
    ; R2 t, r1 {; j& Y4 ~4 g1 [, b
  8. #include <itk/mem.h>
    % i0 u. C  J; T
  9. ) U1 G, T* `# K- ]8 H
  10. #define EXIT_FAILURE 1
    - s* r" v! k, c* `5 E2 d+ q6 S
  11. #define ERROR_CHECK(X) (report_error( __FILE__, __LINE__, #X, (X)))
    - [' l5 s  q1 r5 o6 C7 q  a
  12. static void report_error( char *file, int line, char *function, int return_code)0 {, N( r" ^1 b) e5 I
  13. {
    3 J0 R7 l9 n4 Q
  14.     if (return_code != ITK_ok)
    1 u0 h6 r3 ]+ N, r- m8 _
  15.     {
    $ M+ I) x5 E; \5 t
  16.         char *error_message_string;
    ! }% a+ G1 h/ [7 Q  H
  17.         EMH_get_error_string (NULLTAG, return_code, &error_message_string);
    * {5 S$ |% S5 v$ ^# W+ x) o. E: h
  18.         printf ("ERROR: %d ERROR MSG: %s.\n", return_code, error_message_string);4 R& E0 x# Z% j5 q$ F0 z' K# E8 c
  19.         printf ("FUNCTION: %s\nFILE: %s LINE: %d\n", function, file, line);" a* A2 O3 o7 @
  20.         if(error_message_string) MEM_free(error_message_string);
    , c# T5 h, n! ?1 _
  21.         printf("\nExiting program!\n");
    5 a( D, h# B" q
  22.         exit (EXIT_FAILURE);   
    , ]5 t* o; K- K0 r
  23.     }
    * _2 n# W5 k% i5 O  i
  24. }% u' x6 r) Q, @- r$ }1 X

  25. 9 o4 ?! Y! t- ?9 F
  26. #define EXIT_IF_NULL(X) (check_value(#X, (X))): D! w4 [  D& R$ W/ L
  27. static void check_value( char *function, int value )
    7 X+ l: }) o+ R7 g7 w
  28. {
    ) a5 j3 I7 N$ l, U; Y2 D: o
  29.     if (value == 0)
    * J( H6 m: x& }2 X7 y
  30.     {
    / p, o& d$ `2 z! G9 y$ F
  31.         printf ("\t%s is NULL\n", function);
    9 n" }8 Y% f1 R: k
  32.         printf("\nExiting program!\n");
    8 G+ E" ?4 o' C) @: T& n
  33.         exit (EXIT_FAILURE);    . c2 U; j* J: j, V+ U# v
  34.     }
    : W1 K2 O% r9 n! X& ?5 c  K
  35. }
    - a: }% X( L2 m$ J, V
  36. ( Q7 k9 N' s* J) y9 P2 `- x: d5 A

  37. ) p3 m' E1 O. w
  38. static void do_it(void)
    ! p7 W) _- s4 w
  39. {. C  }7 X$ P9 l2 [- y" u6 l
  40.     int 8 p; }4 K$ U+ \$ l8 Q( J* C! I
  41.         attach_types[1] = {1};3 A1 F; q% i" _; L1 y9 ?
  42.     tag_t + D$ l9 `8 }+ Q" a7 }/ N* n5 l
  43.         rev = NULLTAG, ) e( o2 X1 t" C4 D4 y
  44.         process_template = NULLTAG,
    # s9 @4 |) o! R8 G# t: }& U! B  {
  45.         process = NULLTAG;
    ' Y% M) A0 A  f% ]
  46. - k0 }0 }: E4 d" b1 Q! ^& h/ ~' g
  47.     ERROR_CHECK( ITEM_find_rev("000206", "A", &rev) );
    5 v5 ~, \% q; |: w1 b- f
  48.     EXIT_IF_NULL( rev );
    / s, y$ `" y9 Z

  49. $ f1 X% H2 j' V7 ^/ \" ]5 z- S, v" E
  50.     ERROR_CHECK( EPM_find_process_template("oneStepWithStatus", &process_template) ); 3 x& m- X5 p6 p- s
  51.     EXIT_IF_NULL( process_template );
    & a& I  A7 u8 R$ `( L
  52. - }3 ]9 w! E0 f, p4 V7 u; q

  53. 3 \3 J& t$ v$ f& r3 d; f( Q5 F" b7 L
  54.     ERROR_CHECK( EPM_create_process("5421377", "desc", process_template, 1, &rev, & O) _0 D1 t0 E# L& P, w7 Q) k
  55.         attach_types, &process) );
    2 t1 V; |& {/ V% X& {, F
  56. $ q8 F6 j; L& x& N" Q% Y0 i4 f% O
  57.     EXIT_IF_NULL( process );$ G: ]+ i7 \6 m& I' g: \' x" b
  58. }
    4 W: w3 u! l+ j+ o' u
  59. - X1 U7 A  s  P# S
  60. int ITK_user_main(int argc, char* argv[])
    4 e; G7 l: G& N6 C4 C4 V
  61. {
    ' _5 t2 W5 h# e$ Q8 [9 z* _
  62.     int0 v: I7 M) U5 W2 |% q( R
  63.         status = 0; 2 s8 F) b  H2 X2 h) P
  64.    
    0 N9 F& h3 c! A6 n
  65.     ITK_initialize_text_services( ITK_BATCH_TEXT_MODE );
    5 q0 H: ^) O! A% J' J6 ^9 @
  66.     status = ITK_auto_login();
    6 d& A; F2 q; y" f- ]4 ]5 B
  67.    
    ) X  U; F1 j. v7 _* L4 N- F
  68.     if (  (status != ITK_ok)) printf("\nLogin Failed!\n\n");
    " ~7 x# R3 Z* k9 `
  69.     else
    . H7 i# b$ a' E  e6 \
  70.     {
    + `8 E. D! h( R2 @1 X& s
  71.         printf("\nLogin successful!\n\n");: D  H% M, C! j0 ~9 E1 M
  72.         ITK_set_journalling(TRUE);: d2 i4 N: f/ v, [9 _4 h4 u1 C2 L
  73.         do_it();
    7 r& I+ p+ O/ r6 x( N. P
  74.     }% Q9 O' T- K" T9 o/ r1 x
  75.     ITK_exit_module(TRUE);# _7 Z2 v) F* f! S
  76.     return status;0 |) j) a( t% y8 u
  77. }
复制代码
/ H6 U- j4 O  P  Z7 z+ B2 k+ I6 b

8 f' i# A, X' C) D( O( s( l- [0 {3 R5 u
) g! e# |, w6 ^% o/ F- E. P. b, g
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了