|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- h9 t2 _# H- F3 l8 I3 `+ Y- L9 ~+ R
Teamcenter ITK二次开发源码分享:创建自定义文件夹
1 P/ y7 q8 h+ k输入的第一个参数是文件夹名称,第二个是文件夹描述。
& O8 s3 T% [: ?# Y8 H: l/ } N* x; ?6 Q5 {9 b! Y
$ h' |( N( v: }#include <TC/tc.h>2 p) m$ Q/ j: |4 j. y$ z
#include <tccore/aom.h>
9 w8 D3 a5 M( N ~#include <tc/folder.h>
8 b* I( p5 L1 C#include <tccore/workspaceobject.h>( i+ q7 G. M4 w
1 x& K# R+ n6 O5 R
#define EXIT_FAILURE 1/ h, g8 K0 k$ F0 _5 ^0 n
$ s2 f# m2 a! x7 t7 z
static void report_error_stack( void )
/ Z1 C2 m4 `' P7 K: l+ _9 [ {( ^6 p5 i' q0 D+ W* \7 ]! P
int
8 ]1 Y* O0 ^2 a1 v* a7 \ n_errors = 0,
' a7 L2 d$ v" e# @) R2 y i = 0;+ J% l5 v2 ]! { T& N
const int
* S$ v8 w# A9 q; ]% a4 K7 P *severities = NULL,9 u1 b$ A3 Q" h( f) t
*statuses = NULL;
' z" a7 ]$ e6 P$ U const char
4 D% `, L7 x* z X/ M$ A **messages;; `& d0 ^# O D
8 F) a; J- c. D( |3 h2 Y EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
- J) ?' O: |: b" j$ R6 \2 Z printf( "Error(s): \n");
! h& Y& c, [5 H* R/ X for (i = 0; i < n_errors; i++)
( o0 _' b6 F5 M% c2 }" S) }4 ` {9 e" }, v# y, W0 W
printf( " %6d: %s\n", statuses, messages );
i2 |+ ] c: `. O9 Q# `/ O }' u$ s7 u) F, i9 X& y
exit(EXIT_FAILURE);
8 W2 u$ Z) g) G! E }0 o0 D0 Z# u* Q8 g; g
1 Y; z+ l) H. K
int ITK_user_main(int argc, char* argv[])8 f+ ?0 I2 b' V D0 T! C
{( M& H; j1 I A6 r' R
int+ t' S. A! h3 @& W& v- o& Q" B
status;* D) R, ]& C, u# j: g# L* y% K; C, o
char
; O( ]$ l% d) k folder_name[WSO_name_size_c+1],. s* N8 A) Y; S$ b8 M8 G; P! I
fldr_desc[WSO_desc_size_c + 1]," e5 Y) ]3 h, _1 w7 L
*message;4 _2 I' z0 L9 {8 k- o6 O7 a
tag_t- ?/ ~# E: v' d9 X2 p, x6 J9 F) H/ O9 W
new_folder;
" ^4 e' i; C; p/ k& d
1 M3 q( C9 L1 u ITK_initialize_text_services( 0 );
# f7 {% P5 m2 a" X, X; v1 [7 E status = ITK_auto_login();
e' w2 {' p/ @; h1 q2 W% ]% a if(status!= ITK_ok)
" H0 Q1 L) e' t2 E. ^) V {
9 L# G/ b0 v& d+ i/ b report_error_stack();$ s. o& N! j2 o" K u* Q) v& |# b
}
: I" R' p! W& f else5 C6 v4 h( V7 ~+ B
{& M) F6 [* l. }- V
printf("iMAN login successful.\n");* O9 c; w* J, \" m# y
}
; `+ ?; S" i7 e) z7 X
! u+ m9 e8 Q/ N ITK_set_journalling(TRUE);
$ k. Y9 K4 E" L; |" c. [! ?9 { X5 g
if (argc > 1) strcpy(folder_name, argv[1]);
# W# a1 E4 ?3 L; `' I i- B else9 k$ |% e% k7 K
{
& {) D$ J1 `3 @& Y' M z printf(" Specify the Input in Following format : \n");
U( v' z, `+ \+ S& G printf("program_name folder_name folder_description\n");
' k* _4 ]% P8 ^+ I( ?) e printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");- s1 A7 S& e# _' T2 l
return ITK_ok;
0 {0 l. m- ]+ I F/ X, } }
1 y' I" n: S& t1 k7 ?6 _' U( c! X( B' O, j
if (argc > 2) strcpy( fldr_desc, argv[2]);+ R* @3 {3 t& Z/ }
else strcpy( fldr_desc,"");$ Y! ~# c# [; W5 V; X* m: H
1 p! Z- a9 a8 u/ [! D8 y
status = FL_create( folder_name, fldr_desc, &new_folder);
7 P$ L! p" P" N0 y if(status!= ITK_ok) report_error_stack();
- q5 w7 I+ w, z% D# \1 }
) j. p+ R8 x2 L2 F2 H status = AOM_save(new_folder);
. j* r! n& a1 x( y( J if(status!= ITK_ok) report_error_stack();6 p, `6 K/ b7 C1 y% @" Q0 f
else printf("Folder '%s' Saved; ", folder_name);7 R9 K) G2 }; Q/ o2 Y
9 f2 l1 Z% p% g0 M4 R" `" v; t( m status = AOM_unlock(new_folder);
7 P7 U$ g5 }0 |) }6 a6 { if(status!= ITK_ok) report_error_stack();; n& j" H' d4 P/ u5 X' E
else printf("Unlocked; ");9 t/ H" N8 D6 d& ]: ]& w7 h0 x
" M# N4 a; }2 S9 |
status = FL_user_update_newstuff_folder(new_folder);
/ V/ H. _; Z' ?5 ~8 t" ?8 B, R if(status!= ITK_ok) report_error_stack();
3 U( ]4 f6 u- o8 z- X8 S else printf("Put in Newstuff Folder.\n");5 u" `! v1 t" N0 a/ R
+ ]3 F4 M% O! d6 F. z; q
ITK_exit_module(TRUE);# a: n8 j% K. b5 A+ n. a+ e' Y/ q
return status;
/ ^# D6 P$ l% q}, g5 Z$ j8 k2 U3 }; k0 ]5 k
|
|