|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
6 O1 B2 P/ K; K D1 W
Teamcenter ITK二次开发源码分享: 创建一个工作流4 M$ C7 n w) D: O/ h; V
" j3 M) L2 U7 N
- /*HEAD CREATE_A_PROCESS CCC ITK */! G$ _% V+ I4 u- w, ^; v
- #include <stdlib.h>
7 k3 V0 I1 B8 [3 t/ S) Y! C$ n, J - #include <TCcore/aom.h>
6 x+ t) ~) m) B6 r* b# V - #include <tc/emh.h>4 D+ n4 n! A- b
- #include <epm/epm.h>
0 L6 F& T2 Y" S - #include <tc/tc.h>
) z7 g6 y. h3 Y - #include <sa/tcfile.h>
7 ?- L' ~# L" @7 J5 e3 h6 _0 N - #include <itk/mem.h>
% h% C: V2 i( t8 e - ( x0 H `6 x0 E4 s: J: @+ e
- #define EXIT_FAILURE 1
# K$ [4 i4 ^( i5 ~5 c4 Z - #define ERROR_CHECK(X) (report_error( __FILE__, __LINE__, #X, (X)))
: k) p; C. i* v2 b - static void report_error( char *file, int line, char *function, int return_code)! W' K3 I. h" i# E0 k
- {+ b3 g$ {3 D6 J# Z! O
- if (return_code != ITK_ok)' B% L% O9 r' ^7 j9 C/ J. u2 S# ?
- {
6 i" V8 [7 V2 I1 i' u: C - char *error_message_string;! K8 @1 t* W% E% k- Z
- EMH_get_error_string (NULLTAG, return_code, &error_message_string);; [" L+ K3 w9 j
- printf ("ERROR: %d ERROR MSG: %s.\n", return_code, error_message_string);
$ [! d, N3 e3 j4 ^ - printf ("FUNCTION: %s\nFILE: %s LINE: %d\n", function, file, line);
/ n2 z( i1 v1 w8 U+ s - if(error_message_string) MEM_free(error_message_string);
* I& t1 q& I. p - printf("\nExiting program!\n");
! s3 k* @7 i$ q$ w# j - exit (EXIT_FAILURE); * ]2 r; I: J( g6 p
- }
) R5 h- c( L( t+ O - }
. M, e0 u z( W: S6 \$ `
& B! h- l4 @3 {# ?, o# T% f- #define EXIT_IF_NULL(X) (check_value(#X, (X)))
6 V1 R. }+ F' W: I* H- Q: ^ - static void check_value( char *function, int value )2 D8 B+ }* {5 v& b2 g7 G9 a8 U
- {3 r, C, e+ l1 ]5 b8 m) x) G
- if (value == 0)- H1 k2 R9 T& G3 v9 m& m( l# l
- {( p* ^6 n3 V0 g/ F& `- @
- printf ("\t%s is NULL\n", function);
( e9 Q) U! ~$ h h' m - printf("\nExiting program!\n");
1 D9 J( R$ E" i0 n! R0 K! v - exit (EXIT_FAILURE);
5 i8 U T7 x/ e- m3 q8 o, f* X - }0 N6 P9 R* x. n( f O: x& J+ i
- }
( H! I% i. y# k) X. x" O - ) o2 | }; l) k4 Q) I- \/ m
- ) i% n1 c! K) M3 K2 [0 B6 H; Q0 P
- static void do_it(void)" n& m# B) V7 U% G+ C# f
- {
3 e% \3 }# i, ` [; _ v - int
4 ]( Y6 K4 w9 H5 o$ Z$ l - attach_types[1] = {1};( f2 {3 `! E W. ~: n
- tag_t . h3 u: R! m5 G
- rev = NULLTAG,
2 o- x0 S) ~- x1 c - process_template = NULLTAG,
, b! R: y! @7 l1 E$ g - process = NULLTAG;) D9 `( g6 h) ^% R) U5 V9 I$ {
- ; v$ }4 m6 I* L p! _* v) z6 S4 \
- ERROR_CHECK( ITEM_find_rev("000206", "A", &rev) );
1 B+ Q: ~! }0 Q; _/ n( A6 k - EXIT_IF_NULL( rev );
6 f; k5 R7 B f. @) u8 W% s - 3 I- l; G5 w- P, n& X$ s! j
- ERROR_CHECK( EPM_find_process_template("oneStepWithStatus", &process_template) );
( @8 f" m. f4 S- |$ ^6 V - EXIT_IF_NULL( process_template );- a: N' ~* L: h$ N2 ?8 q' O7 W
- . v$ b5 ?3 p- ^! g! m/ X
0 w! k# i4 H! J! B( p, |- ERROR_CHECK( EPM_create_process("5421377", "desc", process_template, 1, &rev, " m4 T: k! G5 e
- attach_types, &process) );
# K7 m: Y2 T3 N6 k! _ - 8 q8 }9 K1 ? i# t6 y# v
- EXIT_IF_NULL( process );
4 K3 ?2 s, U" [; Q! |& S% x r% ^ - }6 M4 H9 Z, K o6 [. _. B
- 2 \0 X- e1 Y$ j0 \' _7 r, @, q
- int ITK_user_main(int argc, char* argv[])
' i3 \4 e4 K% j5 B" c" z - {7 I& e( h+ V9 m) j
- int, s' W" S* O) s
- status = 0;
% _% C" \- U; M' h( j$ h. T" q) R - # L* X: l: F% W2 X5 g
- ITK_initialize_text_services( ITK_BATCH_TEXT_MODE );
@8 b, E& y' p - status = ITK_auto_login();
3 |1 Q) h* J' z D - . P! j5 q: p- g( R% U% `- z
- if ( (status != ITK_ok)) printf("\nLogin Failed!\n\n");( H; ~# C4 d) C+ c, u5 p9 a# ^4 C2 C
- else
. Y R$ a7 w" o6 k8 Q. o - {
9 `8 `9 S# c4 u4 m( f0 T3 f - printf("\nLogin successful!\n\n");" }$ c) ]8 R: O0 c
- ITK_set_journalling(TRUE);3 ~+ Q* ?+ @/ `5 D; j
- do_it();
' N4 }- S# {' v - }& m5 c- P$ U5 g8 ^0 ^
- ITK_exit_module(TRUE);/ G* z) k$ G- {( \. Y
- return status;3 z7 W1 H' ?6 u) v$ P, O' Y+ z7 A) c
- }
复制代码
3 ?+ \( i, P: s
# p& e2 q9 a4 a/ [) E8 L# u) w y# x9 Y- x4 V" E+ f
|
|