|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
$ q) P5 E) |$ s- ^2 b
: Y6 H& M( b+ {8 CTeamcenter ITK二次开发源码分享:创建自定义文件夹% m* t8 p. M% I. u! Y9 Y: L0 ?
输入的第一个参数是文件夹名称,第二个是文件夹描述。
' Q& D- }( e. I# G8 s2 ?5 Y7 X# O1 [, H/ |5 L
5 J# ]; _+ _; A4 U7 E#include <TC/tc.h>6 Z7 R: M( x# J8 v/ |: c* Y+ t
#include <tccore/aom.h>
( V9 l5 K2 S% g% M! W#include <tc/folder.h> Y1 J* Q- C, ^7 K, T7 f. R
#include <tccore/workspaceobject.h>
# O% e4 b7 _1 g% ? C2 k; l1 y3 }7 C+ O$ _
#define EXIT_FAILURE 1
/ s( g6 `6 h- e% w- d: l( t; s9 u" n& m; _$ ^! Y
static void report_error_stack( void )
2 R. c2 r, L& v& u" J {
$ J6 z9 p. Q& ]3 ?$ a int' {8 X" [- o# ~4 X; z
n_errors = 0,
8 p% N4 p1 ^+ j0 ^ i = 0;
8 v% F5 d, e* y5 [ const int
i7 ]. }! ^& s; `* E: m *severities = NULL," | A6 `3 _5 z% L& {
*statuses = NULL;$ H" e. k6 W/ o3 e
const char1 [( H8 q8 N( L0 n' ]
**messages;
) r l8 d3 Q, D% P( Q% g+ q1 l6 @8 G; o r% i8 B5 S4 [+ _7 y9 A
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );* h* ]$ o5 i4 a+ o7 x- v
printf( "Error(s): \n");4 A- d% _- W* ^9 R7 }3 @
for (i = 0; i < n_errors; i++) 1 x {0 N; w8 k- M2 e3 b7 U, u
{
: A7 \1 J( I; p, w( y printf( " %6d: %s\n", statuses, messages );( t0 ^. l# I! m3 Z1 a. F' D% K- @
}# ]1 i4 k U* R/ g. C# I V {
exit(EXIT_FAILURE);0 X: N6 p% F& C$ S
}
$ `7 |5 C; Y9 W! Q& U+ l( L# b( V, H8 L2 p' `
int ITK_user_main(int argc, char* argv[])
! I5 f) y/ H6 l* P8 l! M{( G$ h! J# ?4 n; E% h4 u$ I% o: A* ^
int `$ b2 D6 C) O( Q
status;# X( M' V1 W( d$ y/ h1 i& E, M
char
. O$ M, [$ X2 L; i$ E9 {9 h folder_name[WSO_name_size_c+1],0 Q# m4 I# y4 q7 o M
fldr_desc[WSO_desc_size_c + 1],
% a- @& {# c+ H0 J *message;
4 v) y1 `! {3 A- j1 Q tag_t4 H7 a9 ^; t1 ~8 s# |9 m6 A
new_folder;: W4 `0 ^$ f; b* j
0 m; _, r9 b+ ~6 s( m9 _$ m: e ITK_initialize_text_services( 0 );4 l& C, D9 e( P' t# v
status = ITK_auto_login();
; J) E# }" g- @" k5 ] if(status!= ITK_ok)
% [# a1 D* h/ i+ c% J% K0 D {
% ^ `9 x& W" j) Z3 j report_error_stack();
: M; s4 o$ f. G+ @* U- W }
0 A' K8 i' m1 j8 z& x else
8 q% ?. v4 n3 ~: _" k6 j {0 D) V8 o/ o9 o% O0 Q3 T3 i
printf("iMAN login successful.\n");8 X/ _% Z8 @5 E! E. k
}
+ H0 r k7 d7 M+ B' V8 S8 K* g' j& H/ @. [. W2 R
ITK_set_journalling(TRUE);2 j4 [+ ^6 Q3 [0 `/ A$ k
# ?+ ?& r+ [! d
if (argc > 1) strcpy(folder_name, argv[1]);0 G$ k' [, L9 _
else
- x2 X C' ~. ]4 i$ d2 V3 P {
' l+ X& X2 P$ ?# _ printf(" Specify the Input in Following format : \n");
W: M+ R4 M g printf("program_name folder_name folder_description\n");7 l% P* U+ g* j% ^& \$ b
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");1 j! k# _" O3 e* c, G0 Z9 N* z0 ~
return ITK_ok; : v% B& Q \* n- ~
} % H% l) A. ]3 N) q$ b4 ]2 T
& T& y9 m2 g% R if (argc > 2) strcpy( fldr_desc, argv[2]);: i/ }, z" h5 y
else strcpy( fldr_desc,"");
: m( S, E7 n' D* K& r- d* ]# p
- `4 U* v1 \+ p6 ^* k status = FL_create( folder_name, fldr_desc, &new_folder);
& A( p' {3 v0 s" ^$ F4 c if(status!= ITK_ok) report_error_stack(); 8 ~9 m" I. g1 z! ?, t2 v M& f
+ z4 p5 x. J1 D2 ~ status = AOM_save(new_folder);
& J3 W( `6 \2 P6 T if(status!= ITK_ok) report_error_stack();
3 o! f. m0 _; \ else printf("Folder '%s' Saved; ", folder_name);0 y' U% @1 l* A8 Q: B
, \) ?1 R8 |# K/ L b5 ? o
status = AOM_unlock(new_folder);
1 D ]$ ~4 L* w- ~ if(status!= ITK_ok) report_error_stack();# d" N/ f3 F- I- A0 T! J" I
else printf("Unlocked; ");9 F: O, D; R2 k
4 T7 o$ M8 j: P/ j( i6 J
status = FL_user_update_newstuff_folder(new_folder);
+ a2 f# Z: I3 x- q5 C if(status!= ITK_ok) report_error_stack();
) K; m% z) z3 n else printf("Put in Newstuff Folder.\n");1 V/ Z& |# g1 V0 j: E) }7 g, j
# | L( l+ C6 k% F( F/ r
ITK_exit_module(TRUE);! j: |2 k$ G. \+ e7 x
return status;
2 b& ? _, T( E7 N: ^* z" X; Y, q}& i7 R3 G: P5 w8 _% q. B" B! l
|
|