|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 G* z* q% J" L. K0 A3 j
- ]! @; q% A% h- k
Teamcenter ITK二次开发源码分享:创建自定义文件夹
+ {1 G1 R# B# V: @" s输入的第一个参数是文件夹名称,第二个是文件夹描述。2 ~0 n0 W- M# t, a1 k8 G* ^
( u& \" d, }! |2 J
6 r3 ?( G! H3 T9 G$ h3 X0 C5 M#include <TC/tc.h>
* w, M- p9 c: l7 [6 H#include <tccore/aom.h>
: V: B( L1 v; J0 d2 C#include <tc/folder.h>; o2 E0 O' j1 g
#include <tccore/workspaceobject.h>
3 ^1 c1 v/ ~" p
9 R0 G1 u o& d. X+ w#define EXIT_FAILURE 1
& g: f: S7 C8 u- [: i y! I) H0 C5 J0 k# }" ?0 l( ]
static void report_error_stack( void )3 C& r, ?2 e+ h* G7 c/ c# ^
{3 C5 u9 ]# @4 O* H8 h, O% m: l4 |
int% ]6 L2 E5 m% r0 j' b* Y- B
n_errors = 0,! X* A$ t. _- O0 y4 D
i = 0;' }7 ]& D- w6 W9 u. A) R( ^- L
const int
8 r/ _+ b' u& p. e7 ~ I *severities = NULL,
: k8 H/ r' l! ` *statuses = NULL;) S6 l2 b$ q% a1 P
const char
; Y8 V; i" |. K% h# A" _ **messages;
- P9 f9 E2 o* E+ T, Z; Z5 ?, }. q. V1 J/ U5 J5 u9 Z
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );8 u v2 q% r' f3 M$ J
printf( "Error(s): \n");
: x) [3 {2 U* F* n6 z5 O for (i = 0; i < n_errors; i++) 3 Z* }" r& l2 [1 ~8 U
{
& D) J7 w1 c& H: B* K# D printf( " %6d: %s\n", statuses, messages );
" d# T8 W2 N6 |; h- | }- u8 R% J5 g9 l3 _2 z
exit(EXIT_FAILURE);
{) j% F9 C" k5 {8 v8 I }
- ]3 y8 b# t7 o2 r, \$ j' u$ K# n, I% L
int ITK_user_main(int argc, char* argv[])4 O3 D( k# k# X
{8 g- F5 o! O* u; _# p: ^
int
) f! Y# N% `; ~" F; n0 K' U, b+ ] status;3 a {/ q3 ], B. w' a8 Y, A; j. ?
char; v# a+ l, O2 l; |8 u, k" P9 D
folder_name[WSO_name_size_c+1], N1 a$ r- J! c
fldr_desc[WSO_desc_size_c + 1],% K* y5 T3 \: N
*message;4 K2 {: M2 P! k$ {' i+ R) n
tag_t3 Z9 v! u' Y7 a: s. I6 M
new_folder;
& Q: \# U% z5 K* d. @
5 ` q8 w) Q3 P8 {, U ITK_initialize_text_services( 0 );" i' U4 [6 C$ W3 o8 L1 J+ ^5 o
status = ITK_auto_login();
1 @% h* x: u' P" t- }/ v8 ]* i if(status!= ITK_ok)% |9 U6 |4 N& }% E( S, F: ?
{
2 Z4 h- f: @6 g- E& O9 Q1 ^ report_error_stack();
0 f9 P. f3 p; u D3 ~' I }1 K) I M7 [" E# G% i$ F T
else
/ c' X% I6 L/ O3 }' t {
* v0 u' i8 S/ c& D printf("iMAN login successful.\n");1 }% n3 B# c& V$ }. [' U; F
}
* q7 x8 T# \7 z& w) E' _- J4 L3 B& u! j% V+ a$ P. X
ITK_set_journalling(TRUE);
" W5 e3 t4 f( X
& n! j5 K: p' J. K* \* W5 i* n9 y if (argc > 1) strcpy(folder_name, argv[1]);
8 ?% N, u3 ~+ v/ w else
' @1 ^& |0 d* n1 h8 ~ {
$ h7 \# `- P! [8 q% k. ? printf(" Specify the Input in Following format : \n");9 R: [& n( f+ y6 C7 W0 o4 d7 b
printf("program_name folder_name folder_description\n");: P3 A8 H5 Q# ?; @
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");# u+ U/ T3 R' \' ?1 h/ Z n5 f1 U
return ITK_ok;
; [2 ^0 L. l1 B- a" i8 d# F$ N }
# M8 I- r4 n2 M7 Y s" n" e( D- E8 C/ I' R1 D* @ T
if (argc > 2) strcpy( fldr_desc, argv[2]);
" `9 R# q/ u2 h9 P else strcpy( fldr_desc,"");* i8 w. Z) c5 D0 C# j/ q
$ g- A. z1 X" @$ `* E3 u status = FL_create( folder_name, fldr_desc, &new_folder);% c+ q1 Z" {" N) p' k( X
if(status!= ITK_ok) report_error_stack(); 5 S% \- l B2 F) s6 P; s
# L- w3 N) J; s2 u) ~ @! x status = AOM_save(new_folder);
1 q& B& H. k. _4 X, q' l7 O) h) w if(status!= ITK_ok) report_error_stack();
/ k+ [: l4 V* p- f" ~1 t3 H% A' R else printf("Folder '%s' Saved; ", folder_name);
Q- ^$ s, Q# }( I3 }. F x1 F! v# j( u/ p
status = AOM_unlock(new_folder);/ u5 X; s/ b4 u! Q+ q
if(status!= ITK_ok) report_error_stack();
4 g3 q! U4 H( D7 v% ] else printf("Unlocked; ");
+ Z- \/ t2 o1 `9 }; |6 p! `; x% q) Q4 G& X4 h, a8 u) f- I0 I
status = FL_user_update_newstuff_folder(new_folder);
7 \7 `6 w0 v0 o. T+ ?8 k# o if(status!= ITK_ok) report_error_stack();; I. k, ]' ^7 {8 V3 D5 B9 g1 M) b
else printf("Put in Newstuff Folder.\n");. G4 A9 a# b" W, {3 l G- t
3 W6 V9 I+ N7 G
ITK_exit_module(TRUE);
9 K$ {0 ?2 S, E. Y' I" ~3 O return status;. p' W% q3 V: ?# o
}
' C# \" x, Q) i+ Q, L# { |
|