|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 f# l) l4 J. g# l2 c0 n5 N W
/ b' j) ?) B' J0 q
Teamcenter ITK二次开发源码分享:创建自定义文件夹& |2 T( \3 _/ }) s9 N; @2 E% I9 F
输入的第一个参数是文件夹名称,第二个是文件夹描述。$ i- l0 P8 v6 P' ^6 x+ G
: ~' o0 H* H: ?0 G$ ]
2 P5 A; T) `3 {( ~5 y! n$ B+ l#include <TC/tc.h>
; W4 N N0 b7 W' G0 B: K#include <tccore/aom.h>
4 ?+ y! A* l9 P4 z5 ~4 L t* h#include <tc/folder.h>2 B3 C- n' i- @* k- d5 v
#include <tccore/workspaceobject.h>
6 H3 ^" V5 |- x4 l4 _) G$ G" j5 @0 [% w2 b* ^$ @
#define EXIT_FAILURE 1
- L/ K" Q- d1 n: y- V6 l7 y8 O" M% `' q* E! m {
static void report_error_stack( void )9 Z7 S6 ]" V0 W3 }2 ~
{
8 m) M9 \: \" U+ c" q' E int. \2 B9 y4 W0 k
n_errors = 0,2 e+ W( A3 k, f9 D
i = 0;
" K7 [7 [1 ~# E" @' q | const int. U& p) ^% e. G/ y
*severities = NULL,
% D$ c- d. z/ U7 ^8 Q0 i' X. m *statuses = NULL;
) j$ H4 j; }! [' [. [3 } const char
- Z6 y( ]# o& ]8 l5 @ }% k; f **messages;% l2 w' ^2 S1 h \) S' f
3 b- W v- f2 @; T
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );. i" Z5 v9 K. N* Z; m: m1 t. K) c8 y8 X
printf( "Error(s): \n");
3 g! C& |/ L$ ~( u4 { for (i = 0; i < n_errors; i++) 9 s: Z" o1 i. T: y* _% l8 q% Q
{
% g3 m2 v6 F, U. |8 D+ M; A1 N printf( " %6d: %s\n", statuses, messages );
6 M' I' H2 {0 W& k% g }
, L6 Z$ E: u& E% Y exit(EXIT_FAILURE);: m" V# _ H) E7 H5 {
}
' M4 v. p6 w5 ^$ i' X& A2 r" F3 C9 t% Q0 H$ D
int ITK_user_main(int argc, char* argv[])' ^5 a1 p2 U, n# o, F0 {
{" U& V1 A1 {/ O* Q' {
int
0 Z' V0 ]' C( ]1 Y* c+ q status;4 u, D" ~; ]( W
char2 G0 }7 B8 O. F/ d7 L
folder_name[WSO_name_size_c+1],6 W2 n2 S$ i6 I3 u
fldr_desc[WSO_desc_size_c + 1],# o8 U) C1 w1 o2 U9 |3 Q
*message;. S* L; w# X Z6 e1 N
tag_t0 C/ t; ]. q% [) O; S2 F3 N1 C
new_folder;- M. }( H7 D2 x: ], |3 {$ m9 O
9 s( u; \7 x5 l& Q
ITK_initialize_text_services( 0 );
- A: A, U$ v; v8 O status = ITK_auto_login();, E8 a5 v. ~; B: q6 q" S
if(status!= ITK_ok)
/ O* T6 k* l8 a6 U6 T' Z7 b5 D {" l/ ?7 U& Q' g- @4 t. }3 Z) k
report_error_stack();7 Y0 e7 O6 W* e; X& S2 F2 G8 H
}: ?, h& x6 u% Y) r5 _" k
else
' ^4 p- E. A; K7 F {/ `- @7 C% [ s- p. K- |6 s. H; d
printf("iMAN login successful.\n");
5 ` f$ H9 n4 w, o0 ~ }
7 V7 y* T5 e4 e8 [( L
, q: L$ O. W) @; I+ e- n f' w+ J ITK_set_journalling(TRUE);
& ~+ j( V1 n4 q4 J7 q5 E- w ^) T1 s2 y' \
if (argc > 1) strcpy(folder_name, argv[1]);
% h' }/ ?# V/ T% W, m) S. C else
; x/ y6 q) m9 e: y0 v& @6 v9 V {
8 m1 _: p4 S4 x6 B! f9 T% J1 d printf(" Specify the Input in Following format : \n");
- d- y( l4 _* [ printf("program_name folder_name folder_description\n");
: E9 O* M, a3 O printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");, m. s( r- h* a/ p' G X9 @/ Z% t
return ITK_ok; # K- D' ^* [/ k8 q: ~# ?; {8 ^
} ; W+ y. M) I5 `, k( P" Z9 o
' [- C& K) }: g6 ? if (argc > 2) strcpy( fldr_desc, argv[2]);4 W/ b. V- f5 J, Q6 ]% T; H
else strcpy( fldr_desc,"");
3 o: O5 Q& K( f- R; i# ^0 b0 d+ l1 k0 [$ P
status = FL_create( folder_name, fldr_desc, &new_folder);
: ]# O C' ?, Z$ e7 `' N |' z if(status!= ITK_ok) report_error_stack();
) L% e5 f6 }5 O6 k( ?
, M7 e4 J ?( I0 i3 b status = AOM_save(new_folder);
7 g) B! h0 o2 l& Q, E, | if(status!= ITK_ok) report_error_stack();# u% k/ w- S7 ]* K. j \( Y( C
else printf("Folder '%s' Saved; ", folder_name);5 U5 f4 T2 S* r. s) s# N
7 X* ]( e" l; V& t+ v1 p" z status = AOM_unlock(new_folder);
- n. o! E. @# n& M( p/ p7 ^7 }1 }( b if(status!= ITK_ok) report_error_stack();; a: x+ B; f9 ^9 p: V0 H3 i
else printf("Unlocked; ");
1 ^6 C) g6 l, z1 V8 d# M2 C0 C; g0 R
status = FL_user_update_newstuff_folder(new_folder);
6 \8 r: H7 _! v1 B if(status!= ITK_ok) report_error_stack();* ]+ _4 m* s; u% U; ^" ^! A) t" J
else printf("Put in Newstuff Folder.\n");9 W9 N. U }; Q. y1 {
% J' t/ Q# V3 S: O7 g ITK_exit_module(TRUE);' T% v, B5 }/ @% K. D! ?* w4 I
return status;& B" R' |7 @: w9 _4 q0 t" y& @: x
}+ p1 ^/ E3 K' B" M. S8 y Z
|
|