|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
8 b! }6 o; j* X; TTeamcenter ITK二次开发源码分享: 创建一个工作流. L! x0 V- n; X7 z, T
8 ]; n8 l0 e; |: D0 y, r8 m9 z- /*HEAD CREATE_A_PROCESS CCC ITK */
j+ }2 A1 N# H, S - #include <stdlib.h>
$ Y# j0 {* n" B/ o0 w; a - #include <TCcore/aom.h>
8 |+ D$ A) p1 b& m* @ - #include <tc/emh.h>
* ^: q. M' L: Y- L4 ~ - #include <epm/epm.h>
0 [6 G0 i% f9 l8 U( w: O9 u8 _' m - #include <tc/tc.h>
6 k* T. f0 Z( U' n7 Q5 z; u, O - #include <sa/tcfile.h>* i: V) V) M' ^+ o1 n& L
- #include <itk/mem.h>
' i- l' B4 K" |% J5 Y
: x5 l0 G3 s; Z# t6 o- #define EXIT_FAILURE 1
- ]( i/ i) l: S# T - #define ERROR_CHECK(X) (report_error( __FILE__, __LINE__, #X, (X)))
/ _5 W/ a/ V$ _- q {" I1 L N. w - static void report_error( char *file, int line, char *function, int return_code)1 _) P2 }: g4 G
- {7 @8 F4 ~: C5 _/ G/ {, U( R
- if (return_code != ITK_ok)
5 U! b6 D. h4 t5 f - {6 E3 m( y6 p/ H, ?
- char *error_message_string;
% p" T/ w9 M4 I) ?, q - EMH_get_error_string (NULLTAG, return_code, &error_message_string);2 z3 k/ k/ D& |- r' `
- printf ("ERROR: %d ERROR MSG: %s.\n", return_code, error_message_string);
* z" H' T% j, ^; J' S( o - printf ("FUNCTION: %s\nFILE: %s LINE: %d\n", function, file, line);6 C7 P1 m( h( t) p' S& k3 J# |0 n
- if(error_message_string) MEM_free(error_message_string);
/ k* E" n& Z$ {- n1 u4 o; K W - printf("\nExiting program!\n");
+ T% V( a6 |. ` A& @. b - exit (EXIT_FAILURE); 5 w& b9 s; @% Q) B" k |9 T+ t
- }
$ m* o6 [+ X, l! U1 m - }
- e# s! F5 X: ?$ u' H. f0 L% _ - 4 G; h( n5 b W' z4 H ]
- #define EXIT_IF_NULL(X) (check_value(#X, (X)))
# g! M: B' f3 O1 r% {! ~ - static void check_value( char *function, int value )( g; l; h. ^* m' U
- {
: w5 _* t) k2 R* ?1 } - if (value == 0)! x5 n4 U9 t; @5 ^5 `
- {
) T! S- Z- s6 K: o4 Z - printf ("\t%s is NULL\n", function);: u5 `( x3 U- I
- printf("\nExiting program!\n");4 F" u. z& @9 Q5 k0 {
- exit (EXIT_FAILURE); $ d/ a, ?+ l3 K r$ c9 s. e" \
- }
( e9 L7 |# N( S - }
! K& L7 {: r! S - / J+ F+ P# B* ]- M7 ?
- , {: C, p! y9 H2 B! Y+ F! ]
- static void do_it(void)% H$ h# b6 Z4 `0 ]
- {- l: a; x4 [6 _, I* n& K2 O3 n
- int
/ H0 Y5 v2 |: b$ ~6 i A- i9 C5 | - attach_types[1] = {1};- m# V/ G: _# l$ ^
- tag_t 1 l0 y2 `3 X. z: G( Q
- rev = NULLTAG, . t0 Y3 y C0 B: R
- process_template = NULLTAG, 6 I, U! `3 t5 {* P
- process = NULLTAG;8 r% f3 Q( I7 p5 i) H, W0 x
5 F* a6 w. {+ g, }5 h. x( W- ERROR_CHECK( ITEM_find_rev("000206", "A", &rev) );8 n% m8 Z9 v( _
- EXIT_IF_NULL( rev );
/ e3 J/ o$ g+ W! |: _ - ) g! M+ ?6 ~% v, _% a" d& \
- ERROR_CHECK( EPM_find_process_template("oneStepWithStatus", &process_template) );
" D2 R; N9 N' F7 [ - EXIT_IF_NULL( process_template );0 a( \0 A/ N, x- z% L
- ) a" i! B. S. n, X! _- t3 j
- " m5 H- V6 `1 c( ^# Q
- ERROR_CHECK( EPM_create_process("5421377", "desc", process_template, 1, &rev,
9 w3 ]( E) I. [ T1 @ M; C! H - attach_types, &process) );) D4 ]1 q2 d0 Q3 M% } u( p
9 C' M% Y# a# I2 D5 |- EXIT_IF_NULL( process );
) f- F7 x/ Z8 j8 Y% N' V - }( N9 ^ B8 q) m. U2 @0 P
- 3 Z' ^7 d( g4 J4 c& k- ~0 B" U% E
- int ITK_user_main(int argc, char* argv[])) X* `4 P: ]4 x
- {
+ ^/ s' j9 ?2 d. Z! b - int* T* T: w( i9 u3 _ T
- status = 0;
8 F5 ~0 |! ]4 B/ f, P. e -
; L; w% B. n, ~8 [! q - ITK_initialize_text_services( ITK_BATCH_TEXT_MODE );% s' f- k+ I6 w/ Y+ g8 s
- status = ITK_auto_login();7 B) v& p% h( l, D6 N3 I& i7 h6 [, c
- 9 z$ P5 {' R8 E% g
- if ( (status != ITK_ok)) printf("\nLogin Failed!\n\n");
. g& g, _& H. S - else
& K! p5 ^; o9 V. Y - {
: y& a) l$ n. x8 K7 b$ M) @1 } - printf("\nLogin successful!\n\n");
4 A# ]* E. C, @; ^3 v2 l3 V - ITK_set_journalling(TRUE);$ E b9 ]* W; f
- do_it();
5 T2 l: o% q; E+ s. x. k - }6 w# J x' L) w( w* v# a
- ITK_exit_module(TRUE);: j6 M8 `% A+ y; n
- return status;; v* ^" y2 H0 X! z9 d8 G4 r! P
- }
复制代码
6 @% H, ]8 G+ w4 k( V' c" B( W' u" N* T C0 g8 `) c
+ M. f1 `5 b5 y: P" {6 Q
|
|