|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/ l% V, d$ `9 ^5 z$ g' M, k! G2 m* ^
Teamcenter ITK二次开发源码分享:创建自定义文件夹0 I$ U. O+ ^ q* N `
输入的第一个参数是文件夹名称,第二个是文件夹描述。$ P2 v! m8 D1 ^! W8 g; K* [
4 |: v" ~* G, h( [# x/ j$ N0 K" K5 a' |% R. j/ }" ?. ^
#include <TC/tc.h>, V/ K$ E& R2 F; P3 e5 N
#include <tccore/aom.h>
9 y! u7 Y) z$ S! ?9 M$ U1 r; A- V#include <tc/folder.h>
$ R7 i5 A6 I2 j M; c, t, @4 ^- {#include <tccore/workspaceobject.h>9 r! v# j. F, j
8 l$ W; j; J: Y/ [- _1 B4 i#define EXIT_FAILURE 1$ `6 n8 L& R: B" [
$ u' J; x: G$ [0 b$ ~2 g
static void report_error_stack( void )
& G% |0 R: g4 a3 x- Z {
+ W' q' D* r* Z. |9 H! Z. B% m int0 _2 l! t$ r! m4 X
n_errors = 0,* [! u$ |8 ~, @1 E3 ?! h: y
i = 0;$ @2 Z& X6 h1 y: h5 j. H8 P
const int) T/ B3 D4 u I- U, A& a
*severities = NULL,
& s8 c5 w8 u" F/ A6 M *statuses = NULL;6 o4 X# _2 W& r q% r: G
const char5 K6 R; }, ^4 q2 n1 }
**messages;
+ } t& i' j# i1 c- g9 o/ n6 {5 D" z5 h% X6 }: a& d* S- w* d; U. x6 \
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
0 [/ _' V+ H6 C( {; D& I printf( "Error(s): \n");' X( r! x8 X b' u u f
for (i = 0; i < n_errors; i++) ' N' N6 \0 y0 y" D8 E2 B4 d
{7 t, _, o3 f3 J8 ~
printf( " %6d: %s\n", statuses, messages );/ d7 Y$ G# M( D1 m
}
! x y B, b4 t2 [ exit(EXIT_FAILURE);0 x: u' v& Q( r- R7 y7 ?) a9 x# V
}0 B8 `4 Z$ Y; p' m6 T5 f
0 U S" z% r2 Z5 c' Z1 Dint ITK_user_main(int argc, char* argv[])2 ~% ~" e8 h" \# w$ N
{
2 l! \" Q$ E6 l int
5 @7 b: M: K. J5 Y, X1 M, W status;$ M- o. O3 o% L) X. e2 t
char/ x# T) p5 o: e4 F, `# i; L8 M; W) O
folder_name[WSO_name_size_c+1],$ T" C$ `* y( [6 Q$ Z6 G. T
fldr_desc[WSO_desc_size_c + 1],
! ` f# c; t; K# b *message;
4 J1 u2 [( ~+ e+ M1 E; r* p0 v tag_t
6 W" E$ Y+ r; x8 b; J) C v' `" g% @ new_folder;& S w; p1 a/ H3 P) \% @
5 {7 v) s0 ^3 H& a* E
ITK_initialize_text_services( 0 );( E" n2 Z7 \8 I6 @: P( T8 X) ]+ I, m
status = ITK_auto_login();
6 K/ K) ^2 H% ` if(status!= ITK_ok)
~0 f& Y8 p4 I7 q8 C {9 e/ N) N- t5 v2 Z4 Z9 g
report_error_stack();
! R( O& g& g# U! W1 s" s9 ^1 _ }
% U# ]" G3 d$ ?2 ]$ q6 a: l+ n+ M else. b& w' f$ n( M( }) l
{0 \ |9 ]4 u8 |& t% |% M& h
printf("iMAN login successful.\n");. C9 E: K; l/ G' y: f: N8 L9 t, E
}/ j7 r& g( M. q1 B5 r
: l' A7 _/ K# V) m* a* X4 N) O* f ITK_set_journalling(TRUE);
2 g/ R0 a: s, R8 q1 `5 F/ u$ h) C/ a/ E# s9 Y" v
if (argc > 1) strcpy(folder_name, argv[1]);4 _4 E7 p9 g5 X% C1 D. a6 S/ B
else& |* [7 c) j8 B5 x& z9 j, I
{
2 Q" w) s9 ]/ I$ _$ v$ O3 G printf(" Specify the Input in Following format : \n");
' |) @. J& s' e$ L" J3 P! @( e printf("program_name folder_name folder_description\n");. e+ o9 t6 h! A) P3 o) Z7 b
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
% r& ^5 H6 d6 e, c l D& S return ITK_ok; 5 Q: {' y: z8 {. O4 r [
}
/ ]+ S: v7 P. F U0 x) O( v! N( u. d# b1 d
if (argc > 2) strcpy( fldr_desc, argv[2]);5 F3 N3 y0 i7 p; f2 _5 O
else strcpy( fldr_desc,"");: A4 u' a# o; D# c# Y* _8 [* O
8 Q X3 y5 d: H4 g% X
status = FL_create( folder_name, fldr_desc, &new_folder); k' V* x, m' x! R+ D& c, o# T5 W
if(status!= ITK_ok) report_error_stack(); $ _! @+ B7 a4 E
' B6 W/ U; w1 E# @ status = AOM_save(new_folder);
: ] \, z" Z/ h6 }/ y9 c if(status!= ITK_ok) report_error_stack();0 L5 p7 f7 H7 j
else printf("Folder '%s' Saved; ", folder_name);
' n5 U2 K3 S# Q D% K. Z# a
5 u5 j& [; L' i# g8 ?/ z status = AOM_unlock(new_folder);3 o/ y4 O g, a; Z# \4 a
if(status!= ITK_ok) report_error_stack();& p7 `6 T; D% D+ V
else printf("Unlocked; ");; P9 V1 v$ I( I: p8 Q/ @
9 ~3 S- A9 q# Q& Y. z status = FL_user_update_newstuff_folder(new_folder);4 ?2 }3 i; ]3 Q: b$ ?. _1 a% G
if(status!= ITK_ok) report_error_stack();
& l, ]# L2 }! L# c2 @& V else printf("Put in Newstuff Folder.\n");
; _1 z4 x1 H7 y/ D2 s
1 [/ E* {- Y3 \ | A ITK_exit_module(TRUE);
5 G' r$ ]7 X0 M7 G return status;$ Z- F$ a- A9 j B1 P
}3 F; l8 D, \5 i" g# L, q2 i
|
|