|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
$ u/ H1 K& d7 q! ^& A! o1 [& `; _
7 Y5 E/ V) i4 m% T9 DTeamcenter ITK二次开发源码分享:创建自定义文件夹
+ M4 M h$ a- D5 @8 t输入的第一个参数是文件夹名称,第二个是文件夹描述。4 e! l4 `; d9 X8 ^: f3 ]
. k1 e! w3 z6 b# a% N6 x7 S5 f$ ], c6 L& R( o' ^4 ?* B
#include <TC/tc.h>6 J2 s9 d$ n3 ?5 K
#include <tccore/aom.h>
8 {/ @1 F2 J8 v1 l#include <tc/folder.h>4 J- D5 D7 J. m6 D' S2 A. ^
#include <tccore/workspaceobject.h>& g! ~, G3 p* Y9 Y+ z0 y- N
9 A5 j: S4 T/ K6 Q# @
#define EXIT_FAILURE 1+ w; {; x4 E+ s- t7 ~
4 y4 v# L" y% F* i" P' D
static void report_error_stack( void )5 {% J7 @8 F* a2 l9 y& t
{5 [% b( s0 S: f( p% D3 J
int
; y s3 ]/ B: x4 [% O4 ~+ r9 @( F n_errors = 0,
+ j4 h7 ]/ s9 s# _( G: j i = 0;- w# a6 ^, H( ]4 ^
const int
6 G9 r6 \4 D& @& ` {* u8 Z *severities = NULL,1 f" `2 x4 A4 c: J4 Y6 W
*statuses = NULL;) g' ~0 ?! i; W9 E3 Y+ J
const char
; V% h$ `0 }: @' h **messages;
1 o! Q0 a" j$ P/ _3 T; g$ G; N/ k# L5 k
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );& M* {+ u6 w% w% {* D
printf( "Error(s): \n");: e4 P$ V6 h/ V E
for (i = 0; i < n_errors; i++)
7 R9 `9 v' P p Z6 {: q# R* e: n {+ }$ G; |3 d$ @" q4 W
printf( " %6d: %s\n", statuses, messages );
: w5 G% c) B( `) { } R& V8 ?, b0 t% `7 f! E9 U
exit(EXIT_FAILURE);
. V% _0 ?. P% X6 f* ?2 C }
- Y4 G7 r8 J0 `8 C. L- Q
/ |+ J, ]$ }8 f( Vint ITK_user_main(int argc, char* argv[]) w* O$ d4 R; V" c4 p" @ L* p
{
5 m, u! C) R4 l5 N7 L! j! y! P int& L+ o- P0 @* E# b
status;1 X1 ?" n! n- ^7 T
char1 W) w2 Q$ ]; Y9 ~3 ]4 p1 J
folder_name[WSO_name_size_c+1],
5 O1 f1 E) N( ` fldr_desc[WSO_desc_size_c + 1],
# I5 ^: c# K, A2 @ *message;- `. R+ M( O" C" C$ S- O+ I+ k
tag_t
! `) z5 y( w* e7 c0 L) i new_folder;
5 `: L9 D/ `8 [2 |8 C
, X" O, w$ M; V& g/ k ITK_initialize_text_services( 0 );9 p( l8 F9 J- Q2 j
status = ITK_auto_login();
) a9 o9 p9 w# `+ o! ^ if(status!= ITK_ok)
* M2 w7 `! e& N5 | {
& ?. X, u7 a( a report_error_stack();
. M4 L1 m6 h! ^' g2 s }
1 T, q" q+ Q3 b else* ~5 g5 Y$ U( @- H
{: }" X% n5 e$ b/ E3 c- [: A+ S2 P/ s
printf("iMAN login successful.\n");7 D4 I: Q. O! E6 s" _% j, F; W
}: i' P3 c6 t E' ~0 M
5 B ^/ e" r: ?5 x3 O
ITK_set_journalling(TRUE);
! `/ L4 |& O, G$ {1 a0 P
2 R) H, [' E8 R+ a& \ if (argc > 1) strcpy(folder_name, argv[1]);
6 j* o& B. [* _+ u else6 K p9 m7 z- s3 A2 `" `
{' }5 ], \( h6 N" z5 D/ e
printf(" Specify the Input in Following format : \n");. b1 C) W9 \) E+ p
printf("program_name folder_name folder_description\n");
# t3 T$ b( w5 x1 U( ? printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");3 X8 G' ]% ~- D
return ITK_ok; 8 {1 Z0 }: S+ D9 n9 P1 x; D
} 8 k+ r: ]: V) k D' _3 n
) X6 Z2 b$ ~ @0 n. `" @' j if (argc > 2) strcpy( fldr_desc, argv[2]);+ ?0 |- e3 q: g o/ R
else strcpy( fldr_desc,"");
1 Q# F9 X, C) n) w! E
g- J( ~9 N* P; G! o; J status = FL_create( folder_name, fldr_desc, &new_folder);0 [# P* ^# h* Z
if(status!= ITK_ok) report_error_stack();
" ^! k3 V- ?- P7 g! w6 y$ |4 w4 W! c5 \3 v* D2 h
status = AOM_save(new_folder);
% D; {" A: ^6 {3 S { if(status!= ITK_ok) report_error_stack();
( C# W% A' `6 q: o; H; y$ \# ~ else printf("Folder '%s' Saved; ", folder_name);# b9 K% F' S, _
, f( V+ |& N/ |
status = AOM_unlock(new_folder);/ \4 P4 X5 N+ r% E% ?% l
if(status!= ITK_ok) report_error_stack();) q0 j4 g+ Z. ?+ ~
else printf("Unlocked; ");
& m+ y: y$ a" Q6 h% y- S5 [3 M* f- [" }
status = FL_user_update_newstuff_folder(new_folder);
- n. l: k2 B; t j if(status!= ITK_ok) report_error_stack();
/ z, ?# q6 v3 ~( Z; q else printf("Put in Newstuff Folder.\n");: s9 ^ ]2 D/ R7 [. X% ^ K v* f& ?
; ~& J$ C% f4 w$ B4 C4 f) ]
ITK_exit_module(TRUE);' J- ]1 p" g% V9 W3 P2 V4 e! p- W
return status;
0 N& Y3 {. Q* j3 z# g$ w. p}
& B9 p0 @: D7 ?8 H# M0 J; s |
|