|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
0 E0 [1 }9 Y2 a! l8 [& w+ S7 w- j# r; G* j
Teamcenter ITK二次开发源码分享:创建自定义文件夹8 M& ^) D" Q: _
输入的第一个参数是文件夹名称,第二个是文件夹描述。
: T3 a2 j4 E& T8 ~8 O0 s
( G) K# d# _9 K# {# g, ?* w9 Q$ R6 D0 G. q# C+ ?
#include <TC/tc.h>
' F/ O% F& t# ]& E) Z/ E! m#include <tccore/aom.h>
: ~" [$ V% h1 w6 }9 \2 {#include <tc/folder.h>
9 U" L) ^& s. ]- d `; A7 b' U#include <tccore/workspaceobject.h>
D# t8 K' V$ [* G' f
0 s7 v4 x# B5 w#define EXIT_FAILURE 1' f. b* n" O i7 \ y' v9 i
$ [" k' ?5 q( }/ ~& S
static void report_error_stack( void )
2 F0 D7 y I8 Q5 h+ H# R. J {- ~; s- c" N# x; V/ e
int. A; [& k, Y, l9 P+ J
n_errors = 0,
& v& X3 x+ _7 \, q& r; }5 Z i = 0;+ e4 H+ G2 a- p& a( x/ P
const int
0 R- R8 o5 C$ l* i *severities = NULL,6 |7 }6 f. ~- X/ N! N
*statuses = NULL;4 K3 r4 B2 j+ i; W8 ?
const char
7 }" Q& ? n6 U" [ N **messages;9 S: A* G( x {& B
. L) p) \8 j$ Y: e* Q. U- j EMH_ask_errors( &n_errors, &severities, &statuses, &messages );' k! o; p3 X- u" f
printf( "Error(s): \n");; I: ]1 C* ?! ]" O
for (i = 0; i < n_errors; i++)
! ]$ m* E6 _7 p. [+ F# K {! Q3 W* Q8 n3 S
printf( " %6d: %s\n", statuses, messages );
7 F! J$ s) J' d' S }
" @! J: m! k) `/ j. G7 T v: }: C- _ exit(EXIT_FAILURE);
( |8 H) m4 G, j! _: p5 x' L }0 y; Q E+ X# T, z X
: q4 @" @ d$ p" F7 l
int ITK_user_main(int argc, char* argv[])( Z a3 h! M; c
{" ^& e, a8 b, z2 N: P9 i5 t
int
4 [& z/ R. b( A+ E: s2 f2 x status;
7 }% Z& _! r% ~7 Y: `9 y, ?: w2 e char
# t; Y j9 N w folder_name[WSO_name_size_c+1],$ V: k7 y& m, r7 K
fldr_desc[WSO_desc_size_c + 1],5 F+ k7 i) @! i; J* }) L! _# K
*message;* e) _/ y9 e F* X) Q. _
tag_t" m; Z$ c) j& F$ ~* G6 Q
new_folder;
. C2 W" ^% m" K0 f" A# V
# O6 ]+ j1 o/ p; p$ r. O ? ITK_initialize_text_services( 0 );% [4 p4 _8 x4 Q/ B6 _ b" e
status = ITK_auto_login();/ h7 q1 z! G; e& k
if(status!= ITK_ok)
5 S# O M5 _. S2 p. F {
. j8 o) q4 X1 d* g1 x, h* F' Z report_error_stack();9 }4 G' v4 ] d
}: U! u' ^& a5 W1 C* I& n
else: x" z4 b, [% S! ]1 s
{
- y8 K4 z/ n: ~! ] printf("iMAN login successful.\n");! E1 _: e% h% n5 A$ I: @9 J
}
7 k/ K# D3 i* `% Y2 l- b6 V' ^& k) r! r; e4 w
ITK_set_journalling(TRUE);
- S- G. B- V0 o2 m+ o$ z
# {* r2 q; V" c; P; S( ^ @ if (argc > 1) strcpy(folder_name, argv[1]);
4 Z4 J! P0 t7 B. O7 m: z d0 i6 x else8 P& }. K e9 X' A# k$ d
{' y0 W% G. T% p
printf(" Specify the Input in Following format : \n");
' o0 q- H8 ]( W1 x% d7 Q printf("program_name folder_name folder_description\n");1 P4 A& Q3 ?" f# D
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");5 H {& C+ B8 s5 I
return ITK_ok;
4 |. c1 B$ b9 u( ~7 K1 S }
. Q/ f, T5 D) Z1 V& ?6 v9 h0 G6 m, Q6 ~& n
if (argc > 2) strcpy( fldr_desc, argv[2]);7 T% F5 A5 x; ]/ ^$ D
else strcpy( fldr_desc,"");
$ Z! M# M6 O3 _% l# g( o# K; z- z6 \+ R' c2 J- O0 S( d7 x& Q# }: i1 M" v
status = FL_create( folder_name, fldr_desc, &new_folder);
6 D+ L1 b4 x5 H$ `# s1 o& @6 r if(status!= ITK_ok) report_error_stack(); " J" |% x5 `& w$ b" F$ k
' v* Q4 L; R3 b. B status = AOM_save(new_folder);
9 x, |7 L! @, ^& _; @ if(status!= ITK_ok) report_error_stack();( d0 z1 |. K- _8 u9 \, g1 Z( H
else printf("Folder '%s' Saved; ", folder_name);
0 Y5 c' A# a9 h" D5 s# ~2 s2 G) B" T. H5 p9 u
status = AOM_unlock(new_folder);
9 o% T) v2 G# w if(status!= ITK_ok) report_error_stack();
" ?# F$ q5 G3 [& B else printf("Unlocked; ");
" y2 Q2 U( c1 {+ d$ u" L! L0 @' w% C
status = FL_user_update_newstuff_folder(new_folder);7 ^& M2 `* u. ?8 |8 z9 y2 [
if(status!= ITK_ok) report_error_stack();4 J2 I* \$ x! F! D
else printf("Put in Newstuff Folder.\n");
) d8 |. a! u H( W% h# z2 J) B+ P" _
* f% T% V' S+ d1 l- v ITK_exit_module(TRUE);
' b5 q9 k' q8 ~: A( k: I1 A* ? return status;( {$ i9 @& t4 H% M8 a
}9 R. I2 m V1 y3 u& s7 H$ h3 Y
|
|