|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
( W9 \/ b9 ^" o
! C, v$ j" V2 Z8 c6 A2 ?Teamcenter ITK二次开发源码分享:创建自定义文件夹7 }$ V2 U. A1 t( {
输入的第一个参数是文件夹名称,第二个是文件夹描述。# K7 G: X4 ^) o; p! b& s6 {* F7 V
% a' K. U! }8 T- {! Q6 J2 l6 ?- }
1 h3 q" e: M. \* Q- a8 u#include <TC/tc.h>
v: `2 X7 `. k, B) S( u2 o#include <tccore/aom.h>8 j0 q/ B6 ]4 k/ R: w A! k& q
#include <tc/folder.h>
* |- W" D7 ^6 J- I& r9 U#include <tccore/workspaceobject.h>
4 \8 u$ D& F9 O. E- f6 @ {3 Z8 k, f0 O1 Q* d4 J5 W0 B
#define EXIT_FAILURE 1! t- J C$ f" h# t3 m" M
7 P; \( x5 v, @9 U# ~. y5 i D. wstatic void report_error_stack( void )
: x4 x9 S0 X6 T& D8 B {
( {) N" }* ]3 u: z" M- Z0 F int! H: a3 ]0 O3 B( X
n_errors = 0,
2 [6 }; J, C, x& {; z0 F7 S1 V$ q i = 0;5 {7 U% d/ r) E5 c S9 g' z7 ^; m
const int
q$ z* T7 \* H `, i, b' R5 W *severities = NULL,1 x8 h9 v8 Z. C
*statuses = NULL;
3 v: t [; u4 n9 V3 @- q const char
$ O3 C4 C9 _2 D+ k **messages;
) [9 A9 O: v& y2 x. U; i6 |1 F$ y7 k Y8 _" I% M+ M3 {
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
- i; ?' ~, P8 V8 P printf( "Error(s): \n");% |- V' B( c# D6 |
for (i = 0; i < n_errors; i++) ( G1 K. I f: [! }0 M2 c5 h
{
% A$ ^5 |! n* b9 E printf( " %6d: %s\n", statuses, messages );' [! y# l }5 f: e5 ]7 I+ }( y
}
& h: K( Q% ^2 J* D2 B J exit(EXIT_FAILURE);3 t6 ?) ~+ B1 }$ M0 j2 `0 l0 u
}
5 t- E8 j' a! ^3 a0 q# ?) t4 x( A2 v- Q- s) M' w! A7 y$ u
int ITK_user_main(int argc, char* argv[])
% Y; Q2 q# u/ F* f$ E{
9 F" k( j. }% P int; k& O/ r8 k6 Q4 d
status;
3 H e9 x2 T, J6 F' h7 Q; o char
' P; O1 e8 \( g8 r9 w, R folder_name[WSO_name_size_c+1],- r6 \. I7 t/ {, r* H! W/ \
fldr_desc[WSO_desc_size_c + 1],/ J* l4 `9 n8 N, |
*message;
" j' A8 Y1 b, A) a% F$ | tag_t
& q7 h/ R. A" U2 z+ r& e' {) j0 ^ new_folder;, ?8 p! q. l5 M: ?0 V. V$ e, R: @1 {) S
0 r1 H- X R7 h: D* y8 K. F5 v3 ? ITK_initialize_text_services( 0 );# ? r2 f) u o3 H
status = ITK_auto_login();
7 D0 a% N4 d% |0 y; M' m* u if(status!= ITK_ok)
; @+ [3 [( \' k+ Q) r {) ^# B5 r; o' x' r) b4 U
report_error_stack();% b& W% e7 y# T I s
}8 E* ?$ `) }6 Z* v( H
else1 |& K$ w; @6 U% }9 g- w
{
. U% \2 y& s: d% ~' O printf("iMAN login successful.\n");8 F0 P" m: z, g1 r5 l
}
+ F$ r1 B" y1 w5 @4 U. g# f8 r
9 ^$ |( d3 o& X* d C) B ITK_set_journalling(TRUE);/ a9 Q( U8 B: Q7 |, p3 K( ^5 T
% \: e& c/ i* o0 q* |2 {
if (argc > 1) strcpy(folder_name, argv[1]);: p! }+ b7 U" d" P
else0 t- J! q- D" n2 C) g% [
{
& T6 i6 a' o7 q* ^- b) B printf(" Specify the Input in Following format : \n");
2 b7 ]9 v- D: Z# \5 V" A printf("program_name folder_name folder_description\n");% ~3 i/ C1 @- B9 J, n6 J; M
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
q R0 }1 B5 p+ d n, o/ N# R: t return ITK_ok; + X# ]* r9 |- l$ T& ~; u
} 9 p5 T( a8 e; }# g; {& F' u
9 \) P- W N7 M( L
if (argc > 2) strcpy( fldr_desc, argv[2]);
$ B( g+ g8 r' j( [6 N: k! |. w else strcpy( fldr_desc,"");$ O$ X T. Y) x3 l; F3 M+ m1 ^
" Q+ g6 F) z$ B% [4 G
status = FL_create( folder_name, fldr_desc, &new_folder);
5 V( R. h& L# q) h! z' F1 V$ | if(status!= ITK_ok) report_error_stack();
2 W! w; A4 C# y# y% y2 T7 T z1 \1 f3 x- ?$ o
status = AOM_save(new_folder);: o3 L0 ^5 y1 {9 Y
if(status!= ITK_ok) report_error_stack();
# v7 k( l- e6 r+ \( H$ f. ?) N" q4 Z! p8 C else printf("Folder '%s' Saved; ", folder_name);
8 u2 h; R" w4 o4 V, E0 V; h3 }- _4 B. t; x% r
status = AOM_unlock(new_folder);
' v3 v# a" ]& g1 S6 l( W if(status!= ITK_ok) report_error_stack();
1 y# b( ^3 b/ |1 T else printf("Unlocked; ");
; O+ h* t) _! Z4 t0 s3 ^
$ i2 a: r! m" H status = FL_user_update_newstuff_folder(new_folder);, ~* M0 E9 d* s7 l8 V2 ~
if(status!= ITK_ok) report_error_stack();
5 d4 g, e# ?2 \; t% F- c else printf("Put in Newstuff Folder.\n");& [' K& e4 {" c( s4 [' G6 }3 Q
$ z* {$ Y% \" n C5 d ITK_exit_module(TRUE);$ `6 U4 E8 F* T
return status;
) ]- W$ I. z4 P- K V}
1 ^3 B# h9 n( P5 V |
|