|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
2 O7 D* {& k2 r' t2 \/ }
2 k: e. L% J4 z4 z( }& d6 D3 oTeamcenter ITK二次开发源码分享:创建自定义文件夹
) }2 q: z( C. E8 f1 b' a输入的第一个参数是文件夹名称,第二个是文件夹描述。
{; `7 o V# i# G( {( w6 ? Y5 A: T( \5 o' q. g& h
1 U2 {+ _2 W0 ^# |$ ], A. f
#include <TC/tc.h>
! e8 s" p7 s9 V0 A' l% o; g#include <tccore/aom.h>
$ W) k1 `* M; |: ] R#include <tc/folder.h>
! F) p, L# b7 ^#include <tccore/workspaceobject.h>
6 i) Y* a2 s; s
) i) Y. t( O) o' b) W#define EXIT_FAILURE 1
1 T0 J! G( N/ l8 S+ _3 ^" t
# ]5 K( p: A+ v/ ?) _, Rstatic void report_error_stack( void ); m9 ?, m. z( N& X) m$ i
{
% X! I5 B3 S7 b4 a int0 V G& D+ X' Q# ~& }1 {* h( n
n_errors = 0,
4 c1 D, W* @0 K9 ^' ~ i = 0;, \3 S; d2 x( r r% |
const int' b8 m5 e$ n7 x8 g- ~: c
*severities = NULL,7 u/ n8 l$ u( d- T% \" N
*statuses = NULL;
0 E' o3 c9 v" s0 i' j7 m4 \ const char
( ^3 `. m: O* I/ ?- F* m0 ` **messages;
" X! |! n1 f8 u6 t) D( @. R- k8 W! L8 k+ C2 ^; ^/ C
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
4 h& _7 C4 s# h4 ` printf( "Error(s): \n");& \, d9 R1 g/ K8 F1 U; e% Y2 b4 V
for (i = 0; i < n_errors; i++) : E# x( |: D# |( k. x. J% W5 ~# R6 z
{
' I3 m4 |- J4 d5 l7 e printf( " %6d: %s\n", statuses, messages );
* W- M, z* K/ K! Q }
- ^9 Z2 L4 d, t1 Q0 M5 z2 O: v( l exit(EXIT_FAILURE);! u5 a* g8 V, G R6 x$ Z8 e* R
}: ] r5 j& F! ^; g% S8 D
' }- I$ }/ ~. J4 t+ T# kint ITK_user_main(int argc, char* argv[])5 u# n, g2 ?+ i U$ Z3 y- u
{
" c7 G( v) I& Q* b* a6 I; O, z W6 d int2 R \$ c! ]. l; T
status;" a+ v: N: v2 o
char
0 D* f4 U1 k6 W: G: V2 s folder_name[WSO_name_size_c+1],; J& L' t7 g$ V7 U
fldr_desc[WSO_desc_size_c + 1], |9 ]$ Z. q8 f/ H
*message;7 ]5 O, f7 W4 u" U# g* Q) q( V' `
tag_t1 D1 E, e, G8 [' r
new_folder;
. [/ S; Y0 o) z1 S
" O- I& C, i* l! [ ITK_initialize_text_services( 0 );
. b' Q8 K/ v/ A3 \2 U status = ITK_auto_login();6 d3 N, g- C8 i
if(status!= ITK_ok)
- H3 W7 T9 [. S7 J* d( G {$ y3 l9 d# m, D( ^
report_error_stack();, i+ d! M" y( n0 {
}
1 Y! \- f6 x: K& ~5 }2 o. e else
i& { F" W$ }" F/ }, I# i2 H) @ {
. Q* x; K' H8 D printf("iMAN login successful.\n");
0 q8 X- Y% k& K }& P/ D, K, N+ g- m# L
9 W! F" B% E" d ITK_set_journalling(TRUE);% S4 d2 h' F, f$ b$ N. S* O& E, a/ _) Z) K
. \6 ]9 a8 h7 `1 Y
if (argc > 1) strcpy(folder_name, argv[1]);
& q! e6 p n6 D else; \1 y, L8 a2 J
{# y( k/ K- p/ w3 N0 c
printf(" Specify the Input in Following format : \n");7 Z9 t* Y- C0 h2 }/ d) F, M
printf("program_name folder_name folder_description\n");' k: b6 w8 l" @% y1 R% ~# j
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
0 Y1 a7 l* ^; K3 C* l return ITK_ok;
; ^- V/ N2 X+ k2 x, j6 P9 q }
3 y6 Y' M" ^9 \
. g9 {% s( j3 u4 z; r if (argc > 2) strcpy( fldr_desc, argv[2]);" {( y1 B! k- N1 L3 n/ {3 ?
else strcpy( fldr_desc,"");
( W7 Q: u" s: v7 u( Q5 _7 u5 @) ~2 x$ A* n# k. t1 G
status = FL_create( folder_name, fldr_desc, &new_folder);
+ v( Z4 j, f+ T1 |0 Z if(status!= ITK_ok) report_error_stack(); * @+ |/ x% l6 @7 w1 q6 t+ |( r- G
* b7 c f) i. y* ~! ~( y status = AOM_save(new_folder);9 j+ h' a2 g; P2 Z: u$ k
if(status!= ITK_ok) report_error_stack();3 }& V4 L2 y: V9 Z$ E$ Z
else printf("Folder '%s' Saved; ", folder_name);# ]$ L3 T5 f) l G' x
& S/ W' [6 Z+ p. c0 f/ Y! A; X status = AOM_unlock(new_folder);
^ K+ k* V; y$ o9 b. w- W# p/ h if(status!= ITK_ok) report_error_stack();
* b: _% ~( H" Y& r' C2 O% N: k else printf("Unlocked; ");) I; Y9 i1 X4 M, k4 N) n: l* Q3 G8 c
, _& Z& X& k) ?& L' Z status = FL_user_update_newstuff_folder(new_folder);& f* @4 W* P* L/ J) v
if(status!= ITK_ok) report_error_stack();
- m4 \) V$ K+ ?6 _4 J else printf("Put in Newstuff Folder.\n");) z! P+ d/ K4 [) q" d7 J Z
9 p( d# l2 l" Y% c6 p
ITK_exit_module(TRUE);
% h3 b7 P0 S! _# w/ m: C6 l0 I7 X return status;
) Q9 P6 A. q# [) r. M}
, `, w4 R8 g2 n8 b1 ^1 W, U6 F. e |
|