|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 ~5 N* z3 F1 T b+ n* z' S3 ^- P
& v; G1 Y4 D/ I A' g5 pTeamcenter ITK二次开发源码分享:创建自定义文件夹) i$ [) D5 T( J
输入的第一个参数是文件夹名称,第二个是文件夹描述。
) S6 g8 o$ q* v* E% M: A+ e h8 _- U: J
: c0 w" ?0 t1 K' F% x2 E#include <TC/tc.h>
) Y8 s- P/ ?9 p5 o+ }" X#include <tccore/aom.h>
; u6 d: P& W. U, c) }#include <tc/folder.h>$ h% e2 O$ c* S# f( u- o
#include <tccore/workspaceobject.h>
. s# [. y4 j7 P9 n
0 Q2 K5 A' u0 m! n$ S7 D" m, K# R#define EXIT_FAILURE 1
N: y5 ^9 Q+ k
6 U- I! e. V1 M6 `) Wstatic void report_error_stack( void )
# d+ C% Z. E) R0 e* w5 v3 ^% |! L {
U6 y: h2 O1 V2 P& d int
4 \. k5 M: R! J n_errors = 0,* i# h; G5 _/ G) H0 z( E5 E V; w; O% y
i = 0;
) n1 I# |) [' [- U( e0 B: P const int$ @7 T$ g2 ^+ |0 h4 F& X
*severities = NULL,/ n% N6 a" a& x( `
*statuses = NULL;
7 @7 {5 F1 \5 J3 h8 g( u. z# o const char
0 v( K- _& p0 W1 s, u- o **messages;) r. V9 q+ |7 Q6 b
4 D. @3 {, K1 | EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
2 S1 [- j, X4 Y! I3 x3 P printf( "Error(s): \n");
- W: j7 x1 B5 M/ ` for (i = 0; i < n_errors; i++) ; I* U9 ]' m* P0 |/ g% ~; I
{2 V, T! V1 E0 h. D4 l* Y& N. k
printf( " %6d: %s\n", statuses, messages );1 l0 z! K1 s3 h
}
8 Q0 C. x& _3 a4 t exit(EXIT_FAILURE);
- G: Q+ l' x+ h- m }
& r; C z- G2 U0 c; B6 ^; v
( Y# Z( o( E9 n4 cint ITK_user_main(int argc, char* argv[])
! L y8 o* q8 ]{! V* e6 i0 y4 m! m
int7 T, _4 Q9 p( V4 y( q: i# X4 y( D
status;
7 W# T. P8 X) r( I char. C' o2 y3 g2 U) W7 B2 E
folder_name[WSO_name_size_c+1],
3 M" Q7 k. L E fldr_desc[WSO_desc_size_c + 1],+ Y$ X' i0 P [' Q3 C6 ?
*message;- b* J! x# _* |9 X
tag_t$ _3 W: ?8 u/ D( `; Q: c& Y
new_folder;/ [3 @ V, s! [' j# ~! x
: M5 v! ~# v+ s& P' A3 p ITK_initialize_text_services( 0 );
7 ] H: ]" e D, A" E status = ITK_auto_login();0 ?( O3 }; V9 p7 ` k& K
if(status!= ITK_ok)
" s5 J6 X8 g% Q6 e {" Y. W9 K& D: u
report_error_stack();* O! h7 i5 H' g, R
}
" \/ M8 H& F# N# E# T else
" i/ C A$ _: e& o/ d {$ d: ?, K# k; t) r4 B1 ~; J
printf("iMAN login successful.\n");. y: m/ B' y4 t# a' V
}
! P b [4 L/ q1 J2 y& j
; M; P- F- |$ q3 ?* `. l8 W ITK_set_journalling(TRUE);
, f0 c& ?# g9 G6 g: f2 @/ B1 X% k) i2 { |
if (argc > 1) strcpy(folder_name, argv[1]);
1 _6 ~/ P* ^, m, | else6 I& {: ]7 ]6 O% K5 K
{- M5 j0 L- V* A* D1 b7 F5 a' a
printf(" Specify the Input in Following format : \n");
. w& F$ _! r8 D5 @) b printf("program_name folder_name folder_description\n");
+ q0 R% \' p) [$ y* R printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");7 r/ f$ h) \- e( n0 C1 P
return ITK_ok; 5 ?6 N+ ~ z, w" n5 y1 A5 ?# M7 I3 A" s
}
% T: J( I2 ]7 ^( f; r+ i; ?7 o8 {5 F; s5 k) [* X
if (argc > 2) strcpy( fldr_desc, argv[2]);
& a: N% F) t: Y else strcpy( fldr_desc,"");$ ^0 Q4 q' e v0 T2 U/ t
; O* K& t6 l3 V; v3 ] ~2 ~. ] status = FL_create( folder_name, fldr_desc, &new_folder);
/ G' |: C# J$ ~( m$ F% t1 f if(status!= ITK_ok) report_error_stack(); * H6 G: j! N+ Z; P7 M
1 X& U) A3 E/ u/ @ status = AOM_save(new_folder);6 o& c; L/ o, J- [1 ^; M
if(status!= ITK_ok) report_error_stack();" h' ?- r5 z: V
else printf("Folder '%s' Saved; ", folder_name);4 k9 ^3 T/ @7 L
' n6 n7 K- \( ]# U
status = AOM_unlock(new_folder);5 o* K2 G* \' \1 E- Y3 }6 m
if(status!= ITK_ok) report_error_stack();
' m# x% Z" s2 x else printf("Unlocked; ");; V7 Q" z6 X0 H: I3 r. k1 L9 M* e
4 _- w$ ?9 n/ t i$ i- {3 Y status = FL_user_update_newstuff_folder(new_folder); d; C0 H$ R/ p. @
if(status!= ITK_ok) report_error_stack();
7 Q# B" Y8 q: i1 s8 v+ v else printf("Put in Newstuff Folder.\n");; g6 J- o: H( R @4 C
6 u z# ]; z3 _0 U0 Y$ c ITK_exit_module(TRUE);2 @7 J' r" x5 ~2 p
return status;
! \$ l: r1 g8 }- z9 x6 y3 y& f}1 F3 C$ u! a& h/ U
|
|