|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
& ^5 a8 ^- O1 s) v) I; a7 x8 K$ X& D9 r9 ~+ _ m0 C) s
Teamcenter ITK二次开发源码分享:创建自定义文件夹, K2 ^2 [6 i3 t& x+ A/ S9 ?
输入的第一个参数是文件夹名称,第二个是文件夹描述。
/ d C# U) f7 w0 _" ~% m
- e) Q9 {( C& O& ^; {9 e
3 T; d% V, K+ u2 _% e* b#include <TC/tc.h>
7 M8 J: E' m/ D9 b# a$ F5 |3 q#include <tccore/aom.h>0 m* C, Q$ q+ [- [' i
#include <tc/folder.h>
* M" {2 t' N% ]( ]* B9 v* ~#include <tccore/workspaceobject.h>
" H% h, |* O+ R* I1 D* J7 j5 ~& Y7 K) G. N/ L# t6 O6 \8 s
#define EXIT_FAILURE 1
' [, J' d9 H$ c. H, ~; W. R1 G% y& m( Y1 X2 O6 D: j- w
static void report_error_stack( void )
4 v; Z% V5 s" h. z# e {% g7 K# @( V" w0 L+ C% O
int
5 v2 O) G9 K+ m0 I n_errors = 0,9 e; U# J& e/ z1 E' p; ^2 Z& ?
i = 0;! U% O6 ]6 _) m O( O* m
const int) p' X; v' P) ? q" c) `
*severities = NULL,8 ^! d# }; m$ i! M/ L+ A4 G( P
*statuses = NULL;) k! C; v: \1 Z( \% F
const char
4 i" j# b" Z% Q5 s **messages;
; L$ |! |/ X+ h; d. N+ I- X6 X+ O3 C# h! P& c& U; ?' P
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
0 g" O9 ^& C: ]/ X& n2 A printf( "Error(s): \n");9 @: d9 J+ O7 g7 |5 |
for (i = 0; i < n_errors; i++) * t& B+ T7 p; T' P
{
) I( k$ p& ?" b# h0 x' [ printf( " %6d: %s\n", statuses, messages );. l4 J6 o# P4 C1 s* l
}
- \8 A0 e* e/ v- A% A; S g exit(EXIT_FAILURE);
) c" T: I- f5 S5 X& I }
8 ?+ ?8 r' G+ ^- Y& T* U" c- a: d+ x* `+ x* l" ^8 |
int ITK_user_main(int argc, char* argv[])
- i% \, L/ i& @, r: A ?{; M: y0 m8 s# X8 J) S
int
# Z+ _1 x+ L" U" l4 r6 u status;' D+ F9 E! }# f u. M* w
char& K3 G2 p4 h# ^3 y, S
folder_name[WSO_name_size_c+1],
$ o! J0 I( E) i2 u- ^$ }5 f1 ` fldr_desc[WSO_desc_size_c + 1],
* N* O; c" s" Y *message;
5 U7 Q. m4 Y6 Z6 c tag_t2 p$ B$ q: M5 q! B' @
new_folder;
G- s! D; `; F, J. A2 x! \ e( I# T
ITK_initialize_text_services( 0 );
, Y* z' j( O' W status = ITK_auto_login();7 u4 C/ }4 e, b4 F. ^
if(status!= ITK_ok)7 \& T3 C( j7 `, `. s6 B
{( Q& R" b! `: g
report_error_stack();0 z0 |, [0 H$ y0 u0 W* _
}
, S6 K8 i/ E: f1 O9 d7 Y; A; h else( G' \5 @7 [+ j4 e7 f
{
; {2 _+ A8 d, O# _ @4 t8 l% d2 a! W printf("iMAN login successful.\n");
0 N9 k* M+ A1 [, w8 J- a2 M% l0 L }& M& N; W. U6 O) L) d2 ^% y
8 P t+ K& D& O; l9 Q
ITK_set_journalling(TRUE);
: F4 O7 I5 R3 r) G0 h5 @1 E
5 P8 U( ~* Q, |. d% I1 k+ } if (argc > 1) strcpy(folder_name, argv[1]);! E: D" i+ j P' L9 ^
else
3 [! l: z: L* R2 H4 [0 q% f" J$ L {
( U: D) v: I; [ printf(" Specify the Input in Following format : \n");/ q6 S O* q }- U& d2 b- y! _
printf("program_name folder_name folder_description\n");8 K2 ?9 z# b' j8 x
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
2 v# V& d( j& w% d return ITK_ok; : {# y/ l/ ?: \" f {
}
! y# Z2 R9 ~" s/ l# M! d. ^+ @$ q
) Z* K- X0 `. Q0 F if (argc > 2) strcpy( fldr_desc, argv[2]);' s( W+ ?9 g9 V+ Y% X K
else strcpy( fldr_desc,"");
) L4 j3 e H) D$ Y
* }' l @! u. v2 f- X( K status = FL_create( folder_name, fldr_desc, &new_folder);( A$ L/ R. C: Y; x
if(status!= ITK_ok) report_error_stack(); ! ]( ?+ q$ Q% V* p9 {' S
4 `) ]; v I6 D9 M1 M' F/ f" W
status = AOM_save(new_folder);5 q' q; f! A& I/ U2 e4 g% T1 [2 A" J h
if(status!= ITK_ok) report_error_stack();
) \/ b4 O5 }# M4 L+ n% l else printf("Folder '%s' Saved; ", folder_name);
8 c( G7 @/ I7 x# X% Z0 o% A- D; i8 e( x1 F
status = AOM_unlock(new_folder);
: _* y1 t5 j& _. @# ?1 r1 K$ s if(status!= ITK_ok) report_error_stack();, _, g) W* I3 v$ K
else printf("Unlocked; ");
; W/ d/ t; F6 H: k. Q9 H8 R% a6 m& K
: J) ?) {6 N/ j: F) R- S status = FL_user_update_newstuff_folder(new_folder);& K) u: j3 j$ ?# z7 X J
if(status!= ITK_ok) report_error_stack();+ z" @- x! `( B7 X
else printf("Put in Newstuff Folder.\n");
" x. [6 v, f: p& T
+ Q+ ~( u+ c2 v ITK_exit_module(TRUE);9 E j% F' P9 d/ j$ Z
return status;
" N$ s$ F ~' A8 _7 N0 G9 v}8 {! ?& D& Y# B3 \ V+ w
|
|