|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
7 v0 t, `0 _+ r/ _
1 ^8 X( N4 T' }1 |3 ]" y
Teamcenter ITK二次开发源码分享:创建自定义文件夹' w" |# U8 x* J7 _2 f
输入的第一个参数是文件夹名称,第二个是文件夹描述。
9 F/ {6 v9 `! C+ L
' u" P+ A+ f$ r; B. R, D- q& m$ z% R* e/ H1 }
#include <TC/tc.h>( H7 L- G. L. c% h9 b; N$ G
#include <tccore/aom.h> X1 h+ a( F. W: m! v! V% ^
#include <tc/folder.h>
. ?3 u+ Q* Y$ A' R% ^, R- y" _% C#include <tccore/workspaceobject.h>9 c# Y; H( ~& ]- ~' l; |
# C; S0 c! V- \#define EXIT_FAILURE 1 D5 H( C+ M1 ?% B: t% ^* b6 ]% L
" C& S, N4 N, p- b3 g' Q* V
static void report_error_stack( void )
; b- }! q! l- ]0 C {, h% K; {6 X3 }( N; \# X6 s- I8 Z
int6 H6 G; l7 j/ z7 w
n_errors = 0, ]# a" s- z; P' M- S6 Y
i = 0;
5 q$ F3 ]0 D7 \3 n$ e0 s" \8 M2 E const int
$ l4 \: o5 Q, d# J *severities = NULL,
1 G& w" v' q1 \2 a' X! ]6 o2 K *statuses = NULL;6 n& f' R% V/ c) L5 U% R0 r
const char
; z2 t, @7 g c4 G$ Q/ S **messages;& z$ [, y9 |$ m8 Z0 ]. q s* G
0 D- k2 q5 A0 v: W! p
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
9 c+ t7 r9 ~8 n9 b* m9 r! m printf( "Error(s): \n");; U: Y/ F" L. g$ Z
for (i = 0; i < n_errors; i++) 7 \6 P6 G8 ^7 `
{8 D% u: F3 H) q( D
printf( " %6d: %s\n", statuses, messages );+ r- p* [7 k2 v0 [
}1 Z% G- ]& L" {: K( \2 `- d$ C
exit(EXIT_FAILURE);$ e; t6 ]2 V* j! J/ u' _4 u4 k
}
& p, }/ i' l! ^' P% o& C3 c2 Y7 o) w G: N5 O7 ~: C+ c
int ITK_user_main(int argc, char* argv[])8 `1 T% O" A/ ?; b9 q
{0 E' e0 _, r9 X& p; K
int( i. S3 W1 Q& o& `! |9 }3 L
status;8 s/ h# i& ^5 q
char' y: a6 P/ `! c8 s- [
folder_name[WSO_name_size_c+1],3 o" R$ P5 u; r3 D
fldr_desc[WSO_desc_size_c + 1],8 j) B2 ~) D4 [; m1 g6 q& R
*message;
3 D0 |) K# H( X tag_t9 C* x: @& ^6 y% R: ^
new_folder;
- ~: i* S: b0 W+ x7 I( v" n+ T5 `0 g9 | j6 h J
ITK_initialize_text_services( 0 );
4 \! \8 ?* {& k; {7 H status = ITK_auto_login();
# S' g$ b% e' T8 x5 X if(status!= ITK_ok)- Y* d' t; j( d9 {
{* T& E* ` V: y$ s- ^
report_error_stack();! I1 ]+ D% M+ p
}
B9 @4 F. k- V1 s- U else% s* x+ E; K; n& Q, {! @
{8 `+ o* j; V, a
printf("iMAN login successful.\n");' G( \$ Y0 j3 q
}
: i) C5 w2 G% ?# q! E$ N! q% J1 v3 A# X/ S
ITK_set_journalling(TRUE);: ^8 T$ m, {% T+ p
3 X3 \# l2 t% Y7 u5 m! d$ l if (argc > 1) strcpy(folder_name, argv[1]);
2 Q1 y( S9 A$ T x else4 O1 B: e% Q0 W$ i/ f9 |
{
' C0 J5 M8 K! Q" _0 Z1 g printf(" Specify the Input in Following format : \n");
( o! j# N1 P$ X a printf("program_name folder_name folder_description\n");" c0 P5 s; K i: X ~
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
* J! K$ x6 S3 ^6 e8 ~ return ITK_ok;
; c! R- S1 n# }* A3 p7 T }
& n% j# x% G1 X2 e$ t4 x4 r/ o+ u* J8 G* v' C, z- j0 j2 n
if (argc > 2) strcpy( fldr_desc, argv[2]);
8 r( w J: d8 n else strcpy( fldr_desc,"");
. c2 @8 _' f3 S0 J4 I8 |
3 S0 P2 R" y$ @) b status = FL_create( folder_name, fldr_desc, &new_folder);4 I. F- X: S! C9 [/ ^
if(status!= ITK_ok) report_error_stack();
+ k: k1 C( c( |$ j9 k
( ^% T, C- t' c3 O Y" D status = AOM_save(new_folder);! r! i5 A# B! A" e0 G. a# j# A
if(status!= ITK_ok) report_error_stack();
- v. G+ d8 y, ^2 Y else printf("Folder '%s' Saved; ", folder_name);
2 j; F+ W( G; q b& X
7 i) Y3 b5 z, w; p3 k' w! ?" E status = AOM_unlock(new_folder);
; K4 [; `) E( k# _/ } if(status!= ITK_ok) report_error_stack();
# `& @6 `1 L6 v2 f3 ^# B+ b4 H else printf("Unlocked; ");
" n# E- R+ I$ W! I0 U
2 _ }/ G# x" K* ~3 N' s status = FL_user_update_newstuff_folder(new_folder);
* K) g6 u: C$ K0 e m- B if(status!= ITK_ok) report_error_stack();& w6 |( O$ [/ X" \, x
else printf("Put in Newstuff Folder.\n");- M) C' d \8 j) |) q f7 M
2 |7 a8 j% a0 A$ v" W& V4 X
ITK_exit_module(TRUE);
' J4 r* F" R% x& H7 [3 m5 | return status;4 r1 ~6 ~$ {7 ~1 `5 _
}
5 O6 d. D( q( Q; q- y3 x9 B( \ |
|