|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
. @' m, W1 @/ S! c* R$ M* C
1 i# p* D# p6 t9 H4 y5 A" r, B
Teamcenter ITK二次开发源码分享:创建自定义文件夹
( K# Q% u+ D3 O# P输入的第一个参数是文件夹名称,第二个是文件夹描述。
' t. Z- {3 P# F) G4 G
7 m0 p: g, B! v5 V, o7 C+ K( }; R* y; p9 t/ l# ]/ h) f
#include <TC/tc.h> T' S0 F( v$ j) |/ f
#include <tccore/aom.h>, ]( S* l! M% ?3 P0 X. f
#include <tc/folder.h>/ I+ v; r; f9 I/ U" i7 T' V
#include <tccore/workspaceobject.h>
/ I! |2 U4 Z& ?( g [, | G
/ [$ v# T* C: x. k/ P2 ^#define EXIT_FAILURE 1
5 `% z J: c: C: J( v* c: h+ a: ^; r/ k( Y1 ^8 v
static void report_error_stack( void )
8 \ K! G- h" f. i+ ]" |3 g {
6 h5 E, z, v/ o int
" q' s) x: ^! }& p/ z1 ^* u n_errors = 0,
; O, {4 {# E+ l5 m5 T" x: i1 i# g i = 0;
6 r- q2 k2 q, T" s# L/ ? const int
% j; M2 _0 L' f4 b; G: `1 P6 H+ c7 w *severities = NULL,8 @9 ^- @4 ]; b( S& s; J
*statuses = NULL;5 A- \& m7 A4 r3 ?$ |
const char
1 o+ ~! ?. w4 E; M **messages;
8 e& {* Q! ?2 q6 d8 P. H! w3 x3 I) E9 J' [; i
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
0 r. A+ x: L ~0 p' w printf( "Error(s): \n");
' B8 r, ]5 |! C3 x! _& r for (i = 0; i < n_errors; i++)
% G+ M7 i$ V% A/ _% r: f0 e {
- \5 _0 }4 _- ?1 e printf( " %6d: %s\n", statuses, messages );& C% p2 I6 c! p/ m7 O/ W
}0 O. e2 k! p$ Z! z: u$ d
exit(EXIT_FAILURE);
q) V) d5 I ? }
' B" T9 O% o* U" @' {0 L9 a* i# j9 ]9 z) e* d
int ITK_user_main(int argc, char* argv[])
5 c! Y. o) E2 l- a) t# E$ ~( O{ l" d% l/ M% r' G) v
int
' f8 q. S' l% L. s7 A- G" f3 v; K, H status;! @( i3 \1 _. m# W
char
* ?3 t2 v' ?7 p8 I folder_name[WSO_name_size_c+1],- B- e1 I+ M- m4 _6 Z2 ?/ b
fldr_desc[WSO_desc_size_c + 1],- o, X8 T, L: n9 r
*message;# K9 M1 Z% I* M4 b: {8 X) ]( v
tag_t
i% `4 q3 f* M8 k/ \ new_folder;
$ i) L0 B! Y2 u- e# B) b+ r1 \9 [' y' U
ITK_initialize_text_services( 0 );
0 q( P& R% h- ^7 D9 V8 p status = ITK_auto_login();
/ y4 c; k! T6 \. F if(status!= ITK_ok); X; [- x, y/ l7 F. g
{
6 v8 ?1 j! W, R( F# z: @7 w report_error_stack();. |' {- w0 O% l2 I! e' C1 b
}3 D. w* v9 L3 V8 F2 _' r8 z( T
else
' F$ ^/ v2 N2 n5 l {
3 l! [9 v* Y) Z0 t2 s printf("iMAN login successful.\n");' N0 p/ Q& q5 v% _( t. @: b' [
}
" A1 I( f6 l3 o0 X8 j+ m
( `1 R2 k. n3 A% F8 Q' v4 \- T5 a# m ITK_set_journalling(TRUE); _- f( T# v4 S2 Y0 ~9 Z
- `9 L9 V7 G4 I if (argc > 1) strcpy(folder_name, argv[1]);
y7 L/ @2 O9 U) I4 e+ q else8 g0 j) f6 h7 }( G5 ]# }1 ?
{
4 ~: j3 w. i) r' ^) |4 Q6 a2 X printf(" Specify the Input in Following format : \n");
. c$ X q: q$ j+ x+ U printf("program_name folder_name folder_description\n");
9 j( R: B9 h! {5 ] printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");) Y0 T5 H5 a+ ~6 X* A, F4 ^& `
return ITK_ok; z# d. P1 X1 Z& C8 k& ^3 X& Z
}
! c2 Q3 K& X1 L! x
9 b0 M/ f. V' P( U: u0 f if (argc > 2) strcpy( fldr_desc, argv[2]);
- S: l2 p# |. i) o else strcpy( fldr_desc,"");
; v5 I3 C X x- n
+ Z( O! g& g: ?+ C+ c status = FL_create( folder_name, fldr_desc, &new_folder);8 l8 c: X+ w' z6 L; i2 ?
if(status!= ITK_ok) report_error_stack();
5 w W1 F' Y u$ N
6 w/ i6 u2 g2 N1 w status = AOM_save(new_folder);0 x; z3 ^, ?- f6 `+ g d |7 ^2 d
if(status!= ITK_ok) report_error_stack();4 T) L s& T J2 ~0 c
else printf("Folder '%s' Saved; ", folder_name);, R! S$ i, w6 t3 k# O
/ ?2 m0 }4 R( ` j/ ? status = AOM_unlock(new_folder);
* u9 e2 v! H; L e% @& Y) v) Z1 w if(status!= ITK_ok) report_error_stack();; H# V C. i' F4 W9 F" \
else printf("Unlocked; ");
* L8 s0 B9 P! x9 }% ]! D) k; s/ h
7 a( I; Z k% Q K( N$ E( R status = FL_user_update_newstuff_folder(new_folder);
V5 {* }5 B' d* i" h; n) N if(status!= ITK_ok) report_error_stack();
; [3 g" y! K, z& L$ J0 P else printf("Put in Newstuff Folder.\n");
K/ T0 B' T8 i" L+ d3 G
, S8 m+ M5 b' ~" Q ITK_exit_module(TRUE);
7 m8 p5 K" |8 {6 K: t1 Q return status;
; {: s& E3 g8 g}/ f0 \) y3 c! [
|
|