|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- a$ `5 U( }0 z2 M, g1 {. k
2 R! h+ k5 X- S2 c9 v( L7 t9 ]. aTeamcenter ITK二次开发源码分享:创建自定义文件夹# E* I2 n/ _+ d3 L
输入的第一个参数是文件夹名称,第二个是文件夹描述。+ c! z- j i/ ]4 G7 d0 k
0 w/ M+ s- y0 m7 B, W
' T2 f+ R/ \7 }5 l#include <TC/tc.h>
2 L/ U: [2 g( u% d#include <tccore/aom.h>0 ]8 f, S0 Y1 h9 C! v) j1 C' N
#include <tc/folder.h>, q9 T7 p4 k# k/ J: l
#include <tccore/workspaceobject.h>) H1 R D6 _0 f
. d0 C% N8 S( d! W1 C8 p#define EXIT_FAILURE 16 n. k7 `7 B/ G/ q# J& O+ i% L
. I( Q/ b# |6 J" ]& V
static void report_error_stack( void )0 g! u0 C5 a: s
{& o% @3 x9 Y, B2 M# n. N9 N7 ^
int- Y, I, K" b; T- Y; ^1 ]* R! [. I
n_errors = 0,
! ]4 E* @* L1 E# o i = 0;
2 a5 o6 i' T" O! J1 o, D const int- P) }/ M: d$ m9 j5 t6 Z: |9 g* x
*severities = NULL,
2 q* f9 e5 Z/ p4 i: z0 j *statuses = NULL;( e2 g8 D5 K* e
const char
" {: e: r* `% [8 d2 q# w+ K3 B+ G **messages;8 H) f* h5 `9 i( B5 a. V
) L6 H2 `5 n, h) ~8 k: a EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
3 n4 \' b/ r+ `; i' T7 u printf( "Error(s): \n");1 h6 K+ x1 y+ U" N( }+ y3 J% H# H
for (i = 0; i < n_errors; i++)
/ f- N% \1 [, v {5 L; V) {- O3 f- Y5 b( }3 n
printf( " %6d: %s\n", statuses, messages );
- p/ `" E$ c; N# e% A }/ ~3 u# D& g0 H+ |
exit(EXIT_FAILURE);) w$ ^, b% p6 }; {; v; T: `' B
}) W% c. ?. H- a3 I" C1 x- ~
: Y' z) [9 A) b3 [* N& r
int ITK_user_main(int argc, char* argv[])+ X# K) M1 |- Z+ }
{! R X8 A! R# C4 f: k; a
int
C0 ]! f1 M7 o7 { Q status;4 V K" }4 W/ r$ R5 k V" s3 l
char0 e- \3 Q' V/ s
folder_name[WSO_name_size_c+1],
8 J, X& J) a: l' l* d% I# Z0 o fldr_desc[WSO_desc_size_c + 1],6 l6 D+ d4 z. R/ _2 A' o
*message;3 p7 }" b3 x3 J
tag_t
% n0 a, z3 [/ }$ m( M+ N0 X- I6 V new_folder;6 F8 G, J5 w I. E+ J+ {2 n. U
7 c) j" N! K8 L: W' k ITK_initialize_text_services( 0 );
+ e ~+ d! [" _ status = ITK_auto_login();
: n# Z! D0 [9 |8 D if(status!= ITK_ok)) w" E7 R, n/ E2 [6 ] h, I4 ^
{/ q/ B7 |5 Q+ q; ^7 y# y- l
report_error_stack();
5 B$ ?4 \0 _& G }) Y1 ~5 i9 r5 r; C* ` U& G5 i' G
else
: ]$ C) F8 i/ P0 {, l7 N {
" Z7 }" F) i& I7 E1 q printf("iMAN login successful.\n");8 Y _6 c8 s: M2 w% k3 m
}7 G( r" W6 t7 h: o* `: z+ ^
5 q* g8 d6 l y% s1 v7 }. P ITK_set_journalling(TRUE);
# y1 D2 x" [% g& p2 X' e0 w4 w
3 N& f5 c8 b, ~7 @ if (argc > 1) strcpy(folder_name, argv[1]);
& O6 `& c% U1 t- x else
; ?6 }# ? M, d1 L2 G {
' ] N; n' u- b- n% F) f, i* f printf(" Specify the Input in Following format : \n");
6 l$ x8 O E7 _- ^- I& j printf("program_name folder_name folder_description\n");8 M. Q ]7 ~ V
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");- z8 d" v0 O6 K0 r: V4 T* O
return ITK_ok;
5 z! ?9 ~* F4 J" ]$ q; z- J } 2 p0 v/ n0 ]/ s5 }& m1 H7 Q
: i1 R: A1 t. D# @$ I7 I
if (argc > 2) strcpy( fldr_desc, argv[2]);
" w1 f3 ?, @; f4 h else strcpy( fldr_desc,"");
4 p6 w7 m+ q: j' P0 B- ]0 b: b% W' j* K
status = FL_create( folder_name, fldr_desc, &new_folder);7 z$ Z0 T3 N% J7 D, J1 v2 P
if(status!= ITK_ok) report_error_stack(); 8 z: T4 ~" z& Y) @9 y- Y; Z
: i& y' S' y1 m2 t status = AOM_save(new_folder);' l) A- t& u. o# e; w" m3 x0 z* [
if(status!= ITK_ok) report_error_stack();" A, u! M5 s: {% A# V) ~
else printf("Folder '%s' Saved; ", folder_name);
( V: B& A# g# P6 Z
& I3 A! [1 M; R6 U) \ status = AOM_unlock(new_folder);
$ M( n7 @, N$ r& F if(status!= ITK_ok) report_error_stack();1 k0 C1 v2 u/ m' k& ?
else printf("Unlocked; ");6 |+ b# o% F1 a7 C
. M8 q1 N3 ]; q8 ^& n4 m/ [, y status = FL_user_update_newstuff_folder(new_folder);- b& b a8 i7 I4 b! d, K6 Q: [
if(status!= ITK_ok) report_error_stack();
f4 {; t* ]# X; X( s) Q- [7 x else printf("Put in Newstuff Folder.\n");( a* I1 C1 K6 P
4 G! Z$ R, \% D3 w" C ITK_exit_module(TRUE);
3 b) q" \. F) x# j, o' v return status;8 a2 l8 i* k, v3 ]8 o/ n( @+ X
}
+ F7 p, d$ Q! v, C |
|