|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
& R. T* J0 ]& U
$ ]' ^* a S) R5 z
Teamcenter ITK二次开发源码分享:创建自定义文件夹1 I8 X1 L# f- l5 h9 l3 c2 h
输入的第一个参数是文件夹名称,第二个是文件夹描述。
- j) H) ?8 o0 D* _, J Z: T* E2 E! d' ]" ]' `7 v
* X `: v) _2 i0 u* T9 x: ]
#include <TC/tc.h>5 f5 Z/ ]9 G$ ?& s8 p# h8 ]+ L
#include <tccore/aom.h>
. `, ^+ G0 a! ~4 I#include <tc/folder.h>% b4 p% O1 G# c) A
#include <tccore/workspaceobject.h>: o6 y3 b4 w0 \1 P' D( g9 _, D
9 n; P; ^+ g2 Q! c0 U' E# B) I( g
#define EXIT_FAILURE 1
5 L+ e& @8 t! ]6 H
$ N7 A& ~8 y: A: H+ nstatic void report_error_stack( void )& H2 m9 j2 T* C# M e
{
9 P$ E1 u3 b u+ R) q int
6 b4 p; U/ C! b! Z1 B. H& [1 C n_errors = 0,
1 \* g/ |- y: p8 c* i1 x, ]" s i = 0;) h2 h* U% _: |9 L& B+ Q
const int
. R+ ]: E0 Z1 K( [4 \ *severities = NULL,
) |) Y8 V# `/ A( x l2 T *statuses = NULL;
# |8 G3 A: j3 P7 } const char9 [: {$ ` b) [
**messages;
- S( o- ?0 D' z. C* Z# v0 } \
2 F) ~: H+ @9 Q6 B1 h EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
5 X8 J+ [1 C4 t, A printf( "Error(s): \n");
' j6 F. _% C6 a- X for (i = 0; i < n_errors; i++)
, r$ O, T9 C" X# v* W {
8 R q9 j( M/ ?6 w( i4 Y printf( " %6d: %s\n", statuses, messages );0 Q z+ _& B6 C1 ~# A8 M( B5 K
}, F5 Z, }9 M2 h5 ?0 Y+ c; F
exit(EXIT_FAILURE);; j# Z4 X: F: `2 \; Q9 s" T: w! ]# u
}
" w0 ^+ Y/ v4 X D
" e7 b" z0 ?7 P. Gint ITK_user_main(int argc, char* argv[])' }! Z+ a9 O% p
{
4 { I: D/ `! L" q int
9 t a1 `7 m, ?( {1 s status; J8 H9 e& P6 j7 k
char! `* ?5 X$ L2 Z; b U
folder_name[WSO_name_size_c+1],
: ?$ H! m1 d5 O1 J- y* h" ` fldr_desc[WSO_desc_size_c + 1],2 g6 q) V. b( W/ j/ ^. b
*message;
/ D2 O8 E9 |, [/ i% ^: Y tag_t) _. v6 W, j8 z" n
new_folder;
' t! c9 q4 z9 _0 Z
1 Z; R; o& D0 l8 Q ITK_initialize_text_services( 0 );2 p Y6 t2 S3 `! w
status = ITK_auto_login();
, [. F- _. [- u& D& a7 o8 v7 N0 C3 w if(status!= ITK_ok)
" ^* b5 N' e8 X3 `! p( Q" V0 W {
* p3 ]: O+ d, A& G4 S5 G5 I5 N% d report_error_stack();
! M; d- J* h0 d$ ^ }/ z2 K* w" Z$ m4 f- y* x- u i
else- n! i7 k- c% z# I1 ~* _9 r
{
5 p" h1 e/ A7 b* B; ` printf("iMAN login successful.\n");! N2 t7 t U4 ~7 |
}) Q* L% f! d& q) n
" I8 K; o; J& x. K' g
ITK_set_journalling(TRUE);
/ @0 y+ y2 J. e- S1 H j: r! Z s: ]
if (argc > 1) strcpy(folder_name, argv[1]);
: t1 _3 d1 M+ \4 l else+ b4 _5 J' }1 A
{
/ v; L4 y" m2 d" ]$ H& M/ n printf(" Specify the Input in Following format : \n");
$ h c' O3 z4 O& h4 O. o3 \ printf("program_name folder_name folder_description\n");
( h4 _2 }7 ~0 R7 ]+ o7 r printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
; j$ T3 R4 C. w$ b3 U% W return ITK_ok; - ]" O/ y* h7 ~9 J _0 \
} " L* |# D- X7 @+ D; f
9 M3 ?, v+ B! E3 m" o
if (argc > 2) strcpy( fldr_desc, argv[2]);
, j* {; c1 R# l: |3 T b& b else strcpy( fldr_desc,"");4 s" S( F8 {( S
! f. m6 X4 F5 `' l6 T$ s status = FL_create( folder_name, fldr_desc, &new_folder);
0 X; E/ ~3 o7 e- B4 y& H2 q if(status!= ITK_ok) report_error_stack();
2 w9 M7 \. S5 s7 y8 v# y) R
' K' ]* ^6 h+ J6 ?+ d8 x status = AOM_save(new_folder);
) V# i/ |2 E0 d# K9 t; N if(status!= ITK_ok) report_error_stack();
5 l B4 o; p, V+ M+ _0 B$ d else printf("Folder '%s' Saved; ", folder_name);
( X+ j% x% \5 q' L
, `2 r- e( y8 Z8 B" H2 i status = AOM_unlock(new_folder);9 e; E N0 l- U8 e, h
if(status!= ITK_ok) report_error_stack();6 _6 Z* C! U" v
else printf("Unlocked; ");7 b6 \" A& M# N6 V& d
' l9 Y, W4 {) P. r: a status = FL_user_update_newstuff_folder(new_folder);
, L3 W; z+ w8 Z E1 H if(status!= ITK_ok) report_error_stack();
, s2 [0 A* O- f4 ] V else printf("Put in Newstuff Folder.\n");
* ?4 t; u8 l; U# [5 M N0 y) h. j; M. k! S' A4 Z* d! a4 Z
ITK_exit_module(TRUE);
7 h! h. p. w$ G [1 O3 q/ N% U/ P return status;
W9 [6 \+ K' t- `3 n' E7 j" t}$ L1 p/ e% D! j
|
|