|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
]- q2 T0 G* c" ~' a& f! m6 ]( k& x& w# A& M: u! [
Teamcenter ITK二次开发源码分享:创建自定义文件夹; ]/ q: S% z& W
输入的第一个参数是文件夹名称,第二个是文件夹描述。' @" E% O3 \* s4 r* D
7 k* x! S$ ?* |( h5 m
& A3 C0 k8 G9 G# R p/ W; ~; c( a
#include <TC/tc.h>" c ]' ]/ ^/ K6 r9 O- B- A
#include <tccore/aom.h> Y) r3 g/ o1 m, i2 `7 k' i5 }
#include <tc/folder.h>5 j) \! Y% Q3 Q% p: H& j
#include <tccore/workspaceobject.h>
" ~6 ?4 J) J; o. \3 ^+ @
9 y' `+ n" a8 E; b#define EXIT_FAILURE 1" Z3 j* R1 q( K6 I0 A
+ _8 M+ Z9 }# l, V8 Qstatic void report_error_stack( void )
) E$ k+ y, _0 R5 L5 \# q/ } {
' Q3 v0 H+ C' w B int
; k( A0 `* Z% Q1 ^) G( k, U n_errors = 0,
8 `1 |# o5 x0 M( t' u3 O; L) r i = 0;' P6 X; p9 T. g+ J/ Q
const int( x. Q- I" w9 k2 j" ]4 J
*severities = NULL,' B" a' J% r2 }1 Z1 B# V
*statuses = NULL;
9 w9 I# l. ~3 H3 Q' G( z4 g+ D const char
0 u) x, F" w; Q G/ D7 C **messages;( ] M$ q) w* u p1 j6 U
, y; X8 u/ n& @2 z7 Z) ]3 j EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
1 j! q4 o y+ F3 w8 x _ printf( "Error(s): \n");
: B; x! ~ C- g! b: q3 |, k4 C$ } X for (i = 0; i < n_errors; i++) ! L9 j5 U6 l; n. ?1 b
{- ?; h4 U7 y# C+ w+ ~
printf( " %6d: %s\n", statuses, messages );
" B6 n% n0 ? H' d( a! N4 L# x }8 h' \$ C9 q }1 H ?+ T! y- O8 q
exit(EXIT_FAILURE);% Y/ W7 w. o+ n5 ` B
}
/ I2 Q( C* H6 ?! G# R% h
3 D) V. u6 k$ L% u# N& w9 g" }int ITK_user_main(int argc, char* argv[])/ v4 x. \+ E3 T3 L
{
8 Z- S+ W: f3 w& u0 H( S$ z+ h6 }4 m- [ int
9 F; b# m3 o" P status;6 ` u2 j0 { {' G" T5 u
char7 x ^# Y+ g& E+ L, `7 E
folder_name[WSO_name_size_c+1],
; i2 C1 ]) }( W* ~0 Q8 T6 ? fldr_desc[WSO_desc_size_c + 1],5 f/ @8 Z q( d8 _' O. ]$ G
*message;
5 T3 O. e) ~, ^7 u tag_t* s# }4 _) T" B9 U1 S6 W
new_folder;0 o9 z: G2 m% C# I
) U6 f( [, Y7 a/ Y. C- g3 x9 U1 _3 l ITK_initialize_text_services( 0 );5 X; }* Z7 N% S9 H
status = ITK_auto_login();
0 o. J8 z1 \' ?8 O* T if(status!= ITK_ok)7 V3 F0 v/ D: L+ S3 k; P* [
{
% H8 `. n! F2 E4 x6 o6 c report_error_stack();
; P( S0 o2 M+ _) v5 A9 s }
2 K2 z7 q. h, p0 L! m+ K/ a else
' `7 p `4 ?8 l/ O. Q# w; F0 y% I, e {
! i& N! V: A8 a6 l. g printf("iMAN login successful.\n");
; _: V/ N+ D* ?; x }' J& t; a; \) G6 q- Q
( y/ c4 q9 _& I2 x
ITK_set_journalling(TRUE);+ O& A1 n( O4 D1 N+ O5 j" ~& x
6 F6 r1 Q0 `$ o7 [6 { if (argc > 1) strcpy(folder_name, argv[1]);
7 w# N' f* F6 {/ p6 N" Q else7 N! i5 V% A9 ^% S* l" d
{, ]6 Y' v- }; w8 q6 b
printf(" Specify the Input in Following format : \n");6 K1 Z5 h4 ?# ^
printf("program_name folder_name folder_description\n");5 w" Y3 B3 y9 j
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
F0 Q: L& g9 {( s# b return ITK_ok; # ~6 L( H0 X4 ]- z8 P/ B
}
7 \' E* ]' w. O g
3 b0 B6 i0 G! j, H/ c, l- g- x1 L if (argc > 2) strcpy( fldr_desc, argv[2]);$ o$ N! s+ Z" \) f3 h3 f
else strcpy( fldr_desc,"");
. v- E2 E# d( |; }' Z% A. J" Y5 }2 c! S! K
status = FL_create( folder_name, fldr_desc, &new_folder);
1 e0 z. F/ { Q B if(status!= ITK_ok) report_error_stack(); + d. g9 s' l% z# l4 e$ Z- _
1 g* Y! \1 a# J
status = AOM_save(new_folder);% T: |4 g) i7 }& y- C
if(status!= ITK_ok) report_error_stack();# B9 k. o( C* r
else printf("Folder '%s' Saved; ", folder_name);) J$ R2 I8 H5 N# Y; ~2 ?
5 I7 `' {9 t0 h) c
status = AOM_unlock(new_folder);5 \+ L v B2 c/ |: ^3 T B
if(status!= ITK_ok) report_error_stack();
- N: g3 D2 _/ m( I1 B else printf("Unlocked; ");
3 o* T0 C" w9 b) k* O
3 }8 J9 s. u8 f status = FL_user_update_newstuff_folder(new_folder);
) _2 h) k' ?& b2 d: Z4 x& m5 k8 t if(status!= ITK_ok) report_error_stack();
& X; G4 N; C' N! K7 e9 J else printf("Put in Newstuff Folder.\n");
/ x) J4 |4 k" j7 M+ v# Q
( _$ ~7 L7 i9 e7 k" Q7 l4 [ ITK_exit_module(TRUE);
0 X5 x! y( T$ T5 R% \* | return status;
3 P. d, d! {! S1 I}. Q; A: [2 @ [
|
|