PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

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

[复制链接]

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

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

admin 楼主

2014-1-15 19:30:29

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

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

x
, P9 j( G3 e" `2 s' h
Teamcenter ITK二次开发源码分享: 创建一个工作流
8 Z; l/ I) ^) X* @; R
" e! L- j% b' Y8 ^1 Q# T& d3 W
  1. /*HEAD CREATE_A_PROCESS CCC ITK */
    & G; k8 {) {, g# @9 M
  2. #include <stdlib.h>( V, r  x# ~1 `. [: U. h
  3. #include <TCcore/aom.h>
    6 _5 I! b. x% [  J$ R$ p$ t- ~
  4. #include <tc/emh.h>
    ! E  G# q2 O; E4 p/ L# M9 r
  5. #include <epm/epm.h>8 ?9 R2 o4 D% T( T7 Q) @
  6. #include <tc/tc.h>  J% Y. l5 F# d2 }- E2 I& ]
  7. #include <sa/tcfile.h>1 y) O( z* E4 |+ D6 N" U* X9 u
  8. #include <itk/mem.h>+ [' M6 V9 O0 u- K, Y

  9. / T) E/ s' w: u
  10. #define EXIT_FAILURE 1
    ! e% r( k: M/ D" w
  11. #define ERROR_CHECK(X) (report_error( __FILE__, __LINE__, #X, (X)))  Q7 u4 X3 l: n
  12. static void report_error( char *file, int line, char *function, int return_code)+ O5 |* j4 c( `3 c' O; P
  13. {! s0 g! e9 e0 ?
  14.     if (return_code != ITK_ok)
    . f6 X/ }: T1 P, ~% u
  15.     {6 j3 E: k* x# B- {1 T0 R
  16.         char *error_message_string;# `% x/ W2 B. T& C) B) }9 _
  17.         EMH_get_error_string (NULLTAG, return_code, &error_message_string);
    - m# c- \% F- f$ q* [; K
  18.         printf ("ERROR: %d ERROR MSG: %s.\n", return_code, error_message_string);
    6 T- Q8 h( v7 n& s( H% t/ j
  19.         printf ("FUNCTION: %s\nFILE: %s LINE: %d\n", function, file, line);1 C4 Z7 \5 i4 ~0 [
  20.         if(error_message_string) MEM_free(error_message_string);
    - w/ f- z2 t3 |* D( x- e/ I
  21.         printf("\nExiting program!\n");
    - F$ j" V+ ]6 p, Y% R
  22.         exit (EXIT_FAILURE);    * J2 u# G" f1 M3 q1 v" Z
  23.     }
    3 O5 F8 }( H) B3 E& g
  24. }
    4 i% s, N- T6 ^; n* G
  25. / U3 P2 C) P! ]4 c% G& ~6 b
  26. #define EXIT_IF_NULL(X) (check_value(#X, (X)))3 k' X. O3 z5 v5 L7 Y  }
  27. static void check_value( char *function, int value )
    ( g! n: W  L+ A; T& E6 ?0 u
  28. {( y, h- C0 [  k4 ^
  29.     if (value == 0)
    * s6 E; L2 l% Q8 M$ }- N9 K! J
  30.     {4 l& L. m1 H+ e$ n$ c) v  [& W2 {3 E5 ^
  31.         printf ("\t%s is NULL\n", function);
    ; [8 Q6 u+ Y3 @1 O  U
  32.         printf("\nExiting program!\n");
    7 K8 E8 M4 D" ^2 c# i" i1 O
  33.         exit (EXIT_FAILURE);      b* B. p8 v& k
  34.     }
    # p  k# W, D; @  d6 J
  35. }7 T2 L3 G7 H, w% h" [; z

  36. 6 ^: Y$ j3 Q2 D* |6 A! W2 o& a
  37. 4 t6 w3 {/ O: o2 l3 m
  38. static void do_it(void)
    # ~- I5 d( D4 \
  39. {" D+ u  M1 Y3 H6 B( z
  40.     int
    % U& }, ?3 r( I9 m4 B
  41.         attach_types[1] = {1};/ A! f8 t+ H: C7 z
  42.     tag_t
    ! }& q: C8 n4 s$ f# @8 i
  43.         rev = NULLTAG,
    ( v: v0 `0 r2 o. a, @; U; @
  44.         process_template = NULLTAG, # w5 q# u; v# U) J% l
  45.         process = NULLTAG;
    0 B/ a5 u  _6 p$ }1 b

  46. ' H2 s5 m- S# r* H
  47.     ERROR_CHECK( ITEM_find_rev("000206", "A", &rev) );$ T: @! Y- x% x" J- U2 G" p
  48.     EXIT_IF_NULL( rev );# x5 a; R/ T9 a" v9 ]
  49. 8 m5 [; g+ K% e+ S3 Z( H6 R# P
  50.     ERROR_CHECK( EPM_find_process_template("oneStepWithStatus", &process_template) );
    / W; N6 O7 W, U0 T
  51.     EXIT_IF_NULL( process_template );
    7 A7 N; t! q4 @# ~* ?# i
  52. 3 g* E2 @9 R. ^9 D

  53. 2 g! X7 Z$ O0 C" m2 W$ n
  54.     ERROR_CHECK( EPM_create_process("5421377", "desc", process_template, 1, &rev, 9 o1 M6 y# s: z- u1 U7 ?3 B
  55.         attach_types, &process) );
    7 w  X: b7 @+ _
  56. * @9 X) k4 E" w* J3 _( r% [8 U
  57.     EXIT_IF_NULL( process );8 h+ k9 F- W: T- r, K5 c
  58. }
    ; c* G) s% ?( i5 c* ^; N7 L$ m
  59. . l' g+ Y, q- b
  60. int ITK_user_main(int argc, char* argv[])9 ]! b( u; [* N
  61. {
    1 n* m" J4 c/ l3 t8 {
  62.     int
    + M& @  v: O" |& g- j
  63.         status = 0; 8 X, a& V7 f) r% ~- w
  64.    
    . f$ k6 J  W/ k1 P$ N  K
  65.     ITK_initialize_text_services( ITK_BATCH_TEXT_MODE );
    8 [3 n$ b$ N: n3 n3 k* p$ k
  66.     status = ITK_auto_login();
      h0 M' i) H6 j% A7 K* P
  67.    + v$ [* m; o% P0 [2 ^6 o( O; L
  68.     if (  (status != ITK_ok)) printf("\nLogin Failed!\n\n");
    , A2 r! z* N* J6 i, q
  69.     else
    ' [( }# ~, h% p' |6 M
  70.     {2 I5 y2 G; {0 L
  71.         printf("\nLogin successful!\n\n");/ m" L" A. M0 m
  72.         ITK_set_journalling(TRUE);$ Y) K" f! n" s# b/ s3 A! k
  73.         do_it();
    , h, Z0 T! y  S4 a* g
  74.     }
    " Q  q9 ^) T1 ~9 }4 ^& U7 i
  75.     ITK_exit_module(TRUE);$ ~. O; z9 q+ m$ R" v
  76.     return status;& k4 D3 D* M" P" N8 Y) O4 Q
  77. }
复制代码
8 S6 n8 I* K9 q8 g, T
" V& o: V9 u6 a! Y
' r( \6 H( t; |3 Z8 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二次开发专题模块培训报名开始啦

    我知道了