|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
" x# L! I1 c/ x9 c
+ x: _% l# j# T; U2 YTeamcenter ITK二次开发源码分享:创建自定义文件夹
# [% ?! o/ H6 v7 J输入的第一个参数是文件夹名称,第二个是文件夹描述。9 |# Z# k7 D& x3 B5 m3 x
+ j1 B3 Q, i3 ^1 p
. c) `* p7 X* ?5 `7 ~' S% }5 @4 d#include <TC/tc.h>/ k7 y$ X- p9 } C
#include <tccore/aom.h>
9 N; w% x- f6 T6 m; r" n#include <tc/folder.h>
- [* r( }# m! D1 v- x#include <tccore/workspaceobject.h>
; B: Q6 w; g/ M: a! W- w* i9 q; }8 v- }! L M
#define EXIT_FAILURE 1
& u6 q0 m2 D& J/ q- |% Q+ m, w- S. t& v0 a( e' Y
static void report_error_stack( void )7 o3 m9 L. x# h, V$ z9 C N) j+ ~. Y
{0 y" A# a5 G, T/ x
int
, A; c9 e Y. M4 z5 ~3 x' L; z, [ n_errors = 0,
9 c) G9 w; V8 i8 P i = 0;6 a I$ r5 T/ c. }, h3 S
const int
+ R( D6 z6 u- x& G *severities = NULL,
* o) U9 t) a! P& W9 |0 p" ^ *statuses = NULL;
0 B$ q# L9 @ e8 h! B$ n const char
$ N5 {7 G+ U7 U4 ^9 e3 [ **messages;5 u+ S$ i- L6 i5 b( M7 `& ]; O
- h2 G& y0 n: ~% Y5 ^* f
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );% q% T8 H4 r' h1 R8 [3 a
printf( "Error(s): \n");
5 P6 d5 ?1 c# V6 Q5 y2 \2 U for (i = 0; i < n_errors; i++)
* `5 {$ u3 k8 k {
5 i' C9 X; |# W( v, V$ T: l printf( " %6d: %s\n", statuses, messages );+ d8 l% y9 o8 Z0 d7 ~ C
}
5 J& M1 {$ e$ S6 v exit(EXIT_FAILURE);1 Q; V5 |1 G3 H
}0 d1 T* Y7 U! p* W# u
3 R, ]8 J8 D8 m; j. Yint ITK_user_main(int argc, char* argv[])* a# O- a" W7 V
{; T x g2 e& `! K6 U9 o
int
+ H% Q" Z, j, X/ W; g7 Y status;
3 [3 y6 l- v# q, T- E5 {/ c char: ] P* r6 C) l Z
folder_name[WSO_name_size_c+1],2 h+ ?, J" d6 x; Z+ a9 K' E) \
fldr_desc[WSO_desc_size_c + 1],
5 q/ m2 A' t$ [+ B; @- V# V *message;! `/ w j$ [5 L5 M1 w% C
tag_t
) @& t* @7 N3 M. U) E! Q$ L! `/ U new_folder;" n. t& h6 w* m- a: y% e. ~
' F+ b6 |* |2 ^# [: G+ C j% y' U ITK_initialize_text_services( 0 );( b" |$ i- S& C1 S; E
status = ITK_auto_login();
, g7 f- W- b( Y" a& p- C3 b if(status!= ITK_ok)
# d4 C; y. Y6 W" o {: ?/ p d4 }- W Q2 `3 Y
report_error_stack();
- ]( ~0 Z' Q& L, O }
' p; Z+ L$ ~) ^ else/ H) A, S8 \( a1 f5 E4 t) t6 V
{
& E& H# q( d7 m X- i3 V printf("iMAN login successful.\n");
7 v h4 e- s% V0 K- E% V }
! i( `( v- R, j8 u2 R+ j8 t$ b# d4 ^* s7 ?' j+ B
ITK_set_journalling(TRUE);* {$ ]$ @; S; b, Q6 D
# [* V8 n3 i& _3 i. \4 E if (argc > 1) strcpy(folder_name, argv[1]);5 r& y2 e9 Y9 O: r2 Q: y
else# D$ r( R/ x1 @" u- r( ?, m* U2 R/ S3 d
{
! Q6 d& J$ m/ T2 b/ ? printf(" Specify the Input in Following format : \n");
! [7 g5 Z" m& Q' z5 W& c9 s: v printf("program_name folder_name folder_description\n");
9 t, ?& J0 u4 @& j$ J% A8 B printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
i, ^& J% e/ n* c1 @ return ITK_ok; $ K9 Q3 r& d) g/ i, d4 Z( u8 p
}
5 [7 k$ N8 W4 d3 C! z
( P2 {3 y& I% T' ~8 m if (argc > 2) strcpy( fldr_desc, argv[2]);
0 m; j" R/ n! J$ f; } else strcpy( fldr_desc,"");4 X( \3 u- `# W4 i% T O
+ g- F7 H8 N$ p0 n; B' g! y# c y
status = FL_create( folder_name, fldr_desc, &new_folder);. M* F9 p; f2 Q! F: p
if(status!= ITK_ok) report_error_stack();
) W D4 j+ K$ M4 h7 q- ~+ ^2 r( f% Z& ]" J/ b c
status = AOM_save(new_folder);" m0 s7 W& }# _% K% k4 b e
if(status!= ITK_ok) report_error_stack();
$ o E$ h0 M, n else printf("Folder '%s' Saved; ", folder_name);; @# a0 ?" ] _" \: E& l1 d
. p% w5 w: H7 i5 _+ K# _( n
status = AOM_unlock(new_folder);( ^$ H# e+ U6 ?
if(status!= ITK_ok) report_error_stack();
8 y4 |& a. T' i$ U* k9 d else printf("Unlocked; ");
( s8 f/ d0 w$ a+ C' D: l! l# [
status = FL_user_update_newstuff_folder(new_folder);6 U. V8 L$ S3 l1 Q6 ~' A9 o
if(status!= ITK_ok) report_error_stack();
1 I3 z4 p" @' z' x3 O else printf("Put in Newstuff Folder.\n");
6 G+ U% ^ [, \- T( \) e! Q* J! X1 D" u' v6 C n$ a! y9 M6 G: i
ITK_exit_module(TRUE);
2 E2 l# `$ P1 e* L return status;2 y+ _% d/ N2 L& F
}
3 ^; n, g q4 P u. e; Z3 n, D- {# M+ B |
|