|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 C, I' V# u% j. `( m8 }
6 t4 f* d( q7 b/ U6 M0 c( kTeamcenter ITK二次开发源码分享:创建自定义文件夹! ~8 Y% {+ M7 i Y3 U# ~* @. I
输入的第一个参数是文件夹名称,第二个是文件夹描述。
- {+ ^/ R3 I, b) I+ \+ g q8 v5 k
' }) K+ l# t+ S; m4 N) d* f. m5 j- S: ?! z
#include <TC/tc.h>
3 l7 |& s2 f' f5 L1 `#include <tccore/aom.h>3 u3 {1 v' ?$ Z2 g
#include <tc/folder.h>
) l! D6 v% z" T$ B#include <tccore/workspaceobject.h>; H0 M; ?6 P6 `: l
/ _, o7 r5 H7 Z0 { u
#define EXIT_FAILURE 1& P1 X; A! L* t: X6 `1 E
* f9 p# I6 f: R9 K% astatic void report_error_stack( void )5 u7 C: w+ Q1 n# J; l
{+ u. t! v# X+ b9 A \
int: z8 z( |. C# @1 T, ?% ^2 y
n_errors = 0,, E K( j* g4 O) g/ n. C; S# j
i = 0;* g& Z/ I6 ]% S' E; I* q
const int
# ^0 F4 R( l2 \, y( u# j" _" B/ w *severities = NULL,
! c$ Z- R8 t, @3 w% Y *statuses = NULL;: |& i9 w5 H) g
const char. v6 t( m- T1 }+ q: m" | X
**messages;5 o/ S: X9 b& ^. l0 X' X% Y4 L
& D+ g+ q7 H S' F: h! Z1 I EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
1 l/ s+ e6 G* A( G) [ printf( "Error(s): \n");
" G# c: R1 h4 S1 }! ?. n for (i = 0; i < n_errors; i++)
# ?$ M' H/ R& j* C7 b {
. c- f9 F1 h# ]/ r( q* C C printf( " %6d: %s\n", statuses, messages );( v- s. r7 ?( Q9 Q$ |& H; i6 T# s
} B- a0 `7 k4 V" n) o% U, ^7 s
exit(EXIT_FAILURE);/ ^( }4 ?! ?* y
}
4 q$ w! v; d9 f7 B4 b
# k$ L7 u) o# g9 E1 ?+ F0 i& _: gint ITK_user_main(int argc, char* argv[])
, R- H: [/ V) `8 C{
. @6 g s! a" C! c int
' p5 H+ X' ~1 X% A* u status;1 l) E. W' h' \ C+ D
char' L4 G6 q7 { q) B+ I
folder_name[WSO_name_size_c+1],
. t% H# H4 |. }* }9 E- a# h fldr_desc[WSO_desc_size_c + 1],$ T- C& U! c* Z
*message;
5 m' {, M/ F# k, x3 j$ ]: Z tag_t
4 k f/ D8 |5 Y: p6 x new_folder;) y5 V7 ^5 w' ?
- ]; r: x) {% N( T/ D) q ITK_initialize_text_services( 0 );2 d* y1 V7 m' x
status = ITK_auto_login();+ U5 r% j* ?3 L$ T& i# ]
if(status!= ITK_ok)
A" j5 l! V8 \ {
: L9 [' P+ X6 P8 c* U report_error_stack();7 x, K! A J( ~( r9 C
}
- p. m) ]5 _! R7 a( \ else- V6 V9 i, ~/ Y7 n
{2 c' u6 ^6 J1 O: \% |. ^+ \
printf("iMAN login successful.\n");2 L% g, r8 {, k: I# Y9 d& b
}1 z7 X1 f5 ?5 ? g; r6 [. `
8 {% o5 n- R7 t: B0 J ITK_set_journalling(TRUE);/ A0 m( ?8 c/ L7 c0 [
; J: ?3 o# e8 v, {/ i4 @- F if (argc > 1) strcpy(folder_name, argv[1]);
6 T6 x! D z. a( A) w6 i else6 e" B4 E' R; X2 n$ _/ l4 m
{/ N1 o8 K. C; z3 {5 ^
printf(" Specify the Input in Following format : \n"); A1 V8 d; v; C, e9 ~/ n4 |* p
printf("program_name folder_name folder_description\n");" C. E) X- g- J9 O2 `
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");8 A2 O6 @) H5 h) u Y
return ITK_ok; 5 e- u- r: ~' [: m- Y2 K, O
}
6 ~2 M! m1 }. a7 u* @$ V
6 k; T1 A" u6 K a if (argc > 2) strcpy( fldr_desc, argv[2]);& V z' m* O4 x6 v1 L9 d
else strcpy( fldr_desc,"");6 L2 _$ m3 N$ m" n0 d
* q0 a7 f! s; k status = FL_create( folder_name, fldr_desc, &new_folder);
$ l7 v9 C+ d# A" C; i if(status!= ITK_ok) report_error_stack();
- l% m/ L3 u+ N/ _/ ^, C; ^
% ~0 S& n4 t3 [7 j- [ status = AOM_save(new_folder);+ d* L6 |; ]7 m% D4 h: h
if(status!= ITK_ok) report_error_stack();
: B4 _5 D& r: o0 c; A; O else printf("Folder '%s' Saved; ", folder_name);% S5 t+ j# |# R" m1 }8 d/ J1 e
% i" L: Q3 ], b status = AOM_unlock(new_folder);& E. ?& u' a, _) z4 w9 N% t
if(status!= ITK_ok) report_error_stack();3 p- S: O# Z/ W# b1 Y, _
else printf("Unlocked; ");
5 Q1 h7 a; c& g8 b* `7 b* {0 Z4 m% K! z& h/ G
status = FL_user_update_newstuff_folder(new_folder);5 k5 }- g( ^+ s2 j
if(status!= ITK_ok) report_error_stack();' k$ d) T/ w; I8 B& J6 L8 j
else printf("Put in Newstuff Folder.\n");5 c9 T" _" y4 r2 S) Y) S
4 m; Z" A C* v5 A, r: m ITK_exit_module(TRUE);
& l/ G$ l4 [* W* D return status;) r# m. z$ U& \5 _6 I
}0 e# X. d. z* f8 N8 t2 O
|
|