|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
7 C$ _$ A( Q9 [9 `; L$ q6 S
, E5 x& v& X/ T3 Q4 @1 W# @Teamcenter ITK二次开发源码分享:创建自定义文件夹& q `3 m) a2 q2 z& N2 i
输入的第一个参数是文件夹名称,第二个是文件夹描述。% p; N: n3 j% V x
) R2 {) v' Q7 E2 z) r& p4 |) y
* V4 S9 T3 K1 w#include <TC/tc.h>
2 M0 v# a, K- Y1 |. D" J9 F( H#include <tccore/aom.h>" C9 c1 \- Z! I; N. r: L
#include <tc/folder.h>( @% ~% u$ s, [. q7 h2 U' h
#include <tccore/workspaceobject.h>
; k1 O* d2 t9 O# Y$ m$ m% u2 Q+ e, P9 n* m/ |; M+ R* U# N
#define EXIT_FAILURE 1$ c6 L, _7 m1 ~+ B
' }$ l; k8 s% s: \
static void report_error_stack( void )
7 j* \! [) Y0 M# h6 m8 A" ]2 z {
" q( u6 g: [$ a: `& U& n: e int/ J I! Z' L+ V9 _8 |
n_errors = 0,9 P# U: G4 S n$ G9 E& I8 G# w
i = 0;2 t1 \! |3 `8 R. b% V' ?
const int
2 P$ J; G- f7 ? *severities = NULL,) I. r u5 Q; c- {, X* w
*statuses = NULL;- \+ {7 P0 O6 | C8 u5 H, X8 Q7 w
const char$ s+ s7 Z1 P* Q
**messages;2 L. ~6 ?0 Y' u
! ?6 M9 ^1 v2 J- o
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );! }/ K: E- z! _8 _ u9 Z
printf( "Error(s): \n");* n2 ~6 z3 F) M4 _( C* w z
for (i = 0; i < n_errors; i++)
m9 R! ?1 ^7 r5 |- U {8 ~! A% J# D2 y& r+ O' Z1 ^
printf( " %6d: %s\n", statuses, messages );
2 F* J+ r. {' s: j }
- Y8 p/ A4 q) v2 u$ }: h" ~: l6 ~. T; p exit(EXIT_FAILURE);
3 l- Y0 W- T( s6 s }0 l3 @ G$ E6 p" s; U6 m. {
% W7 Q# X: \/ x% M3 Pint ITK_user_main(int argc, char* argv[])6 m* e0 ?8 X y2 C+ v0 Z
{6 k% ]& {3 t7 \9 r7 [- b) Y& |6 Z, u
int& E" }. o8 G' {0 x2 s/ D( u
status;' c% G2 x/ P, A0 r
char
. X1 i9 i9 X3 e' N) L* ?5 A4 A folder_name[WSO_name_size_c+1],+ j" I( B3 a5 u
fldr_desc[WSO_desc_size_c + 1],# ~- w! d: i' d" D* \" Y
*message;
?) d4 f6 G8 r tag_t8 [ {# F! e ]* c" E" N
new_folder;% a1 V2 B) {0 y" j$ Z( N
9 D: Q& L/ Z' M5 ]; Q
ITK_initialize_text_services( 0 );
$ K: t: E5 S0 l" Z2 m8 s7 M: a status = ITK_auto_login();
* t0 c- P/ X5 `" B8 O if(status!= ITK_ok)
5 W8 P2 M& I# x) Y) h1 W) A {
( ^7 s7 a1 ?& |! `; P report_error_stack();
6 d7 {) U4 I1 ]: U2 d; ]' ^( I }
) g0 v+ M% |. d1 {! D, K else
3 f, C$ O' ?; a5 d3 _ {
- j& @9 d( m# f6 u$ f' R7 h printf("iMAN login successful.\n");% Q. N9 t7 P5 y3 c& e0 Y
}$ J% f5 u. c$ O( Z4 C& }
; l2 c! o, r9 L' e
ITK_set_journalling(TRUE);
% Z# h2 ~: J D. a- W, T7 K$ x9 o2 l/ a4 r2 u: Q. T) ?- _1 b* g+ O ]
if (argc > 1) strcpy(folder_name, argv[1]);
9 e$ L% U# H1 g8 s! H t2 d# a else$ z+ L+ F2 C2 }- S- o1 o) D: h
{, `) d' h+ [. ~" ?
printf(" Specify the Input in Following format : \n");
' z' T( b$ \5 S- | printf("program_name folder_name folder_description\n");
, G* W! u- f6 w* T; B printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");1 ]$ a9 Y' r: B$ e+ V& [1 \
return ITK_ok; % G# l$ j0 D8 ?* E6 a3 z& f
}
: L, y4 b7 {3 {( S4 P, a) z
! ?& H6 R6 r% z if (argc > 2) strcpy( fldr_desc, argv[2]);7 `. ^! e4 D5 a& W
else strcpy( fldr_desc,"");
4 Q' i% l$ J8 e: ?( G( Q& r$ ?& D5 m3 F9 \7 g! Y+ \8 W8 A
status = FL_create( folder_name, fldr_desc, &new_folder);
$ i9 m& u4 M, n% D9 t: c if(status!= ITK_ok) report_error_stack(); 2 Y/ v9 v8 z" c" s* V' x
S1 w% e, h& X( O9 K: x
status = AOM_save(new_folder);! o+ B+ I8 i7 Z$ r4 {1 P
if(status!= ITK_ok) report_error_stack();
1 h3 {* S E- v. {9 q2 T else printf("Folder '%s' Saved; ", folder_name);& Z1 t, K8 A, ]$ n5 b0 z
% I Y+ C3 A, `% @8 o" } status = AOM_unlock(new_folder);
) q7 a7 {5 i6 T5 ~. j9 d if(status!= ITK_ok) report_error_stack();6 y x& d+ s% d5 T
else printf("Unlocked; ");
( C6 b! ^; @ W2 o" l9 V3 q5 `) \: H; ]
status = FL_user_update_newstuff_folder(new_folder);
- G& L: A" _- b- W/ ^3 i( x4 B5 ~ if(status!= ITK_ok) report_error_stack();: L' e7 T. t+ j3 S2 q. A
else printf("Put in Newstuff Folder.\n");
, L3 I$ H/ r8 Y& k
" Q, t, ]! G( J ITK_exit_module(TRUE);
+ a. C' Q2 h$ u0 M/ _% r return status;+ s* j0 q% i! y5 p9 [3 K& e
}# l" O0 B" W+ N. ^. ?
|
|