|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
" K2 J4 e" l7 b' f/ N
0 B2 s2 I; p6 Z6 jTeamcenter ITK二次开发源码分享:创建自定义文件夹) ^9 B: y# E8 Q& f
输入的第一个参数是文件夹名称,第二个是文件夹描述。1 U3 D, U& l7 h' a' V
0 H. z B& L- x5 e( Q! Z9 u3 q! a' D1 u
#include <TC/tc.h>- a$ X. e# ~" f3 w! U
#include <tccore/aom.h>
9 R8 N/ R6 {9 W: M2 x; v#include <tc/folder.h>% h _/ H9 H3 _
#include <tccore/workspaceobject.h>
8 x) A# ]' v. d5 f
5 w# _& |# M1 k: O- c X#define EXIT_FAILURE 1 c% t7 G" C7 M8 r( E+ Z0 o( D
7 `8 v! }8 d4 m! x% jstatic void report_error_stack( void )" K/ ?* l- H7 F9 w' \0 A+ [
{ [% X2 r2 ~6 a7 C1 m5 Z7 }+ n
int
5 N- ~2 z3 H7 I9 y/ ]' a n_errors = 0,
# V# F$ b3 L- I5 H. q i = 0;! z2 {- l" a" g; q" T
const int3 i2 n5 F3 R: F2 j- Q" T; f
*severities = NULL,
8 I! f$ E0 N# B8 d3 }- T/ Q *statuses = NULL;) u* I$ J7 l Z3 P1 i7 k
const char8 Q8 l0 u4 K% [0 V6 v+ A2 |, P. P
**messages;( t/ f0 v6 z% z6 f. M7 `( x* e* v
+ f3 y7 J8 s" m9 r EMH_ask_errors( &n_errors, &severities, &statuses, &messages );# A; R; [: a# ]7 {8 Z4 J0 j
printf( "Error(s): \n");* e8 F5 f& H/ O3 }
for (i = 0; i < n_errors; i++) ( B" j% X1 A1 b; l ~
{
. D# s' b( ]% L z# V. f/ ~$ u: G printf( " %6d: %s\n", statuses, messages );
# ~9 U t- t0 h6 Z3 ` }6 i/ w$ A7 N& g) C& i
exit(EXIT_FAILURE);
# R) R. I) g4 P K& A% ^( x }- s# g6 H1 u+ Y- Z1 X
9 c: o6 G5 G4 r; c. A4 S9 c
int ITK_user_main(int argc, char* argv[])
! i2 f0 V( [: D# s{
* ?" F# t- W. h9 o9 _0 Q int
/ r( r* S. r$ ^* N, n' \7 r status;
* p, s3 _/ n' R/ ]) L+ q& \ char, x& A6 x' w; L8 T
folder_name[WSO_name_size_c+1],5 }8 S l5 e. Z* F$ d
fldr_desc[WSO_desc_size_c + 1],
1 N( m/ R8 G3 z *message;
* o6 p3 J; R5 {# H tag_t
" b0 I/ s6 x: B! ~# a8 d new_folder;# C& N8 k) H) T3 N2 v0 D9 B( K& @
T/ t1 k; ^0 u" i0 w, y ITK_initialize_text_services( 0 );, `$ s" F) O1 U+ [1 V
status = ITK_auto_login();( a1 i* c7 {9 Z# D4 C
if(status!= ITK_ok). M; L5 Q5 }4 X ^/ V
{
9 U& `3 v( L: |) p; Z$ U4 m report_error_stack();% L8 w: s3 V3 W2 ^+ M
}* `/ g4 Y: u$ {8 u+ r
else
. ?2 k' R6 c8 x( K3 r: H {- w# p3 w) H" m
printf("iMAN login successful.\n");
& X1 q# D8 n9 f1 b# `7 B }5 H9 y* Y, _7 @: ~4 `# M4 J
' g- k" u; v' f. _, M ITK_set_journalling(TRUE);
& E. p& k% O, E# m0 J4 q0 c- M7 r
- Q( D5 t- [% r1 ` if (argc > 1) strcpy(folder_name, argv[1]);
% I* M! Y2 G2 V! o- B5 p6 q else
T) F+ a/ s: J9 E; g# b" W {
/ c+ h! q/ P* V' U printf(" Specify the Input in Following format : \n");
9 ]; _5 ]! p9 C printf("program_name folder_name folder_description\n");
4 M; e: d( L8 x6 Z s( d) S( F printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
3 V W: N7 U/ q. o return ITK_ok;
+ C3 C, P5 `" @0 O! Y. B& o } 4 O K( I. T' b9 L( \' R- {# p" v8 A6 @# s
" _& D* z. ]3 u* q ]' n
if (argc > 2) strcpy( fldr_desc, argv[2]);
% J5 E0 w9 |/ j8 O+ U! W else strcpy( fldr_desc,"");! c4 h( t; f7 j5 f6 m5 Y
! o0 Z; Q$ k. {' r1 c1 H status = FL_create( folder_name, fldr_desc, &new_folder);/ r) w1 \$ N$ R
if(status!= ITK_ok) report_error_stack(); 3 r: K$ \8 z+ s' b. i2 {
0 X+ u5 P! ?6 f; E/ i. v5 I7 X5 J status = AOM_save(new_folder);/ ?, O4 f2 u/ }: x% u
if(status!= ITK_ok) report_error_stack();
2 C# F% g! n7 J, A' h! \ else printf("Folder '%s' Saved; ", folder_name);
1 A7 o+ p6 U4 c( N r
% h7 p' ?" `2 ~9 s8 x# r* v( ~ status = AOM_unlock(new_folder);
" ?2 a, `9 w% }7 A) ~ X if(status!= ITK_ok) report_error_stack();
3 x. K) u) `+ ~6 J/ C8 t! T else printf("Unlocked; ");
! x. N9 c1 G+ G: x1 q2 K; J# v: }8 A8 `
status = FL_user_update_newstuff_folder(new_folder);7 ?# _ p. Y4 t1 A. C8 j+ g- u" P
if(status!= ITK_ok) report_error_stack();
! h5 X7 Y+ `) V6 q else printf("Put in Newstuff Folder.\n");3 I- r. s% j" p3 ^0 W
; Q# ]8 ~ s, f! G ITK_exit_module(TRUE);
' C6 k5 u7 z/ q8 U- ?3 M* H. Z! V return status;- z/ i0 N E8 X( p
}
( i0 h1 L1 V+ m. j) T( p/ r |
|