|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/ x/ N/ S7 S0 G( H' d
2 P; s4 o8 P9 A: M. n" V* uTeamcenter ITK二次开发源码分享:创建自定义文件夹
# x* [! o4 h% M输入的第一个参数是文件夹名称,第二个是文件夹描述。
- o9 @8 I. e) x9 V1 R I
# Z/ t* p8 X" t$ b7 ~1 f _/ O& R6 }2 |5 W
#include <TC/tc.h>
0 ~* d1 J/ W+ U! o( m#include <tccore/aom.h>; u9 j) ^: X$ V* w/ ^1 e$ _% M3 v
#include <tc/folder.h>
* {' R0 @8 M, o! r4 {2 u! V, G, {$ C#include <tccore/workspaceobject.h>! d5 h5 \& X2 I
% e# J1 @/ L6 }6 F4 W. P#define EXIT_FAILURE 1
4 k. G; H. o Z$ M
) r6 A3 T' ]4 p, ~5 o# d: V, J( Qstatic void report_error_stack( void )
$ F( h- ?" W8 A' X {& r' e" \5 @; I
int) [1 k% G1 Q" {" h. o0 t9 y& E
n_errors = 0,
! A+ h+ t4 H9 k3 U+ W( O* j i = 0;/ e% p% s6 I# g9 d' _
const int5 ~5 h2 ?1 w* }7 H3 n. I7 B
*severities = NULL,
7 H: X0 h. J# v1 u. k2 p# y. Q *statuses = NULL;
# y& @7 H8 [, W1 ^% O- I const char
3 D) t; k6 x0 N! ^. y: F **messages;
. V% n7 \- w7 Q0 p4 W' a% k( e6 K- ?' q5 I) m
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );; n" g/ M4 p# j. R7 Z% k
printf( "Error(s): \n");) M( m5 z2 D2 V! Z! y8 z- n
for (i = 0; i < n_errors; i++) 9 D+ c1 F' }- A# D/ B S
{. v( }0 V3 a/ ?$ z1 p* K/ o
printf( " %6d: %s\n", statuses, messages );
" C2 }& e9 _- g8 k3 G- y+ s }
' u0 o7 R3 t) U8 i/ r! y, F( t exit(EXIT_FAILURE);
) V9 q2 k" b( F% ~! { }
& E1 z. ?; o- ]5 z& ]6 H
; _: y+ m+ i& f, z+ dint ITK_user_main(int argc, char* argv[])
4 X' i9 t3 _# ]: m1 y6 _8 | u{* r2 j8 P1 Q' i V
int1 U! O5 B. ^ q/ v+ x2 R& x/ X) S
status;
# d6 l2 H. m3 q2 h$ [6 A char
" b# M& J5 P# k. | folder_name[WSO_name_size_c+1],
]" ?& U4 y: d0 ~! U: v# U" k fldr_desc[WSO_desc_size_c + 1],
0 _+ B0 M& S1 J3 f# \: M4 o *message;2 ^4 A. ? X$ u( ^8 m
tag_t
6 b) F2 X" ]7 U o; w new_folder;
( @# F0 s: p0 L- _ q
0 g6 I9 V. c( d2 _: d8 ~+ l7 \ ITK_initialize_text_services( 0 );
6 U* r0 o/ Q9 R status = ITK_auto_login();
]! v, j3 M; s5 @" q% v# Y! n* Q if(status!= ITK_ok)
+ h5 P7 c3 N5 ` {
: \ B. t1 M. U. S1 V; M5 h4 J1 P report_error_stack();+ e2 T$ H% W- |) A* @
}; T: j/ G# W Z+ Q. @! D& W
else
8 G- u, \8 z5 Y {
: l' f2 H8 M1 v3 k h, P printf("iMAN login successful.\n");9 H* M9 b) F( f: k, N( P
}+ h5 {0 P; P% B2 `+ Z: `- A
" H& U$ d- R! n! E# E
ITK_set_journalling(TRUE);& F4 m. X& m9 S2 \+ C3 [
. o. F4 l- k; a4 l( U0 R if (argc > 1) strcpy(folder_name, argv[1]);
+ X- K/ ]6 W' N4 H9 G% v else
7 T2 I. Y3 O+ f. K4 D/ K6 K2 G2 @) S {
5 y/ ~& O; H# A8 Z4 ] printf(" Specify the Input in Following format : \n");
; U2 J' W+ Y- d1 N5 W; ~3 D1 J- M printf("program_name folder_name folder_description\n");5 p+ @* G9 s# {+ F( Q
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");3 I% ]' e Q! B, f, W
return ITK_ok; . G, h7 M& e1 E% L; i" v5 I
}
9 E2 w W* w5 I; O7 p' [3 k+ c8 }# B' N8 F8 v% M
if (argc > 2) strcpy( fldr_desc, argv[2]);' @ M5 f9 S; T
else strcpy( fldr_desc,"");# L/ R/ o9 v$ M) B
8 W' ^6 k8 ?0 m; J9 d status = FL_create( folder_name, fldr_desc, &new_folder);( u+ l& K/ _7 L* I
if(status!= ITK_ok) report_error_stack();
+ D: _4 a& Y' q/ j$ V" b" o- s3 k6 C" I% E H2 k% _
status = AOM_save(new_folder);0 R: L# w+ g* u( u. x
if(status!= ITK_ok) report_error_stack();
" Z8 {- u1 R! D& F: h( f, z. }, g else printf("Folder '%s' Saved; ", folder_name);% d0 H& z+ D9 y9 ?) H5 ^
: z! \0 k5 b) {7 O# ]
status = AOM_unlock(new_folder);
6 e7 r2 x2 |" i% I) I4 k% j if(status!= ITK_ok) report_error_stack();& r5 q- V' t( S4 Y* B+ O
else printf("Unlocked; ");
. @1 X$ q8 E8 N. W! Q' @# H6 t" |) E& X5 m: u+ R
status = FL_user_update_newstuff_folder(new_folder);$ a5 a5 I) r$ U
if(status!= ITK_ok) report_error_stack();
) T8 e3 `* k2 K else printf("Put in Newstuff Folder.\n");. A$ B6 W( k7 K j3 g- |& d& e
; N" U& \1 C+ r; A1 [- _ ITK_exit_module(TRUE);
h9 J5 A; d z- F3 G6 \: z return status;$ n0 ?. j, b2 _) q9 f! z3 u
}
: z: r, s( Y1 U0 } O! ^; ? |
|