|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- k( H8 k% ^' B0 MTeamcenter ITK二次开发源码分享: 创建一个工作流9 [" i% T! T3 P& v/ j" x, @7 k3 R$ w
) H1 h! S6 V8 E, k8 R; w( \% f- /*HEAD CREATE_A_PROCESS CCC ITK */
' C+ o' m* H. E - #include <stdlib.h>2 Y1 m2 H9 r+ V! O5 H, J9 `
- #include <TCcore/aom.h>
5 ?& ]* W! L3 Y9 P- g, o - #include <tc/emh.h>
+ T/ O y; R0 Y; V7 P! U, r - #include <epm/epm.h>4 o, F' y$ A2 @7 E9 N( N# {
- #include <tc/tc.h>+ U1 h1 o0 N W# U" q. U( T
- #include <sa/tcfile.h>
5 p p% _7 R6 F/ J; H - #include <itk/mem.h>! P$ r. i- b) x# j' F
- 6 [% W" H ]& v) b( R/ L
- #define EXIT_FAILURE 1 2 g! L1 ~3 ~8 m$ V Y: f
- #define ERROR_CHECK(X) (report_error( __FILE__, __LINE__, #X, (X)))
2 C( W9 g0 m e7 U( [# t/ O# W - static void report_error( char *file, int line, char *function, int return_code)
+ P" O& N, j( ~$ ?( a - { d* V! r& `' \
- if (return_code != ITK_ok)
6 Q9 b" r" `8 i; V - {
: |5 P5 _% `+ `2 t" q% z+ I" p/ ~ - char *error_message_string;
: \2 r* j3 `9 @ l - EMH_get_error_string (NULLTAG, return_code, &error_message_string);% ^; G3 q' w% G; E) x: z
- printf ("ERROR: %d ERROR MSG: %s.\n", return_code, error_message_string);
8 S5 q9 _# T; { - printf ("FUNCTION: %s\nFILE: %s LINE: %d\n", function, file, line);3 A5 ^1 q3 R' N0 F4 n
- if(error_message_string) MEM_free(error_message_string);+ E2 z& {' L9 P" |1 d# H2 {" T9 K& @
- printf("\nExiting program!\n");
+ P& @, r0 g% W* b( {/ x) R - exit (EXIT_FAILURE); $ N0 {4 H2 k5 i$ w
- }5 f% [( y( v- f4 d; g/ o8 u
- }
" v3 Q" B' p8 }: m) g
$ Z8 k7 N& [: @. }7 m7 f- #define EXIT_IF_NULL(X) (check_value(#X, (X)))/ q2 Y7 w5 U+ |3 M. M
- static void check_value( char *function, int value ); O$ {2 N& ^9 ]5 c, \4 ^
- {& B/ h: P8 d- o9 F1 z! C
- if (value == 0)+ _+ w1 M+ G& M9 P' A
- {/ |( Q5 K/ S g- v, [; R
- printf ("\t%s is NULL\n", function);
4 R* l2 g" e4 `9 ^8 d - printf("\nExiting program!\n");
- o1 A c+ Z. G, s3 ^1 q - exit (EXIT_FAILURE);
" H$ O2 K2 i3 \* n0 ^/ L - }
; j7 x0 w/ N: ]2 {# S2 d+ { - }) W- H/ ~# {8 \
- 4 y" b0 K7 L& j* j d- [
0 L0 D, r8 p5 K3 r! \- static void do_it(void)/ H8 j& }6 G1 `
- {
% ?5 p) E6 ?+ C" M6 m5 d - int , v' ]% \* G- T0 t
- attach_types[1] = {1};" C1 d0 W4 S) }: g% q
- tag_t 4 ^$ Y* U* G* a( ]
- rev = NULLTAG, ) I. D1 a h9 @) p
- process_template = NULLTAG, 8 ~# J( u4 l7 o3 c2 L
- process = NULLTAG;% |1 M' z6 x) U
9 h- Q, k% K, c& ]+ j: p- ERROR_CHECK( ITEM_find_rev("000206", "A", &rev) );* }9 S1 @% s2 g% P4 U" z8 g# Q
- EXIT_IF_NULL( rev );, ? ?4 G* z5 j& a; X" y
% v$ m3 c+ u+ s0 D9 [! V* f2 ]- ERROR_CHECK( EPM_find_process_template("oneStepWithStatus", &process_template) );
, h; @6 |& ^& ?) \( k - EXIT_IF_NULL( process_template );
: ^) a+ [; N* `3 K6 M3 i - 5 ~ ~- |% ~$ C
- , L( S; F/ q8 v5 H0 v9 u! C. K' H
- ERROR_CHECK( EPM_create_process("5421377", "desc", process_template, 1, &rev, ; f/ b* w+ P9 I$ l
- attach_types, &process) );) O9 M# n& M# f
- 1 ?( ?7 k1 J. A( [! O
- EXIT_IF_NULL( process );
+ g$ \* s1 t0 c P+ J - }
4 {/ P1 V) l, y3 s4 g, M - ( n% h5 _0 i, j# ]: {3 p
- int ITK_user_main(int argc, char* argv[])
O1 p/ R: f+ r0 ~1 s% E" H3 A - {
& Y6 M8 t* N# Q T1 [! { - int8 S H6 q" b0 e/ t- E9 {
- status = 0; & k: I* n: v. ^
- , P. Z/ u4 l1 A$ K
- ITK_initialize_text_services( ITK_BATCH_TEXT_MODE );% L) f' G+ K/ ]% G: J8 o9 F
- status = ITK_auto_login();
- U7 S w( ?; {7 Y; i. o -
" u" `' @+ P4 L$ n& T0 I, R( b - if ( (status != ITK_ok)) printf("\nLogin Failed!\n\n");' W+ S* n" U8 v+ }9 B8 m3 X/ a. W
- else% n" R" K2 \% i6 i: p
- {' A% ^/ q* f7 r5 v
- printf("\nLogin successful!\n\n");. e& A: F# y, ` W0 H. [6 Q8 d5 n
- ITK_set_journalling(TRUE);
" I9 Z/ L" w' j% y7 W; { - do_it();
; q3 J9 c4 \. G2 w# l# T" R$ ^" ` - }& V/ ?! Q1 r- t- h
- ITK_exit_module(TRUE);% F2 T2 H6 ]" C/ g/ K: |
- return status;; Z* r- C! O! { T
- }
复制代码
: Y4 L+ ?1 k3 |' v% [2 M8 k/ [+ x5 w3 D9 T/ L7 r5 `
1 r% Q f+ z6 _$ a |
|