|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
3 X5 g$ J: d [+ V4 j. _$ I. F1 d- I5 @& w L/ E9 r9 z/ C
Teamcenter ITK二次开发源码分享:创建自定义文件夹
3 x/ r% ^- S/ t2 ]输入的第一个参数是文件夹名称,第二个是文件夹描述。/ l8 ^6 \' E" v) W X
, ? Z4 Q) f/ o& k* S$ S2 J& `' ~
7 X2 k6 h& T1 T% E. T4 ]& M! z8 p
#include <TC/tc.h>1 @3 l2 E4 C5 y2 q& f2 {
#include <tccore/aom.h>
, S" d* I% ]' O. e5 Z+ O#include <tc/folder.h>2 X F! L2 k b- [7 C
#include <tccore/workspaceobject.h>: U, J7 }8 @0 q" Y! e
( s6 u" a0 L4 W5 x* j6 D1 v( n
#define EXIT_FAILURE 10 }! k, u7 G- O2 p ^' _
9 h2 P& R3 p# p$ }; X
static void report_error_stack( void )2 U1 s1 Q. z8 T' }1 w
{; A: h: M5 C$ R. `! _8 Z5 I
int
& c' [' B/ S6 t' C3 b% v* Y$ z6 F n_errors = 0, h9 T' N0 C1 k3 ?9 r& v' G3 S* I
i = 0;- n* O$ D' N3 @9 c8 n! e ^
const int! s" U5 N0 w1 s) G/ Q6 W
*severities = NULL,
, M+ x1 ]& R$ }" u, {+ c$ p! c *statuses = NULL;
0 {- ]0 C9 F( Y. P7 W# {# r const char
9 N. @! `! Q* b **messages;
3 Z$ {5 b3 A* h& o" O! `
+ Z3 q: G. U; I9 ~; ]. O- A! y EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
H6 e" c8 u- B6 V6 {) i" i1 I printf( "Error(s): \n");2 ^' Y% m% K8 P$ E h9 d8 W
for (i = 0; i < n_errors; i++) " d# l" t7 j% N
{3 l r& [7 ]. J! u
printf( " %6d: %s\n", statuses, messages );' g; R+ `* k$ O: M2 R$ c
}
; k0 z8 D, S% F4 u: `$ T exit(EXIT_FAILURE);$ J/ e7 O1 T4 m, B. A* @, M
}; C" Y" @# r6 s' M
- J5 K1 h& F" a. Hint ITK_user_main(int argc, char* argv[])) _- g% X$ [7 |4 h. s
{
. Y$ u: m. T: W. N7 r* s8 L int
* E8 V- B* C7 w0 `0 K; A! E status;" v% J& A+ z. D- X) A
char( L% V) d0 A9 ] {' U" A! ~
folder_name[WSO_name_size_c+1],+ T4 m0 v# A$ U5 L
fldr_desc[WSO_desc_size_c + 1],$ @: G1 a7 D8 i% y; r* c
*message;
& ?/ Q$ [$ t. u7 N tag_t; G( i" U! S* q; W! _
new_folder;' w' c# Y# k% d" s# a& r5 L
+ N! U R6 ?/ t7 X4 S7 _1 O ITK_initialize_text_services( 0 );5 |9 ~8 o* ]7 E5 M; ~
status = ITK_auto_login();% V# r' L$ p8 X. m, i: D; T+ z, Z
if(status!= ITK_ok)
1 A9 d1 i# H/ `$ }4 G6 [- p {7 R" W7 h; i% o, v$ E( i: I
report_error_stack();
1 W& v! Z2 V9 {# W5 n0 a* g2 E3 x }
2 m( b; H! G) X! h3 d. i) w else
: {( b6 ?3 U; X4 V( T' t( u {
1 S$ V+ F: z3 l0 `* z printf("iMAN login successful.\n");
/ Z% N8 X6 x) y2 R }
% ^6 }6 Z6 }! b/ y- d+ l. n) f. F" a9 \/ x H. O1 w: E
ITK_set_journalling(TRUE);1 w: g* K& K! P. o6 ^/ s$ g% r' D
: N) _% {) Q: a9 D7 s d) z" G2 i
if (argc > 1) strcpy(folder_name, argv[1]);" v- ~ A' T/ B; H
else
3 p( o6 _/ d6 i7 ^) z! A' d: O {, B( n/ o& p& x% C- X
printf(" Specify the Input in Following format : \n");& h* s$ E, G' E5 |
printf("program_name folder_name folder_description\n");
: B4 r0 W2 g) d/ p) v& A printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");8 W1 f) J8 m& y
return ITK_ok;
: N% a5 F0 w0 Q7 n6 G } 9 L# b! h! V9 W
2 t% i+ A) n/ z+ Q3 y7 A if (argc > 2) strcpy( fldr_desc, argv[2]);- h1 \9 B7 O& J E9 r- {& L
else strcpy( fldr_desc,"");
! X) e) @' q; {" [& j" [/ o" r) M( F
5 J) s1 F5 p+ _ status = FL_create( folder_name, fldr_desc, &new_folder);% s! b- m2 v3 `- ]- U1 e* e
if(status!= ITK_ok) report_error_stack(); ) @$ n' d! S, ?! p- d. T& ~
+ B9 k$ c: L: T1 j9 ], h8 c U$ V status = AOM_save(new_folder);- |% r: i) I- [6 }9 e) D; p
if(status!= ITK_ok) report_error_stack();2 I2 V" v1 C3 u/ h9 P5 t
else printf("Folder '%s' Saved; ", folder_name);
2 G5 N2 e7 k7 A$ @0 R$ G6 M
8 M0 Q4 e- ^/ C3 ?1 ]3 a t$ e1 ~- H status = AOM_unlock(new_folder);: L: Z' `5 \4 M3 t0 s/ K
if(status!= ITK_ok) report_error_stack();
' V# o+ j3 b7 U: o; s6 h else printf("Unlocked; ");# h) Y# W5 O9 }- n0 D
3 Y/ }1 K4 k6 U( \
status = FL_user_update_newstuff_folder(new_folder);. M( d+ a8 O1 m; [, \. X( u/ R& F
if(status!= ITK_ok) report_error_stack();$ h/ Y' X9 B4 P- z- N. X
else printf("Put in Newstuff Folder.\n"); ~0 u# R$ |9 g/ H* F
* |8 w0 b% W i( ]5 _ ITK_exit_module(TRUE);
3 J$ K+ c' l3 e, V6 g/ k5 B return status;
. y# I& p5 t6 i6 Q2 e. |}& m/ }8 E) R* l9 D" A
|
|