|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
* a& e$ X) ?! l$ B: z% Z9 |( J
, v) K/ V! N( [7 w" a% v( ]Teamcenter ITK二次开发源码分享:创建自定义文件夹
- {+ C& G/ P, U0 K输入的第一个参数是文件夹名称,第二个是文件夹描述。
, Z: y3 y! b* L8 P7 a9 N
7 N) a! b8 |0 C( C. ~9 t9 o: k" o
+ `) I5 O3 q- e" [0 a#include <TC/tc.h>
( V+ v6 j: i! D+ e. f, |5 N2 d7 N#include <tccore/aom.h>& n; `3 C# x- `& x: i+ K
#include <tc/folder.h>
' n* H7 T! S4 R, t2 E9 ?! V#include <tccore/workspaceobject.h>9 v- ]5 t; Q/ m7 U2 v1 O
$ E- z- C( G v; b, I* L! E4 V) M
#define EXIT_FAILURE 13 L+ D% \! d+ R
2 i5 r* ^2 _: O W9 |" Q5 ostatic void report_error_stack( void )
. n0 ?$ j r% {9 N, v' C {# A( {0 E% r! J2 K: R3 }
int
# o8 ? q; V5 ~5 E) A$ F7 m" u n_errors = 0,; i* s6 m: f$ K X/ @$ Q
i = 0;; s# Q0 I9 R- J
const int
0 }+ C3 K( m o" x( w *severities = NULL,
( k9 P+ r- w3 s d *statuses = NULL;$ {9 e; h( r4 ?' N: z8 u
const char
" T8 x s X4 D) M' D+ L3 J$ x **messages;8 w- v1 G$ ]6 G# f6 V
& _! y9 ]% K# |/ o8 {
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );: s# I0 ~0 N& `
printf( "Error(s): \n");
# }' [& ]5 p* B0 H for (i = 0; i < n_errors; i++) 0 t( e/ ?5 o6 p, v) }
{
& W! R( y0 X% n4 k$ l$ |- I printf( " %6d: %s\n", statuses, messages );6 D8 D% f+ L" R6 A4 Q' H4 j
}
5 _0 H/ N! i- d0 J, T exit(EXIT_FAILURE);
7 F! F1 ?' W! h }
+ q$ \) k) g3 z2 M/ a
: T* U0 Z2 ]) B* l# mint ITK_user_main(int argc, char* argv[]): K: @% A6 Y' V) s& N0 C# ?5 p
{
5 m' b/ S( l8 _( }, ]( O+ A int
: ^! \$ v% z6 E status;& [2 j% n+ K) w0 i5 E |8 G1 j
char
" I- [1 I; S5 m$ b folder_name[WSO_name_size_c+1],. D, Z! m4 I H4 f, `& S$ o
fldr_desc[WSO_desc_size_c + 1], i) p+ b8 j7 u3 D
*message;
1 _- q: Y0 ?% } tag_t- k ~7 f N6 `4 r3 W. F/ V
new_folder;
) c0 p$ v& O5 z8 p0 ]( |: x O* h, a2 @! @# ~2 }( C" m/ A9 m3 O
ITK_initialize_text_services( 0 );0 ^. G7 l Y$ H% J
status = ITK_auto_login();
, S- u4 H# T! b2 Q0 ~: t" k if(status!= ITK_ok)# \! Q( D1 k. \6 @1 f: Z( e; O
{# T" q% C8 A4 O! B, x4 v4 S# a
report_error_stack();
7 J9 Y1 i/ W" y) c+ S* [ }+ c" {8 V) {1 J0 q. ?
else% E2 t& n' R \: W
{
7 w& W) m( K/ o printf("iMAN login successful.\n");
! y @8 M5 m( f, E4 w. A5 Q }
' e! E8 m _" F2 N! U. f. P
, n/ C! T% t1 G1 C6 b ITK_set_journalling(TRUE);: f$ s9 H4 A- v% t, C
7 @4 `5 |- ]' I1 e. l" v" }# } if (argc > 1) strcpy(folder_name, argv[1]);+ g, b8 l1 N1 K8 X" \3 Q! h
else# s* r. L" i' S# T! [
{+ Q* t6 g: y9 |9 J* p
printf(" Specify the Input in Following format : \n");
/ T+ B! A# G: N6 I printf("program_name folder_name folder_description\n");4 ^' O9 ~% B; v5 a) _3 _4 `1 p
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n"); Y" X- Y8 {" `7 a. }* [. d
return ITK_ok;
; a* T( i' ^- l3 x9 X } ) |- G8 V& P! @5 ]! F$ _
/ k( Z. k0 j3 ? ^3 D if (argc > 2) strcpy( fldr_desc, argv[2]);
- q' c- ~4 X7 G else strcpy( fldr_desc,"");
8 t6 \1 G" b2 ?$ U4 L. e
. X% J8 K) H8 B m' [" e5 w status = FL_create( folder_name, fldr_desc, &new_folder);
h4 ?2 G* M8 o$ W$ M6 n$ ~9 u8 h if(status!= ITK_ok) report_error_stack();
( t2 i" h c9 A2 ^+ B( p9 M1 d
6 l$ I+ {5 q4 I# q status = AOM_save(new_folder);% F: b/ A4 q9 i. Z) C( E% z
if(status!= ITK_ok) report_error_stack();
# P4 G' o' e& G* D) U6 `# B$ f else printf("Folder '%s' Saved; ", folder_name);
# z/ r, X; q/ i; u# r; r' H: {
# V v z( T5 T status = AOM_unlock(new_folder);, S5 h- O# U- E4 M
if(status!= ITK_ok) report_error_stack();( V* `; U+ b3 B& F4 c9 B0 \) y# I
else printf("Unlocked; ");- H$ f8 B: j# a) {0 }4 m( T
; Y" t6 ]1 u( y, O; _& y* K status = FL_user_update_newstuff_folder(new_folder);; E- _$ I D) \
if(status!= ITK_ok) report_error_stack();: ^9 _: r& k4 S+ \. g! E
else printf("Put in Newstuff Folder.\n");
5 P( D& A) K, k& V R J" B
$ u, K0 O" a1 B2 Q5 g5 e& s ITK_exit_module(TRUE);
4 y; n. ?, U# d return status;4 U$ P2 M4 ]- }6 m: O: f
}
8 r, T6 X( U- `) d( }! n3 C; o1 V* _ |
|