|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
. [; t) F: c0 I& T1 J6 {" X% {: C
, \" ^5 R4 I2 G- ^+ LTeamcenter ITK二次开发源码分享:创建自定义文件夹$ _5 O5 N0 v7 b7 J- D% {) ]) _/ z' S' ?) Y% P
输入的第一个参数是文件夹名称,第二个是文件夹描述。- f& d, D6 U% K
! r4 C! {$ U- U0 x
: p4 f3 {" l6 U+ \' n0 Q#include <TC/tc.h>
* c% P+ F1 W" A. b: I( x#include <tccore/aom.h>, {6 ^" ^3 K! ]" j- l; g% p
#include <tc/folder.h>
0 P: w. n3 g4 X+ }2 y+ [+ g/ B#include <tccore/workspaceobject.h>" r1 j+ `! c: k9 D. g
5 K2 r! k5 A( u5 e ?) b- A
#define EXIT_FAILURE 1+ h2 X) E' m$ p* V0 f
$ h. p3 g6 N' `" K- C
static void report_error_stack( void )
: E3 ?7 i7 T1 T! q {; r+ s% o; ~$ d" Z) Q4 n
int
& Y5 {3 a g, N n_errors = 0," e. p3 v0 i0 [1 `/ H" I& U3 X
i = 0;
$ S, G4 a* d; | H& _- \# o0 | const int* a" B+ \$ ?4 z: F- N) p& u% C
*severities = NULL,
% J" z8 w) H8 _4 G0 F1 B *statuses = NULL;9 x: k2 r9 I' _; h! `
const char" Y: r9 V+ X9 q( I( `/ i
**messages;
' L; ^& i" ?/ ]! h6 M; H7 p1 m# `3 S" l
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
0 B1 \3 m# A, S printf( "Error(s): \n");
; E' B) |* b0 U) ]! R k for (i = 0; i < n_errors; i++) " S- b/ D# Q9 M6 b ]
{
1 e( N3 ?2 y f( n printf( " %6d: %s\n", statuses, messages );# d( V, c; Y0 A, B7 ~
}
9 n; s& ^- P+ C/ K. o: b exit(EXIT_FAILURE);
5 Q8 \' }2 h' X, M& G9 o, P& ^8 N }& Q: ?8 T: D3 I
+ |0 H. H' D8 Q; Nint ITK_user_main(int argc, char* argv[])
2 a' G! R( b. n{ j' i ?3 j. Z/ n- s: s
int- y! i0 T5 i. h
status;
9 a) C4 {9 O2 d9 K9 f5 G- i char
$ \# r7 ~2 I# N9 Q folder_name[WSO_name_size_c+1],* V+ V8 _- y7 `4 g% a
fldr_desc[WSO_desc_size_c + 1],
" j. M, d$ f' j3 [. f: G% b *message;) i3 M* y% x$ H3 x8 ?) l
tag_t: ^% ^) q p2 A" b) p% T5 i
new_folder;/ p: J3 Z: M/ A8 l4 Z @
1 M4 @# {& ?/ J6 B! r
ITK_initialize_text_services( 0 );! ^+ M/ D8 w2 M0 E1 s3 ?
status = ITK_auto_login();
8 X: p$ m; Y8 Y( `' Y/ D; r& h3 C7 r if(status!= ITK_ok)' g$ G v L6 C" u3 q$ Y6 ~9 g
{
! x4 n6 o4 l3 ]5 L- J6 r report_error_stack();
- S( |% O! t \; x2 z u9 N# c }
( F. x) F' }' `, y/ ?" L( R else
4 T7 @, T! ]- W& K) A* }0 Z, ~! p {
0 J$ Y# V8 H1 e4 V2 g" F printf("iMAN login successful.\n");+ S, \/ ^3 \* _6 v; _/ \( p% d
}9 r# E; n, S8 K! v& h2 x
" `, J; G6 b% C- L
ITK_set_journalling(TRUE);
; ]% |0 H/ T. h8 \" c' J4 z! O5 u' V3 I) r& C
if (argc > 1) strcpy(folder_name, argv[1]);
5 D# t1 ?4 z2 A else
$ c4 d Q. Z& I+ D) s {9 z3 _+ a0 ^ M5 l2 M
printf(" Specify the Input in Following format : \n");
9 ^8 y+ l. ?5 v3 E8 W printf("program_name folder_name folder_description\n");, J) j9 i9 o+ i& Q1 o$ X" L$ a9 {
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
7 H" K. c8 P6 `" L# R8 Y8 r return ITK_ok;
. C+ ~- {2 ~% f$ n } - A+ W8 O% K' B# ?% G& [( ?8 v
1 u+ {% m+ M0 Q" y! i/ l3 _ t if (argc > 2) strcpy( fldr_desc, argv[2]);
4 `- x8 u) X5 V; H( w else strcpy( fldr_desc,"");1 e. q' T6 q2 J8 ^0 g
1 y" V# {7 _9 U+ v% r+ t" b status = FL_create( folder_name, fldr_desc, &new_folder);( s" s7 h: K m' R# W5 z* Y0 Y
if(status!= ITK_ok) report_error_stack(); ' p3 ?4 K) d( P( X7 x
. m. w9 b9 i2 i0 N/ k
status = AOM_save(new_folder);
( G/ A h3 Z' K0 n7 m; _* z( M if(status!= ITK_ok) report_error_stack();% U( w3 p0 K% S! P& J/ O. n
else printf("Folder '%s' Saved; ", folder_name);
" z7 X8 T0 W1 I7 E" c' T
1 @% p( b4 @8 e7 j1 { status = AOM_unlock(new_folder);
. H: ^7 l. ]$ b; v6 B( Z if(status!= ITK_ok) report_error_stack();( e$ Y3 f/ P& R& ^; a2 Q
else printf("Unlocked; "); d. A& n! u3 G
1 l5 ]) ?$ N5 W
status = FL_user_update_newstuff_folder(new_folder);
0 `) K3 W& z9 t+ J2 @: G if(status!= ITK_ok) report_error_stack();
~; N1 C8 W$ Q5 V else printf("Put in Newstuff Folder.\n");
; ]: c9 U1 [* _2 J1 e) C1 [1 X
6 K& j9 U2 G$ o9 ?- J2 i ITK_exit_module(TRUE);; B1 D( m/ D* [9 r
return status;
" j% b1 D7 P; X* Y: q}/ J9 d% H3 z q" V# ~; e5 n9 i$ i
|
|