|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
. \9 @0 C. @3 f. K0 G1 z! L( U7 M: q0 P) r6 \
Teamcenter ITK二次开发源码分享:创建自定义文件夹 g6 n( y/ W/ h8 j& h8 L: g
输入的第一个参数是文件夹名称,第二个是文件夹描述。4 R& J. r5 W/ Q( |+ k# N+ c
* r h( ]) e3 h X# X- x; X, n
. A# l% c7 f L0 R/ D! @' R#include <TC/tc.h>: r3 s6 Q6 p% }" \; l
#include <tccore/aom.h>
, h* M5 o8 `- |5 f( z/ `# P#include <tc/folder.h>
1 J$ q6 h) J) H! k6 h#include <tccore/workspaceobject.h>
9 y; K3 z7 Y, i3 W4 B j
, V% N, l' F) F8 l" ^0 |& Q; F#define EXIT_FAILURE 1# d" g3 @$ G2 _9 y% @
- z" V E) j" b0 p/ Z7 {1 \
static void report_error_stack( void )
" I; T- C) w+ X( t {
7 \2 V9 }; _ h/ a5 E5 u int
+ R+ c0 k0 k5 k) v; P n_errors = 0,
6 _( m5 T( i6 @8 s( \/ P8 _ i = 0;
7 m$ k% l9 i% [3 Q9 D1 U: {3 U" F const int3 `# y5 _6 ?; G6 S
*severities = NULL,! ?; Q" E3 [; J0 H6 S/ |/ _- C0 ^% `
*statuses = NULL;+ Q" K( {: ^1 L5 C9 R
const char
7 W7 o: y! ]) W **messages;+ f4 A3 \0 {; r. h5 Z3 k2 }
+ m% g; H' l& H& t3 u EMH_ask_errors( &n_errors, &severities, &statuses, &messages );: l0 C, J, @) E# {
printf( "Error(s): \n");4 ?* V8 K v# i& ^0 w$ p' i7 V
for (i = 0; i < n_errors; i++) + r, B0 l' A7 {+ C# }6 }) x+ v
{. y0 v" h4 ~: G8 u2 N* L
printf( " %6d: %s\n", statuses, messages );9 y t' w( _( y. N0 w. E
}
2 I& H x3 B }% U' y exit(EXIT_FAILURE);
. r% h( _# a& B, d }# @9 K/ S/ m6 S( Y4 Q5 n$ s
0 h4 v9 a" Z0 J
int ITK_user_main(int argc, char* argv[])
, ?7 k) l: w5 T/ l{% w; @! l) H" h6 J! X" ~
int
( N: `: [# P |8 s! {: _ status;
- y$ V( O. W( Z6 l- { char
2 ~ z$ J5 U( l- f; j folder_name[WSO_name_size_c+1],$ e/ e M. j- L+ [, j
fldr_desc[WSO_desc_size_c + 1],3 U4 e! k2 y0 `4 ^
*message;3 O! W) \7 t2 t0 g0 i0 }9 [$ s
tag_t
2 z- ]$ w4 N& ]8 [+ | new_folder;
) m4 }7 s$ R* s; q x3 n, R( [3 z2 _" ~% w' u! C
ITK_initialize_text_services( 0 );1 R/ z/ [; N* b6 B- Z7 c
status = ITK_auto_login();
8 x1 A1 O' G3 H1 Z/ l" d3 w if(status!= ITK_ok)& V5 L* K9 E; L
{6 @5 \: h0 B1 C$ r+ G
report_error_stack();
3 @ Q9 \( X* F5 u. s; } }5 K; H1 O- d6 V9 X2 E
else! F4 ]- Q% i+ ]1 t4 C
{
: { Z( G0 E# S5 F# [ printf("iMAN login successful.\n");) A! x& D+ b( G& M
}
8 R; k# J) G8 ]3 f, I2 p6 j7 B% f& h5 Z2 M0 E: x# H! D
ITK_set_journalling(TRUE);
8 S, |4 K4 O& S' l9 ~1 t
3 A7 Y; C/ ]% j. D: C# l5 B0 a# D2 p if (argc > 1) strcpy(folder_name, argv[1]);6 O& f0 C' u8 a% p1 k4 K G
else N! e N& Y6 d1 g% K
{
1 `5 I" L' _# S2 `) z printf(" Specify the Input in Following format : \n");
, @1 `% Q: V7 [8 O) j" w printf("program_name folder_name folder_description\n");
# R4 K2 L) o0 _# O printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");' z/ S- P8 r* k) m; O
return ITK_ok;
0 J8 G' `* C, _% ^' s3 D }
L8 d% S4 B" ?8 w8 c' `+ _: |; y: v: c
if (argc > 2) strcpy( fldr_desc, argv[2]);' |( q' Y% M( J* d2 u
else strcpy( fldr_desc,"");* X4 d7 S& O, A; T
: |! s& b8 v9 J7 C
status = FL_create( folder_name, fldr_desc, &new_folder);
: ]7 C+ f5 }: t* F7 y if(status!= ITK_ok) report_error_stack();
; F8 i9 e; H( o; a
w9 m7 f, { m. R3 G: f status = AOM_save(new_folder);
1 K* L4 C. ?, b4 S1 R! {4 I/ h if(status!= ITK_ok) report_error_stack();
/ m: H; g! v0 n+ \6 [- M8 W else printf("Folder '%s' Saved; ", folder_name);. F Q b9 h. C: y( @0 ]/ W6 b) ]
$ ?. @4 ?) K( ^) n* {" d status = AOM_unlock(new_folder);9 o5 A' M% Q) y" j' L
if(status!= ITK_ok) report_error_stack();( B: j2 r: | \- q$ y {# f
else printf("Unlocked; ");
+ y7 @0 j8 u' ? {- a6 m' `. v1 z$ r8 \
status = FL_user_update_newstuff_folder(new_folder);; v5 y: p. t9 a, o( U/ H' K
if(status!= ITK_ok) report_error_stack();
( }% s1 l8 | K% U/ l5 t5 Q else printf("Put in Newstuff Folder.\n");
% V* t9 _: }# ?0 d9 ^5 A
- Z6 R1 ^5 L* W) u, V ITK_exit_module(TRUE);, `+ }8 w$ o) ]2 \' R2 N. j. `
return status;, f( a7 p$ R/ s/ Z* @
}
V4 v* {% D- S6 j, N& a& q0 q+ _ |
|