|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
6 L% T6 ]; J" q: e3 I: Q$ d* R
/ ^# {# `& P: y, R1 s& m4 bTeamcenter ITK二次开发源码分享:创建自定义文件夹& u; x6 ^5 y: X/ k* k; T
输入的第一个参数是文件夹名称,第二个是文件夹描述。
7 \- a- ^3 I& I S% P9 c: L# w! B+ r; C* G; Z" x) x& f
" h: o( g% B; `
#include <TC/tc.h>
! c8 E, Y2 v* s2 K5 K5 z4 K#include <tccore/aom.h>4 r. X% X; a" r6 e
#include <tc/folder.h>* F# x4 b7 E% K* e; m1 s
#include <tccore/workspaceobject.h>
1 v- ^9 a5 U9 w, _- Y. ^0 a6 g1 L5 H8 K& F4 h( V8 K' F2 N) J Y3 }
#define EXIT_FAILURE 1
8 z7 V) _3 Z9 K! v; T$ }. ]2 q3 @4 r4 k& N! X6 E9 O/ Y3 c
static void report_error_stack( void )
" F# G) q1 u, D; F% S {! k# }( d Q* h }: q
int
% }' X. B" h$ q4 `6 Y# M n_errors = 0, X; d- e3 {& M! |* d: o3 V
i = 0;: \' |5 s7 X) W; b: W9 ?3 t. ]
const int
; C. z$ C0 O& d& o Y3 k *severities = NULL,
1 K' A0 w5 c; l; I *statuses = NULL;+ V" v; p' m9 |! m
const char
! m" a, p/ `- D2 k: F+ S' E **messages;
* J: t# p3 ], [6 D! w& S
5 E& S# |7 j$ J) a9 M EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
* N0 k; {; n2 t) ?+ q0 t printf( "Error(s): \n");
& y" R: V- U, z& i$ d! t) y for (i = 0; i < n_errors; i++) ) M' D7 o. c: s" U$ S0 z4 \
{' l3 P$ `# F6 h& H
printf( " %6d: %s\n", statuses, messages );
' n" D, x8 X3 [- p7 H; n4 v }
( b x+ P1 c0 u exit(EXIT_FAILURE);4 E/ Y) y5 N6 E' C
}
5 d2 `1 W6 u, r" F% z$ r2 e0 G+ J6 c
int ITK_user_main(int argc, char* argv[])' x' F3 J6 ]6 }* ?: m. w$ E/ N
{) d7 @# Z$ e3 E' _! i% J( b: S: i1 m
int+ z( q( `) G. w; R4 g
status;2 m U! k$ I4 i1 n" p
char
, O( N( E! `/ b* X( h folder_name[WSO_name_size_c+1],
6 _0 `1 E. v8 L fldr_desc[WSO_desc_size_c + 1],
1 R0 V+ c3 C5 ?0 p7 Z/ X *message;
% L! M/ z7 m, `2 G' G9 n9 @! { tag_t; i! X% d# K, D% \* M
new_folder;
: O( o! o8 r; c) A8 B- L: l: d7 Y1 y1 \
ITK_initialize_text_services( 0 );
8 {4 P; x; @: e% w3 Z K7 i status = ITK_auto_login();# C9 K! V) ]/ W2 I* H g7 ?6 q
if(status!= ITK_ok)8 P3 Y3 u1 w! \- H1 V% K9 ?
{. E. c" X5 R, u4 c$ j! ~) \- x
report_error_stack();
2 J1 i8 W4 ]; x9 ]6 E }6 x( v3 d# e2 S4 B; ?/ a0 Y' y5 A
else& w% A" l9 S) Q9 I6 S2 P
{% W7 S8 e3 z# M9 G0 k
printf("iMAN login successful.\n");2 _* o# L1 W" v5 V/ g& v
}& ]8 Z0 |: N- O3 r7 b- c2 D
; G4 ]2 J7 v3 @2 J* S
ITK_set_journalling(TRUE);
+ {, c7 T% K; D% ]6 l3 b
/ P/ H$ M% u7 w- a4 j' _ if (argc > 1) strcpy(folder_name, argv[1]);) D/ R" f9 x; T; e; e9 C1 L
else
( k1 N3 G5 A1 E( h- N" m {6 ^6 D4 p2 T9 u5 Y/ x2 k. \# N
printf(" Specify the Input in Following format : \n");
) Y; ]: Q u: k! H. s: ` printf("program_name folder_name folder_description\n");
6 j4 |3 j2 f- i2 f: b: V printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");7 ~7 r6 M: \' j! m5 R! u x
return ITK_ok;
& r* |0 X8 @( M! \ } 0 z; u2 j! L) s$ C; W0 H4 A* o: ~
- ]: V8 a! J- d4 Y- K# B6 m if (argc > 2) strcpy( fldr_desc, argv[2]);
' T6 x ] q. f6 Y else strcpy( fldr_desc,"");
- {4 s' B; F3 P# W! x3 M
. s* s/ q+ Q7 i. {7 g% [6 ` status = FL_create( folder_name, fldr_desc, &new_folder);9 e) }* |* C* H" c: @% r2 G0 s
if(status!= ITK_ok) report_error_stack();
# n* j' h1 |0 j% B. t' r- ?+ G
2 P0 }, b. a9 M2 u status = AOM_save(new_folder);' {- ~* g; L' ]" w! h
if(status!= ITK_ok) report_error_stack();) q+ `* \# U* W8 u2 E9 S6 X( i
else printf("Folder '%s' Saved; ", folder_name);
6 N/ s7 k3 \% T8 [4 S7 V4 @$ [8 n3 D7 U7 C) y; Q- C4 X' o
status = AOM_unlock(new_folder);
* l% R5 N; \) |: Y- y1 \ if(status!= ITK_ok) report_error_stack();
& D) n$ y3 c4 B/ q else printf("Unlocked; ");
* H8 o# M0 d7 i' k6 v, y* b/ o: V: d- O7 R3 c( j) B' ~4 V
status = FL_user_update_newstuff_folder(new_folder);/ Y; ]/ F6 N6 R3 ^' M
if(status!= ITK_ok) report_error_stack();" j6 O% S/ ]5 l) s& P# K+ l- f
else printf("Put in Newstuff Folder.\n");' W" S9 x. j* U$ Z
" o$ O& `. P- V: g8 } ~; A ITK_exit_module(TRUE);
% l. s7 _- p9 v3 H/ a9 Q return status;( y2 I8 V1 |4 X( g
}
1 d( `" X4 P" ~ |
|