|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
# W% ]: j% D$ O/ t) W5 F" a5 V
. b% K4 W7 ~! F$ ITeamcenter ITK二次开发源码分享:创建自定义文件夹) _' |6 W' c- C* f
输入的第一个参数是文件夹名称,第二个是文件夹描述。9 O7 e- F5 A2 x* _; S* y* S
5 n/ l* ]- e" D
! `/ \4 f# k: I; P' V5 Q6 N#include <TC/tc.h>2 Y3 a2 ^! [7 W9 J- c; `6 t- q; h
#include <tccore/aom.h>
, a; \9 L2 u4 S* a/ B' f#include <tc/folder.h>" T7 ^% @( M# B6 s) }( d/ f
#include <tccore/workspaceobject.h> V1 t( w% a* h: S6 j+ y0 d
3 u7 X3 u: z9 s3 X1 }: j8 N) z5 K
#define EXIT_FAILURE 1
! r7 ?% q& `( e) ?& \" [$ Z1 [( C8 O* a! F* ?
static void report_error_stack( void )
+ O0 `: z9 p2 y7 X6 ` {# ^- L- C6 [; Q, `5 v
int
. L" @8 J4 v+ f+ u" H n_errors = 0,! o3 y7 C/ b- C2 U n! l; `
i = 0;
) \7 w$ G! h: {' y# u const int4 V& W% N/ K, q
*severities = NULL,; O7 O7 d# t2 }" x
*statuses = NULL;
6 }* t6 a* R7 L: o7 ^1 P! L# _6 a const char
3 @& N9 f/ x) x# g. p, i$ i; f9 ` **messages;1 z7 l' e3 i% O" q4 t
! n" A( }" h9 ~/ l( w+ [ EMH_ask_errors( &n_errors, &severities, &statuses, &messages );' m. X# R( j+ |+ b2 z2 B: d9 ^
printf( "Error(s): \n");; I% S/ y# B L" f, U: h
for (i = 0; i < n_errors; i++)
$ K3 D* i m( n8 t' ] {3 c6 p" q# t/ u; k! e9 X
printf( " %6d: %s\n", statuses, messages );6 Z7 g4 R, n8 b& N, ^ ^9 h
}
/ T Z9 w/ t, R6 t5 r4 R3 q3 F5 Y& _, n6 o exit(EXIT_FAILURE);: D4 e% L9 L: ^, R1 E) G6 ` [- |; Q
}+ ^, y. F3 ^; H7 N! O6 X0 X: \
! n. S% ~; V9 J. p! p7 Lint ITK_user_main(int argc, char* argv[])3 k- O! d2 u% J
{9 H1 s! T; e, G. I
int" @2 s8 W# Q. W( \* i
status;
# m- D+ n- [, A! R3 C. K char
0 w* F" ?% c, L9 I( ^( m7 b6 \ folder_name[WSO_name_size_c+1],8 u" C9 z2 `% T
fldr_desc[WSO_desc_size_c + 1],/ c5 R/ V& ` N! _3 S: y+ L! F
*message;
# q) u6 u6 a5 H4 m% O6 C* G tag_t" @ c. q5 V) o1 f
new_folder;$ }% }' b/ n ~2 p/ Z; g6 A0 N
, L w9 Y x$ G$ `# w( U. H+ @, r
ITK_initialize_text_services( 0 );
/ z- x/ c- h1 F% w: G status = ITK_auto_login();
' X+ {& A$ ?) h9 k/ b- N/ E7 t if(status!= ITK_ok)
0 ^: ?7 R: n z, _, c- r: Q {, y6 Y' f7 P+ ^
report_error_stack();
: ?* x3 c b" r }
3 O9 t' g* B1 w/ w1 z3 Y; k0 l else: `" i5 w8 k; b( k0 }9 z
{
8 ~& }8 P8 s P7 r9 U, ` printf("iMAN login successful.\n");0 k& s+ D0 j; R$ n( e
}* ~$ ]" n- a* D, N$ P
3 Y$ d. s- N' B
ITK_set_journalling(TRUE);5 [) }- @) S. }; ]# }
' p" v5 W0 H H- X y! b5 Z if (argc > 1) strcpy(folder_name, argv[1]);4 e! v6 K. k R" _0 G# N
else# U: M: ^9 i2 {9 p& Z$ t: x
{
6 Q4 }' O' z7 E4 _7 u printf(" Specify the Input in Following format : \n");
0 ~2 I! w/ X" {2 P printf("program_name folder_name folder_description\n");
& j) u( o; @ U3 p& T printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
6 ~: W& G# H" D. k9 D% h return ITK_ok; 8 R! }- }& s/ {1 B1 v+ W
}
+ h2 N# s9 w; Z3 N3 M( R1 l) q! [8 B; M: x# m
if (argc > 2) strcpy( fldr_desc, argv[2]);
( B0 ~/ ?) {. N5 Z; f7 k else strcpy( fldr_desc,"");, R O" ?+ a* f
4 O) x6 O( D; { Q( S
status = FL_create( folder_name, fldr_desc, &new_folder);
. _% z% m# R$ @3 Z- P, D/ P4 s if(status!= ITK_ok) report_error_stack();
9 {" h3 ~2 j* n
$ j4 E( A; D, D: U7 N0 O status = AOM_save(new_folder); Q+ i. m, Y8 k, o4 y7 L
if(status!= ITK_ok) report_error_stack();
& C+ d$ K1 M4 V else printf("Folder '%s' Saved; ", folder_name);, ~3 H) j; J/ `! [& W9 H
; @& ~1 a0 }4 K2 h2 X& K1 j
status = AOM_unlock(new_folder);
7 P. D5 |6 S8 Y! Q if(status!= ITK_ok) report_error_stack();
7 E+ i" Q' e6 [0 Z/ U8 _8 \' X9 Z: C else printf("Unlocked; ");
! X0 g6 d# t( ^' |% q( G+ {+ z! w" v3 B- j! h% }& O0 v+ @/ n+ h3 Q1 ~; a7 p
status = FL_user_update_newstuff_folder(new_folder);
9 P3 |8 V' r. a8 z& y4 x' e if(status!= ITK_ok) report_error_stack();
: F# i9 e! s/ ]6 T8 L V/ F+ ^) y else printf("Put in Newstuff Folder.\n");
8 R( ~. v( `& `
! B# n0 ?' @/ d" _) z) Q# a$ D ITK_exit_module(TRUE);+ O! O; c: _. [
return status;
- H( S. p3 k( Y c}
3 e+ v% j# ?! P( F9 t1 q |
|