|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
" j* f: p$ d0 B; F: M# G
3 Y7 p3 W4 m3 x* b6 A2 u3 I
Teamcenter ITK二次开发源码分享:创建自定义文件夹) W" u3 f5 B9 E; I
输入的第一个参数是文件夹名称,第二个是文件夹描述。
* P, a P* X" ^' ?' I; K+ G; H, u& r/ H- }! @! P7 `5 r: Z4 Q9 b
( o; q: S0 n$ }. T/ @
#include <TC/tc.h>3 w. L4 t' m, `5 z' Z' Y, h
#include <tccore/aom.h>( p5 ^6 \# P U8 L2 v
#include <tc/folder.h>' [* [8 O% [4 i9 S
#include <tccore/workspaceobject.h>
% j }; e3 m& G/ s6 z. m' F0 q: _+ }$ K* r; M% \
#define EXIT_FAILURE 1" X7 W4 u( D4 o! ~- q% w
* [# M% T+ M6 h& V
static void report_error_stack( void )
3 k/ J& G; Y: C. w# v' R- q9 n, S: _ {
, r& R- @; `% W; q8 g& d int
: C5 p; C5 d, f: O, x n_errors = 0,
v4 M. W$ {" p: S i = 0;
' k! ]* `- Z% [, c9 y& k const int
& K% P& l' K; w1 G *severities = NULL,
- }( S! X$ {3 P) m( g+ D *statuses = NULL;
5 V' H3 W0 q `1 z/ F const char
1 ~5 O2 R$ z- R& `# t" ^1 o **messages;
4 ~2 K7 a* K; a- ^6 ^2 h D, J" |0 x$ l
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );9 {9 M( m1 ~5 Z; ^$ {) \) w$ u: v# l+ ^8 r
printf( "Error(s): \n");" ?( J6 w z# \& j6 q! g
for (i = 0; i < n_errors; i++)
' m' i* N& Y7 S5 E5 g {! t3 P- i/ Q* ^6 b: P+ b0 o1 `) [' B
printf( " %6d: %s\n", statuses, messages );
( E2 K* @) ~6 p1 K8 E }; r/ H! {1 a# ~ ], |) T
exit(EXIT_FAILURE);
, R+ ~4 E7 F# r5 x }
9 ~$ l* }5 t+ s! w: t U8 T
9 Y* Y( \) H9 n3 K! C! U* `int ITK_user_main(int argc, char* argv[])7 P$ o+ C2 V1 V: U
{# b' ~: C& N% v8 ?$ I3 B
int
/ y: l" q8 H3 Y; A* t status;
2 J$ S: U: H- a$ _. `8 N" V5 I9 { char0 R8 N& I n. z
folder_name[WSO_name_size_c+1],
+ j% C5 k- e8 b; |6 e# j& ^; ^ fldr_desc[WSO_desc_size_c + 1],6 S- {$ q& W1 @+ k+ j, `4 ~
*message;
: l3 F: ^+ @' M1 N$ v! t: x+ ? tag_t
; a' e, K5 ~ G) V7 ^, J3 l- b new_folder;) X- y6 z0 Y h4 {
7 f# N8 ? ~1 p# L* m- W ITK_initialize_text_services( 0 );- i& |7 K/ | D3 t& m4 d0 c
status = ITK_auto_login();$ D4 ~8 R9 u# ?) p8 }
if(status!= ITK_ok)
# a; Q+ z$ u6 {2 N {
* B8 A3 n3 ?8 J6 d0 k report_error_stack();
2 k, I! B3 m! u }
! Z$ i" p" T1 s5 S0 ~ else
% k r! H* n B: y# y {2 g x6 G, h- u
printf("iMAN login successful.\n");# y' v5 j1 i/ [+ T+ ^
}. b6 l7 E- ]- A2 V3 c
/ {( K; Q1 P6 I$ O# F% L
ITK_set_journalling(TRUE);9 V4 V' K, F, l
" B8 l3 }2 J( p* Q; p
if (argc > 1) strcpy(folder_name, argv[1]);
7 U# C/ o3 \0 a else* Z7 Q( S# P' K' G& P8 A! r
{
+ Y/ f; {9 z |) b3 P printf(" Specify the Input in Following format : \n");
+ d8 Q' w: v) M. k" e; Q7 h7 f printf("program_name folder_name folder_description\n");
5 z# W2 P9 c1 U! d7 `6 Q# T printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
# t2 W2 I' p6 \: R; a1 h5 c2 M return ITK_ok;
- O+ g0 Z p6 k3 p/ k5 U8 ?4 ?* W }
9 Q7 Z$ Y7 H0 c
. O" s% u0 e. @5 o9 W if (argc > 2) strcpy( fldr_desc, argv[2]);
8 M# h; ]5 i% i7 A, {# s else strcpy( fldr_desc,"");
4 Q/ l( K x0 \, P% S, M: X2 c4 I3 Y0 t/ y7 {+ Z2 k
status = FL_create( folder_name, fldr_desc, &new_folder);
; ?3 f* L2 d+ Q4 I5 v. Y" h if(status!= ITK_ok) report_error_stack();
. A; y; m0 y5 L Z/ I+ a
2 Y M% ^& a( b% m2 \$ M1 u status = AOM_save(new_folder);
/ F9 |6 n! i9 V2 M( [ if(status!= ITK_ok) report_error_stack();9 Y. S, A7 V5 x
else printf("Folder '%s' Saved; ", folder_name);
* N7 r- ~# ~; r- o
6 o& [. X* a8 k/ t# x status = AOM_unlock(new_folder);
) ~- I0 h C+ |7 [0 f+ f$ a: Q if(status!= ITK_ok) report_error_stack();: S3 {6 L- p6 g! m1 y
else printf("Unlocked; ");. Y+ u' k1 w2 v/ ?& o! E" r f
9 \7 a" u: K, |
status = FL_user_update_newstuff_folder(new_folder);, O/ d& X! e) ] ^7 Y6 S
if(status!= ITK_ok) report_error_stack();' M) w z! e4 b6 \
else printf("Put in Newstuff Folder.\n");
9 G% v8 D t$ \' a& `) [4 [
' y. I4 [+ B! g/ G: Q- {& j) `1 E ITK_exit_module(TRUE);7 y+ x& z( [9 e+ c; p4 _7 \" R9 Z
return status;2 W" A( M% l5 C8 g
} S5 g& C) w7 c a7 ?# E2 @/ J$ _
|
|