|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
/ N0 Z' M/ E+ z+ ?4 P6 r8 t- P. \2 ^% H
Teamcenter ITK二次开发源码分享:创建自定义文件夹2 N0 b# j+ x6 Y
输入的第一个参数是文件夹名称,第二个是文件夹描述。( e/ q/ L" e! e' H/ j. O( A2 Z
& m$ i3 x4 Z( v% d. H
9 t6 ^! m$ s# B/ {' _/ U! m' Z#include <TC/tc.h>
$ [. e2 o) t. p#include <tccore/aom.h>) ?/ q4 w0 U$ d, @7 M* P$ D0 I% Y6 F
#include <tc/folder.h>
' q% |! b0 w- r4 E' |0 l! o1 l#include <tccore/workspaceobject.h>
, A) M8 k- x6 ~; f. P: c# Z8 i- c+ T0 @% A% t0 M: N' z
#define EXIT_FAILURE 13 C6 o1 g9 z5 g0 @3 G; ]% f
' l: Y W6 V% kstatic void report_error_stack( void )3 J' w+ `- N l0 H: _9 H9 v
{
# j0 p! W; k! a' ]8 U- O, B' K int
8 V0 m# N3 u+ g } n_errors = 0,
6 g, J$ p# j$ V: F; K i( R i = 0;
7 ~7 F! B: H; u: U9 Q p const int- p7 \. h+ Y' i' k- ]
*severities = NULL," E3 x) g1 Z9 H w6 R, s7 j
*statuses = NULL;& g3 ^* c+ @; z2 O$ K* R' B
const char
4 x9 N+ w1 W# H **messages;# r) z0 Q+ n# c% R5 p
) V6 \0 g/ G4 E# s% U* d D1 O. v
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );! y E$ ^$ k! ?9 Z+ e0 |% U- g4 o
printf( "Error(s): \n");6 q7 t D3 _$ @ ?
for (i = 0; i < n_errors; i++) : E2 o/ {2 Q% _6 {8 ?" E0 M* n
{
, ~' G& ~3 O+ z# j" g. |* L printf( " %6d: %s\n", statuses, messages );
" h1 y1 ~7 W: [3 A9 `- U }2 Q* Z! H. |) y8 ]
exit(EXIT_FAILURE);# y" O8 y% R X! f" @; Z: p
}* O: M% ^4 u3 D$ ]+ Q
1 D' j9 I+ h# q3 Y# U
int ITK_user_main(int argc, char* argv[])
+ k8 O: b! _# |: ^. b2 w{
) |! ^* [9 }! q/ ?+ p! ]- F) ]* c int$ o7 A- i) L8 f/ Q
status;* M& T7 K1 Z: h
char* \- s* @' e& A8 u! F3 ^/ H/ t$ Q
folder_name[WSO_name_size_c+1],0 s/ L% y1 p; r* r" p& B
fldr_desc[WSO_desc_size_c + 1],( x" Y; A5 X1 t
*message;
/ Y. V7 I' \/ P* o% C* L2 F tag_t3 l' L7 {( e& H+ b B1 K
new_folder;
N( a3 W! S: {$ a2 g# K
& ^/ r) H F0 R v& A ITK_initialize_text_services( 0 );
) V7 c: H( b- |7 K; X) ^ X! Z- R$ @4 x status = ITK_auto_login();
. k3 E( y' ^! G# z& s& e& O2 c if(status!= ITK_ok)
* Y1 _5 x: R5 K' E5 V5 g" j* g {% b! M- K6 k1 h: v/ Z; I
report_error_stack();
9 X3 e* H- @! |& A0 P- R }
$ V( U+ I6 v9 F$ ^ u else! s; a% V; E, A, L. P/ S* _
{
. {# R R+ c9 l u9 f printf("iMAN login successful.\n");
8 _: I" N" W3 D! J# H7 G5 p; W# d. W }
6 Z" B& z# [. p7 Z2 L2 t3 s, X" t. m6 p8 w* D$ j
ITK_set_journalling(TRUE);8 q+ S8 J0 f2 L' u0 V
$ l; E$ }2 B/ G- q) b: J if (argc > 1) strcpy(folder_name, argv[1]);0 Q* u; ]( X& b7 i
else4 b; i0 d- R+ {9 E' X( N- X
{
/ u+ V* [, i' @) A) Z printf(" Specify the Input in Following format : \n");
3 y5 i0 X6 A& @) [ printf("program_name folder_name folder_description\n");
$ Z8 o: o7 o* Y9 b printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");3 r+ j( v7 a6 X/ i
return ITK_ok; 8 ]$ N% j8 [. R, r& g! S
}
6 F' B$ E. f7 O( l$ J
$ Y) K6 ^, |3 i% T if (argc > 2) strcpy( fldr_desc, argv[2]);" A2 z9 r' A% y0 y J1 v
else strcpy( fldr_desc,"");
C U$ M7 a; g8 J8 I9 q
7 {: \2 g4 N+ ~! N2 o) o status = FL_create( folder_name, fldr_desc, &new_folder);
) X/ T7 z" W% D* h* ]7 y if(status!= ITK_ok) report_error_stack();
1 n4 r1 _) d3 I, U9 y, e9 b3 u) @' ^
: X0 r8 K0 y! g% ?# `) U4 M status = AOM_save(new_folder);
# s7 ^) c1 p7 i ~. ]$ b if(status!= ITK_ok) report_error_stack();8 C% N( i: G- I9 ?
else printf("Folder '%s' Saved; ", folder_name);
( W9 m# U. X) U9 O: n# Q
: A2 V. [8 u9 ^- E status = AOM_unlock(new_folder);
8 Y, T/ ]4 y0 o: J a9 ?3 Q if(status!= ITK_ok) report_error_stack();% W8 @; V, d) f, N/ G, D% z
else printf("Unlocked; ");8 c& G: |4 c# f# I0 v6 a; x k: F
+ u' o+ s$ ^1 o4 Z! a/ {+ J status = FL_user_update_newstuff_folder(new_folder);
9 Z3 a7 P0 I. M' ^- `! p c if(status!= ITK_ok) report_error_stack();
/ O. I" e: ~, L" | m" k else printf("Put in Newstuff Folder.\n");
- F5 K) n0 r( k& y/ Y" D- y+ n6 P
& E7 V# t Z. B" y ITK_exit_module(TRUE);% Z" a2 ^" B# t$ T% W
return status;! e% p1 v( F5 j; I3 q
}) q( k3 e' r$ D+ e$ T0 d* g( v
|
|