|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
" Q0 u/ v4 |" D* X X
$ T0 H* l9 R( {7 w5 u4 p% @Teamcenter ITK二次开发源码分享:创建自定义文件夹+ ~6 F, R$ F4 p4 n) b# ^+ r ?$ n/ n% c
输入的第一个参数是文件夹名称,第二个是文件夹描述。. R" M" g* o) @
/ h; @" D+ e! n$ {% T2 b' L4 X
* `1 ? {2 W$ L, W#include <TC/tc.h>
+ T8 @9 S- T, p3 ?#include <tccore/aom.h>
" ] a+ U& w/ M) I" h# H- a#include <tc/folder.h>
5 a* i8 T d9 P" ?1 m! B6 n: X#include <tccore/workspaceobject.h>
2 `% J# A G+ w @6 n% y5 @, e- ?0 f7 M" y5 K* I
#define EXIT_FAILURE 12 k6 [/ o2 W& a; S% F P4 z
" q# h: w: Y/ |* `1 p2 [static void report_error_stack( void ) c5 X& I0 Z' ]6 f# ?
{
! G3 H- R2 U8 E: T0 E( K, _ int& J& L& v( T% `: ?4 i
n_errors = 0,
! D& D M+ w* g% o8 S* _- h i = 0;
% y8 a2 V* S6 {! G- E5 \9 h% S! u const int
& I2 ^+ d0 {: s, E6 ~' n5 o8 l *severities = NULL,
# a6 z" r) W3 H8 O+ T' T: }+ L *statuses = NULL;( ]. S0 D' [6 a8 a! Z) \# c( p
const char( c: S! R* O1 u) X+ e _* U
**messages;4 x* d( \4 K% y* m9 k E
- I, R* Z4 z9 K
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );5 R K1 w- d- A! B4 p4 g5 r8 M2 R
printf( "Error(s): \n");' ^5 {8 M6 r/ t
for (i = 0; i < n_errors; i++)
, i k' L5 N3 I {1 U) R) d* ^# p* w' v0 Z) `* W, I3 p
printf( " %6d: %s\n", statuses, messages );6 `- k. G* A: k" y% S
}. |4 }+ g( c6 ~4 _
exit(EXIT_FAILURE);
h( X1 o: A# j/ b3 R2 k$ z$ D }
* F9 e* [$ O/ Q! @- m% `5 ~% n
- p0 R" i2 l2 I7 ^. lint ITK_user_main(int argc, char* argv[])4 l: Z2 q0 B/ n/ ^: r+ m( ~& g
{
* K6 w1 ~+ N1 D* ?$ m! _ int' ~6 n2 o9 c) [% p2 R/ X# }. v' D1 s
status;' [6 u) i% j4 s9 \0 @- @8 Q% E
char
8 p' Y" T. s7 O8 d folder_name[WSO_name_size_c+1],9 H7 g0 N f$ ^) K- k8 j$ g
fldr_desc[WSO_desc_size_c + 1],8 p+ T" j' W7 o$ ~
*message;1 D2 j0 Q5 ?7 P
tag_t
' @4 e* A5 X4 Z, ~7 ` new_folder;' A5 L! G% _, T" V4 A) e" P
( A) V1 O/ f$ A3 n' L0 l
ITK_initialize_text_services( 0 );& q6 I4 v/ |7 D% f. t3 y) w/ E) c
status = ITK_auto_login();7 u# o4 f% M6 \, M7 y
if(status!= ITK_ok)
# s U' w8 _- X- o% _3 W- ~$ w$ d- O {5 I a0 v/ S2 r, f+ @- |
report_error_stack();- s4 y4 W! R# K2 m! c& [
}
' r2 M2 D9 `; H1 `% \) B% K' }. [5 H else0 \3 f! e4 R2 \# Q5 j m+ B
{
7 P. R+ _5 q) t, C8 b9 N printf("iMAN login successful.\n");" z* N. u3 e$ k2 s
}/ R' n! L$ n/ v- [. q' d2 g9 I( t
( [0 x& C$ W0 j- M0 ] ITK_set_journalling(TRUE);0 `6 P* P3 m1 k( A$ c- U* u
: I/ a8 R$ |7 W9 n, o5 F. @1 W# T$ @ if (argc > 1) strcpy(folder_name, argv[1]);
/ Q e* R1 E j- A else6 g2 t1 g, l. R; z
{" J; Y) }* y' z5 c3 x2 z
printf(" Specify the Input in Following format : \n");
. J6 [5 O8 g) N& q. N printf("program_name folder_name folder_description\n");" x# U6 K1 y$ D) H# B& U
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");" m6 p0 t6 M* \; _
return ITK_ok; 2 @5 o' F6 \3 P+ j, ?( I
} - s5 r. m1 D: Q6 n% m0 e
, l* N4 P$ X* ]8 X$ F) b& m if (argc > 2) strcpy( fldr_desc, argv[2]);7 E8 [6 d% l! M+ l/ Y5 N
else strcpy( fldr_desc,"");
9 |" ?& t( ~# D- C8 x9 R: g. }
+ m" a4 x/ M! { status = FL_create( folder_name, fldr_desc, &new_folder);
% L5 h( ~% }8 w! G5 s. Q1 J if(status!= ITK_ok) report_error_stack();
6 H9 M. S; f5 D+ C1 j. x D7 S* G% `1 [& d8 j% d+ j+ e5 _
status = AOM_save(new_folder);8 `8 h5 c7 \- X' Q5 Q
if(status!= ITK_ok) report_error_stack();
5 ]5 ?+ `$ C3 M: c2 i else printf("Folder '%s' Saved; ", folder_name);0 i0 @, O* Y. S) m2 U
2 f* L! b" L! P. ^4 V0 k6 R
status = AOM_unlock(new_folder);, u4 g& X4 U/ `& C& a% h
if(status!= ITK_ok) report_error_stack();( [1 I: r2 [+ \& |
else printf("Unlocked; ");
7 n3 ~7 y5 f6 ~4 \0 W8 Y
0 G/ Z7 N* O" N0 b% P* u; W% {" _" g z status = FL_user_update_newstuff_folder(new_folder);
5 m( {3 D" i+ @$ `! f. ] if(status!= ITK_ok) report_error_stack();
# A( u& J6 \, Q7 ` else printf("Put in Newstuff Folder.\n");
B$ X F# E0 n: f- P2 Z1 d9 e+ k$ `: z* h( Z6 i, f9 D2 Y3 O
ITK_exit_module(TRUE);5 m9 O4 n& T s& t
return status;; F) q8 g, s- T" m
}
1 ^5 V0 A# c" ]! F. y9 K |
|