|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
0 D! E6 G2 r3 }4 Y% m
9 ` ~) e0 l/ [! k
Teamcenter ITK二次开发源码分享:创建自定义文件夹 }2 o& ?$ i0 }/ z& ]
输入的第一个参数是文件夹名称,第二个是文件夹描述。- N- w; X O+ H. U* j7 p
& ^# K, d% V! D# m
3 v& |4 c9 H3 J( M; Q* F% [#include <TC/tc.h>" H5 t" o. X$ P8 z2 V6 k
#include <tccore/aom.h>8 c7 `* I- J' K0 c7 l% b3 y
#include <tc/folder.h> {* o# w4 h9 m+ t2 F0 J( S; f6 q
#include <tccore/workspaceobject.h>
6 L; E [& [! d* e* S
9 M! ?0 J0 O- B- p) U5 u1 @) x! s2 F#define EXIT_FAILURE 1
; T7 S2 C* u% z* p7 g2 Q7 R: G* M# f' {, R! N
static void report_error_stack( void )0 K5 e1 Q/ }: f9 _$ U( ?! v
{+ Y! I1 `7 |8 r9 X) M' |
int/ c$ j0 \# r, D( m( g
n_errors = 0,1 U8 ^3 z1 y* o% k' h
i = 0;
" o1 {5 k" Q' E& M; B2 @, p const int1 I# U" [; r' Q% g X9 T9 h' ^
*severities = NULL,6 z! V [6 ]% X/ ]( [0 L
*statuses = NULL;
% d! ^0 x9 U( ?: G- q; k$ f const char. Q1 _7 m3 s7 x( K* [
**messages;
8 z. s) C: q# G* h5 C9 H a% _( s+ u, N
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
( l1 O0 @" H- t4 Y printf( "Error(s): \n");
' \0 r5 h9 |1 ?. q+ Z8 T G) O7 ^; l0 ? for (i = 0; i < n_errors; i++)
3 R6 u6 m" c4 l& d4 u% g5 L% g {
( K, e9 o3 u) y, g& J. |0 M printf( " %6d: %s\n", statuses, messages );
6 d J4 y( h; }/ x }
( W [/ O( F7 d; @3 f& X exit(EXIT_FAILURE);
9 O# o/ D+ w) B9 [# ?4 Q1 ^ }3 c1 h9 L, S: t% M- U3 a& S5 b2 |
$ f" r) W6 k/ E/ ^. h
int ITK_user_main(int argc, char* argv[]). y( _' U0 Q) i0 V
{
" \4 O# s% j3 h( K% ]9 { int
; N9 ~* ]9 ?5 U1 z. P3 R& m status;& w: Y2 J+ i% j, I# |1 x6 D
char9 Q$ S* @1 h/ O1 s4 }
folder_name[WSO_name_size_c+1],& Y( l+ y& l( t* k+ h
fldr_desc[WSO_desc_size_c + 1],0 _3 S8 T: {! D) S# W
*message;
e0 ?* k! V$ V R1 N& s- x tag_t
6 i) Y' O& z0 y+ ?& ^, ] new_folder;
% f6 A: m' g4 j' p2 U J! `* H8 d9 s. w" y
ITK_initialize_text_services( 0 );: ]" Z( R+ ]: ?, L7 I, `$ i3 W
status = ITK_auto_login();
, M+ B: f+ Y8 n% T1 x; L if(status!= ITK_ok)
/ t5 a* P( A+ Q3 @' G {
; z* w" d u- U/ m: K report_error_stack();
" w9 b. F8 F, }% X }% E, ~2 l& D" f! R
else- x4 m% g* F R3 h- l {
{' V* ~) x3 z% o5 }/ e6 k) N
printf("iMAN login successful.\n");
# l8 \2 a( s) u0 u. D }
) @+ n1 l; v. ?( ^. a
* q0 H6 y( z9 ?+ m N ITK_set_journalling(TRUE);8 V8 U" Q! ]- u9 Z: |+ V$ Q7 e
) r" D6 t" R1 H if (argc > 1) strcpy(folder_name, argv[1]);
2 R' M, q. C# @$ ?6 `; v/ r2 S; W else. v0 x8 C/ @1 z* H
{
( a' X9 }+ |2 F9 Q$ L% |- y. m+ Y printf(" Specify the Input in Following format : \n");
& b) a0 u" P% z6 ] printf("program_name folder_name folder_description\n");
A; ~2 o8 U- O( U0 d. \- {% K printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
1 e7 M! w1 T5 |" f return ITK_ok;
1 F& _7 P) F8 z* I0 D9 { } 2 |5 W* l3 I+ `! k
, G1 j5 U! e) C( m if (argc > 2) strcpy( fldr_desc, argv[2]);' P$ ]: I& @" K6 Z; g
else strcpy( fldr_desc,"");) f- o$ Y$ d0 {; B/ \9 k
; H5 ~ S+ Y3 D0 }8 i0 q5 H0 E9 d
status = FL_create( folder_name, fldr_desc, &new_folder);3 T' R' ]; B3 W# t# j
if(status!= ITK_ok) report_error_stack();
* J4 |* J9 V7 O5 F1 A
( v) z7 R+ x% c& p Q* o status = AOM_save(new_folder);
i1 v P7 o# v4 @0 D if(status!= ITK_ok) report_error_stack();& e8 i7 g6 @5 |0 F8 W
else printf("Folder '%s' Saved; ", folder_name);
- O. d3 y) q' n; O% ? f/ }( z/ W- h' N$ V# f6 [
status = AOM_unlock(new_folder);8 s% f' {: t' v, Z
if(status!= ITK_ok) report_error_stack();+ B7 B7 {" W" v* w! M# Q$ k
else printf("Unlocked; ");
6 T H5 j9 L1 @5 e# B0 ]5 X8 U- ^7 f# K4 o; _ U
status = FL_user_update_newstuff_folder(new_folder);
6 V9 l" A8 v$ r! W if(status!= ITK_ok) report_error_stack();7 f/ U2 A' ]( v4 \
else printf("Put in Newstuff Folder.\n");
' w$ [. i# s5 [6 ^! t8 ]4 d2 b" G+ [2 Q+ \6 Y4 x; V P& r
ITK_exit_module(TRUE);
# q- o, ^, ?) H; r1 r& { return status;
2 X N& T5 A' z4 E* Z) p# b0 w1 h}: }0 A$ n* P" e# S* U- }
|
|