|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
) c+ U& C W) [2 z
Teamcenter ITK二次开发源码分享: 创建一个工作流& ]; D! }9 }% j0 ?
& B7 ~1 ?: Y$ i
- /*HEAD CREATE_A_PROCESS CCC ITK */! ^0 d8 A- |9 @ a( H
- #include <stdlib.h>
( g$ }% b) E$ K9 ?7 o& y" H2 I$ s - #include <TCcore/aom.h>& h {7 g/ F) C
- #include <tc/emh.h>
) B4 D5 { v8 g* i2 P2 V7 P - #include <epm/epm.h>, E% A" x4 }' Z* M; i# c% z
- #include <tc/tc.h>1 R9 E) H) i; X. o' ?# C& V
- #include <sa/tcfile.h>! P/ I' H4 ?1 r# U& C+ J
- #include <itk/mem.h>* {& ^0 L- ^0 G
/ T& w4 H% O0 R6 j- T- #define EXIT_FAILURE 1 ' L# b( d% U2 i$ b7 H2 d$ Y# f* @
- #define ERROR_CHECK(X) (report_error( __FILE__, __LINE__, #X, (X)))0 s$ H" l: S/ K+ g1 M" z0 U
- static void report_error( char *file, int line, char *function, int return_code)0 }/ W- v, Y, h/ l
- { h. ^3 {! t0 V. `9 j3 U$ s0 i
- if (return_code != ITK_ok)
+ J5 y5 Y7 k, @5 \4 r5 ^& n - {
( z! J2 s# _1 B: ^6 ~7 _1 @ - char *error_message_string;8 K$ I" _" T/ j( L; ]! W
- EMH_get_error_string (NULLTAG, return_code, &error_message_string);! G+ F1 @" ?4 [/ v; J9 ~
- printf ("ERROR: %d ERROR MSG: %s.\n", return_code, error_message_string);- D5 S" o( L9 k/ y
- printf ("FUNCTION: %s\nFILE: %s LINE: %d\n", function, file, line);' Q! U, A* k/ V+ R9 q
- if(error_message_string) MEM_free(error_message_string);
& r" \; L% E1 n) U' r A - printf("\nExiting program!\n");
Y9 P m' h" @; B: @: `5 l - exit (EXIT_FAILURE);
% D0 J; ^' e) I3 X: M8 Q - }& z. e8 m2 J$ S/ L! P1 l3 p# P1 O
- }
1 d2 S7 i- I3 m+ Q! ?2 G1 }- d
; H/ K9 Y* b/ x9 m- #define EXIT_IF_NULL(X) (check_value(#X, (X)))/ w) ^! g. m8 s5 P
- static void check_value( char *function, int value )
9 ~4 [' B3 [+ O5 I! D - {
6 h, d# P5 z# p: o! G" G, U - if (value == 0)
! h0 a; ]9 J* T* x, m5 ]2 r9 f4 ` - {
! U, x2 L/ w/ k, [" C& ]# k8 } - printf ("\t%s is NULL\n", function);! _: d1 l% T1 V2 E( I3 ]. G3 `6 V
- printf("\nExiting program!\n");
9 n0 N8 w( M$ p& h) } - exit (EXIT_FAILURE); - v- @" W c3 Q- V1 B- U. ?+ d* s
- }
$ ^3 I! L% [: F7 w - }
4 L3 t& r T [: g& Q, |; | - 7 L6 t/ q# l8 G/ X" T
- 1 i# ]7 J+ B0 |6 R- h. N
- static void do_it(void)
0 A* R6 E9 F8 P2 G0 O9 n - {
7 d, a, W4 L% ^( y" y - int " e6 u, ~, }: d, M, F
- attach_types[1] = {1};
, }/ \; h9 J' L& s7 s - tag_t 0 }. I/ s8 I$ r4 h
- rev = NULLTAG,
3 P* X1 g: a4 U& j5 B: o* h - process_template = NULLTAG, & I% J- R5 D- D
- process = NULLTAG;$ C" e: p- k J5 b; D7 J/ y
- h. D' J4 o. P7 p
- ERROR_CHECK( ITEM_find_rev("000206", "A", &rev) );
( u1 Z7 r0 F# o. N2 z - EXIT_IF_NULL( rev );
* h6 `- Y0 T2 b; B - ( W) i4 x" v' I" S
- ERROR_CHECK( EPM_find_process_template("oneStepWithStatus", &process_template) );
7 R, q. Z3 n0 o1 ]8 g2 c - EXIT_IF_NULL( process_template );
& d7 d+ d1 e9 z! B0 |
: C) D1 |3 q* Q9 E- $ N, G, u$ p- r$ J1 E% q
- ERROR_CHECK( EPM_create_process("5421377", "desc", process_template, 1, &rev, ' f& \. i7 m' [ e4 Q$ B `* H
- attach_types, &process) );8 i4 l+ ^3 x2 h" t4 d* l. V
( a) T8 @+ ~1 |9 y- EXIT_IF_NULL( process );
6 _ s. P; {: q: X - }: S6 `; P. B# ~6 p$ X6 [
4 B& z& b* O1 j" d. h E* S- int ITK_user_main(int argc, char* argv[]). }" X6 D+ g) B4 B! F- ^, a
- {& D+ f& g: P9 V
- int( `$ A8 C( C$ T: y$ a' @0 A
- status = 0;
) w3 o f# t; j& n% { - 4 \/ y4 r; I% T) Z
- ITK_initialize_text_services( ITK_BATCH_TEXT_MODE );
, F0 M: W& u0 L* g/ ?. ^0 y7 v) g - status = ITK_auto_login();$ C. s+ f( r# `. i
-
; o. P0 V% R. {' Q, D& `$ @% ~ - if ( (status != ITK_ok)) printf("\nLogin Failed!\n\n");. k% H$ A1 q( m D4 |
- else8 Y9 \- @0 D. b9 E c
- {9 o. U& O0 d/ `) J+ d% K
- printf("\nLogin successful!\n\n");1 J5 y w9 E! \ c
- ITK_set_journalling(TRUE);3 }( e0 N R, p$ P+ x# g
- do_it(); S ]: _- D8 F+ a; A, E' h
- }1 Z% I1 S6 |0 C$ Y5 j$ Z
- ITK_exit_module(TRUE);
- ^+ ^& N! T" I" L! y - return status;
, H5 _2 c. G5 W' v - }
复制代码
; @2 u) B0 y: @" i9 ]
% i: p1 A3 O9 G9 p8 E- H* A I. w( T' `8 v; F+ k
|
|