|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
3 e. ?1 F5 y/ h& N* e
' d% d. H# u9 lTeamcenter ITK二次开发源码分享:创建自定义文件夹; z8 t3 h8 ?4 g+ {" v* }
输入的第一个参数是文件夹名称,第二个是文件夹描述。! \: W4 g6 z3 o$ z
4 ^: e: H ~: p* Z9 c7 T) K0 D8 E* B- \
#include <TC/tc.h>" t; x, D* `1 C& y: p
#include <tccore/aom.h>
4 ~7 Z7 w$ q; ?2 o* a% z% `4 s#include <tc/folder.h>1 q' s& q0 O2 [
#include <tccore/workspaceobject.h>
O% T* O1 `6 X/ A
$ u3 d6 |- l+ Q% b/ V#define EXIT_FAILURE 1
$ I0 a7 P+ R( @3 Y' W7 R
$ F& P& z7 j; B% Ustatic void report_error_stack( void )! K2 i" s! G* j$ i
{
& a) b, s1 X$ C0 L6 S int+ r% q, x2 }; Z' B" {& j, r
n_errors = 0,
7 s% s$ J5 {6 [. A! x i = 0;5 M/ ^' ^8 v4 @
const int
9 v0 ~) \; {! ?9 B9 A2 L# n *severities = NULL,
* j/ o$ O. v" V& ? *statuses = NULL;4 V! F& w7 S. [$ C' E2 N# t
const char: J5 {% K7 y* @1 r( ^, U
**messages;- i5 H0 E% v1 y$ a, T
( [) _7 d: g0 {, _6 s
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );0 ~$ p7 G8 j% ]0 F/ g
printf( "Error(s): \n");
- W) n. t9 ?' @% F0 ~' F: K for (i = 0; i < n_errors; i++) K$ @3 ^2 k H9 Q% v! a5 n, m1 F: k
{3 p! T1 q) m! J# U, M
printf( " %6d: %s\n", statuses, messages );
5 D; y% \ M* B! v7 X }- A6 p, Z: q; N- }
exit(EXIT_FAILURE);9 d7 `+ }; H( ]
}
9 g6 ]2 ?1 D$ R9 ^+ r) h+ n& ~4 |
* n$ A* H. b( y8 t7 dint ITK_user_main(int argc, char* argv[])9 f( ?& U' H! x+ E; e! a
{
, ~1 }" T1 j" \4 o int
% S# c; {8 \5 v3 E. F2 f status;; q( p2 `$ a) ^
char
+ m" w: r1 ~3 W folder_name[WSO_name_size_c+1],3 J, T) ]. I n4 {+ L) k4 H& V5 X3 z1 q6 ]
fldr_desc[WSO_desc_size_c + 1],
7 P; e( L3 C- u7 q1 a6 d: J *message;
+ \/ N- \/ E! s2 T# X/ O4 {" Z1 U tag_t
: i! t: ?7 g0 H2 m$ G new_folder;" e- n6 `7 M+ s" d% Z6 ?0 ]
) d$ p- e/ G, @/ N- `7 L1 j1 |
ITK_initialize_text_services( 0 );
. d( i, C3 k2 [' e# T7 H: Y: m status = ITK_auto_login();- N/ p) H# a/ G: W: c# I
if(status!= ITK_ok)
1 Y2 C, |9 M @* x% M {! A ^/ J5 D, j9 k& M
report_error_stack();- Y# z0 H# m! p \3 q+ `
} b9 ?3 ~& Y5 p5 y" ]) T2 d
else
h9 `* }$ Q+ Z5 ^' {, c" A8 x {. E2 X/ T3 ^9 N* K ~3 I4 ]
printf("iMAN login successful.\n");4 \$ P( G$ ]5 T% m& Y4 f
}
* Q" d2 j0 a0 `" |. o9 b% b* f. Z; Z4 `" ^* ~- q2 {- S e, q% J
ITK_set_journalling(TRUE);
0 G1 u! n- R/ Q: e7 O- a
) ~9 S3 X% [" _ if (argc > 1) strcpy(folder_name, argv[1]); U7 J1 N( i3 w$ E0 [ U8 |
else% H1 o$ s( Z, `( W) K
{: d1 w' S3 l) n* B$ ^2 k4 e. C& E
printf(" Specify the Input in Following format : \n");
4 W: o: S. o5 J4 d1 s/ j printf("program_name folder_name folder_description\n");
6 z+ C1 F U1 _! F printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
5 t/ L* K. z7 ]2 L; N return ITK_ok;
& `9 u$ u2 D- n7 t9 k% U } 3 w, d9 i% p3 P* i# J1 u% }2 @+ M
9 X9 o1 Q& \, y
if (argc > 2) strcpy( fldr_desc, argv[2]);
* Z/ S' y s! R4 l else strcpy( fldr_desc,"");
1 `& {- \* ?0 V( M3 S7 U6 c* j/ a; T
status = FL_create( folder_name, fldr_desc, &new_folder);) j* N# M( U* K# c, x+ p* I, D
if(status!= ITK_ok) report_error_stack(); $ ~1 \) f+ c, X
& I; b. [9 S T" W0 d0 n5 C- x
status = AOM_save(new_folder);( F( ?* w2 C3 Y6 e6 w
if(status!= ITK_ok) report_error_stack();
, D& `2 Y+ f2 F$ P @ else printf("Folder '%s' Saved; ", folder_name);, T. N5 c: u7 u1 s
$ j3 Y6 e; D% u8 t: U
status = AOM_unlock(new_folder);
+ V% M# V, Y8 r: P1 S9 ^ if(status!= ITK_ok) report_error_stack();
' u% ?% ]9 G4 H" O4 [$ S) S else printf("Unlocked; ");: F+ r' ]$ ?* y* j% @# @
- g. ?! W+ {6 _8 ` status = FL_user_update_newstuff_folder(new_folder);0 m$ d: M4 M$ ~/ w/ D
if(status!= ITK_ok) report_error_stack();
3 j. y' E/ G, t6 ~% I( j# N else printf("Put in Newstuff Folder.\n");
, c( K e8 k$ c, \
N+ p& x/ d+ Q ITK_exit_module(TRUE);
$ d% o# g9 ?. I9 Z$ V" l# W return status;7 V1 c. P, J& N$ _' X5 k
}
; p8 L( R ^: P |
|