|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
7 z4 ~6 E! A2 b- r
; i$ E- \3 X& hTeamcenter ITK二次开发源码分享:创建自定义文件夹, O, }6 L* w/ n5 B
输入的第一个参数是文件夹名称,第二个是文件夹描述。
3 j3 p( l0 d) m
/ m8 J' `" b' y2 d; o- Y3 n) ~& M& n# M6 U' |
#include <TC/tc.h>. M* W: F/ e8 l% K4 }" h' L
#include <tccore/aom.h>
" g0 r: O4 n+ K Y7 V$ Z3 ~$ u#include <tc/folder.h>* D+ M6 E8 q9 k c5 E
#include <tccore/workspaceobject.h>( f+ M) O4 d. R9 }1 u4 o9 _
% `5 _8 ]* E) \1 L. W+ X/ o) |! k#define EXIT_FAILURE 1" @4 b! R' J9 [: i
/ [% V8 ~, y9 Z% Q8 `6 w; [/ m
static void report_error_stack( void )9 V/ ]! C; U1 w5 q; D+ p) f3 O2 F
{
( t) E- R( k! q {- ] int" ` F9 Y4 T7 W; Z
n_errors = 0,# E$ L9 i d9 u6 \' O, F& s5 }7 S
i = 0;
; G$ }7 l9 a: L const int
, q; J# v; ]1 ~$ H/ R% Z( E, H7 t5 d; y *severities = NULL,7 I6 c. h( x: ]9 J+ Q
*statuses = NULL;
# g) h, t+ G" y' V( P const char' ~" q3 |: p2 I
**messages;0 F/ c3 Y! ^; K9 ^ _. b7 T
# _' Y( z' T5 t- Y EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
8 b- |. z# q3 i$ f7 x7 a printf( "Error(s): \n");
7 @, E9 u* A6 k6 O1 \ for (i = 0; i < n_errors; i++)
$ R$ M8 Q. k7 t: z {
; U" V1 E& Z. @ printf( " %6d: %s\n", statuses, messages );- J+ I6 g! p+ k6 x N0 ` c J
}6 u/ a' p4 D2 M' r0 x- a: r! n
exit(EXIT_FAILURE);( }/ m3 v O& Z) a
}9 t7 \. T' E/ L! N
5 E" t6 Y, v* |3 R$ p6 F" ] _
int ITK_user_main(int argc, char* argv[])" t1 ?6 V5 @. l( X' q/ W# V
{
" Q* L' S0 h' \% V int
4 [) B b1 h9 p( U* q0 Z status;/ o; B8 ?6 d0 ^$ n9 ]! F, d
char
- @' i. o0 \5 h, T# }" [ folder_name[WSO_name_size_c+1],: k( X3 p& E* u o$ \
fldr_desc[WSO_desc_size_c + 1],, k4 P+ @ c0 o, L. F' ^7 f3 I
*message;
) P4 _* ^+ M: n+ H tag_t
/ { G" \6 | r5 a% b; l, Z V new_folder;) E; M6 U+ b+ G$ l( `0 O7 A& e2 k
; S6 o/ z& f4 K2 m E5 H ITK_initialize_text_services( 0 );* x2 f5 l% n' `# {1 \/ c
status = ITK_auto_login();- f2 A/ t8 [& E5 H
if(status!= ITK_ok)& E, |. f' `# u) o) i
{
: v$ Q7 y6 O( L/ t report_error_stack();+ s" T s$ b2 o2 w( F* U- _2 _
}
& P* @8 d2 G, S: a0 }6 u: s* s else
' q$ d9 Q, P, c) x: L$ N {) f5 c# o& g- [2 J5 u3 n3 q
printf("iMAN login successful.\n");
3 B% H% }2 Q, i8 ? }
( r* K3 d3 L( T6 ~& T, w8 ^2 j i# q" n
ITK_set_journalling(TRUE);
p9 i3 K# h, u: F/ v9 W
+ j# i- K) K3 O- U2 A [" q3 s if (argc > 1) strcpy(folder_name, argv[1]);
7 M h+ B) W% w2 J# {& Z else) I. ~. S6 @; K" b4 l
{* b0 D! g/ Z2 d: M
printf(" Specify the Input in Following format : \n");" Y, f9 m: f/ X& ]1 l
printf("program_name folder_name folder_description\n"); V$ p+ w& }8 }. x* S8 s* Q
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
( D. k5 E9 U" h" _( M7 Q9 p1 l! I' S return ITK_ok;
( ^8 X8 O0 Z% w }
7 L9 r/ l: \1 \; h, l7 @( l# f `/ W+ { i3 D: C
if (argc > 2) strcpy( fldr_desc, argv[2]);
& l* L9 i' u! s& ~" e else strcpy( fldr_desc,"");
9 z/ g- F6 Z$ D9 ?. A! _
7 C$ Q) o- n2 D9 ~( p t! v status = FL_create( folder_name, fldr_desc, &new_folder);4 J2 h/ M& X5 X: U& f- C2 g+ r
if(status!= ITK_ok) report_error_stack(); 1 o6 F/ @$ ?3 J" n. ]' R" `
0 w! [% W. M4 M1 Z status = AOM_save(new_folder);" f. K! K- ~5 |- v9 @% W
if(status!= ITK_ok) report_error_stack();
5 N# K! w" D8 P1 ^" K9 Z8 R2 n else printf("Folder '%s' Saved; ", folder_name);
; P2 c( s, M/ z! A C9 I- R, o- Z( X% `
status = AOM_unlock(new_folder);" Q' U+ s7 |$ |# d
if(status!= ITK_ok) report_error_stack();
9 C7 q6 P/ G, U' h0 b else printf("Unlocked; ");
- t+ {1 R- V0 I. F- [8 u0 W; }* w) w' }: k( b& o6 J! k, m) ]
status = FL_user_update_newstuff_folder(new_folder);
3 {9 @4 L& A6 @0 J& X; |% i! i if(status!= ITK_ok) report_error_stack();
2 e2 M4 s z! F' E! N2 g+ G else printf("Put in Newstuff Folder.\n");
, Z- |9 V% Z+ c
- o5 g* e' S) O, O, E8 C ITK_exit_module(TRUE);1 K. u9 ~) J! o) A' `3 t* Z# c
return status;
* g) A: ?, ^. x2 Z. S}
7 e1 n: d2 y- t/ j* ^ |
|