|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
8 {$ q1 m2 P j: `: Z' v2 ]& I" [0 f! Q( ?5 B4 e
Teamcenter ITK二次开发源码分享:创建自定义文件夹
7 K; R( H5 b! P+ V2 L输入的第一个参数是文件夹名称,第二个是文件夹描述。
( O, d* n& B' v8 L- S# V$ y9 R O: U8 k/ F2 m; K/ \, |* A( d. i) b
; T& A% N' ]. J- p#include <TC/tc.h>
5 A: G! o- I B9 y x#include <tccore/aom.h>
2 h' |( q9 O/ c' f ^5 q#include <tc/folder.h>
k8 G; V3 j | f#include <tccore/workspaceobject.h>5 l1 D2 y$ Q% @& H; S
6 Z- E |$ h; |, @6 {- o
#define EXIT_FAILURE 1$ H e* l" m0 {$ E
7 A1 F1 d O2 f! P; vstatic void report_error_stack( void )5 k7 V- o2 U% T
{
* o$ p# B4 f3 L: @% }# w+ C' S int+ D3 d- n! W! r; ?" K4 P6 w
n_errors = 0,
7 z4 K7 a$ I" x/ g$ y/ l- |: \ i = 0;
9 J3 u* D& |* y2 J9 [$ s& | const int8 K0 i" P! t4 n" l; R# A# h) C
*severities = NULL,8 z% i$ b6 f( H, |8 p
*statuses = NULL;3 j/ h' x0 K8 O% U' L3 h2 o. p. @
const char
$ J2 G1 A$ H. a6 R ~& D9 ] **messages;
- E6 Q& |! Z5 A" [$ {0 m
# ^9 b0 E' r* T8 q( b( c EMH_ask_errors( &n_errors, &severities, &statuses, &messages );$ U! z6 a s9 K3 i' g
printf( "Error(s): \n");9 A; x- k ?9 t& F' ^3 s
for (i = 0; i < n_errors; i++) 1 K3 y& q" Y: [! n0 \- a# G
{
: N4 ^/ v4 B( ~. ~: ^/ ]$ r printf( " %6d: %s\n", statuses, messages );
* u3 G% ^) q# e( w0 `2 ~ }- e% N- E) D. d1 f
exit(EXIT_FAILURE);
8 L* v; _# }9 y( Z, \ }
H5 c# a- x. D7 j2 o- u- l6 D. s/ p& ^: n, |2 d
int ITK_user_main(int argc, char* argv[])
) e& U ~( q0 N2 M{
: F# i: F% _/ w( s; [ int+ K, ?/ _& J0 V, k* J0 R7 o" J8 C
status;
9 b5 @3 w4 }. ^( S char, w5 \# z) D, `5 E( x) G+ v
folder_name[WSO_name_size_c+1],
" |7 \' | Z" s1 [2 d. B( I1 e fldr_desc[WSO_desc_size_c + 1],; u& D, u& E' p H
*message;3 q7 ~8 q+ V6 i/ s* l+ y' q
tag_t
, U- O. {) l' D new_folder;
% t1 h" P9 R' H% D) T; @; }( u; G' |
' W9 a. @& _/ W1 K ITK_initialize_text_services( 0 );! g7 m! U' P. d5 o5 m
status = ITK_auto_login();
! F3 L" Y1 l, O l if(status!= ITK_ok)' W. @2 D& {2 v9 k3 ~7 A t" X( ?# h
{
) V' t1 K0 a# z$ n9 C report_error_stack();: W# a" J' Q7 N, {( h) u( D
}3 z7 O2 S3 A; n8 V6 ^- F
else
; a' k* \5 m$ P$ L4 X {
9 _: R8 ~ B1 M printf("iMAN login successful.\n");
l5 Z" f0 U4 z- B }
0 r R, [7 y" |# `( }6 N6 ?& G! J/ r
2 S; M. }& x. W I- T# d ITK_set_journalling(TRUE);
- Q+ P* n2 D ?& I+ b( V( ~) p/ P ?2 u. e
if (argc > 1) strcpy(folder_name, argv[1]);
7 |# A6 M" ]9 w; V7 P+ w" F5 H else
! c/ c! u* c7 m- K1 E {
/ I/ ~" ~4 S* h/ o( z printf(" Specify the Input in Following format : \n");
0 ? m, x6 v7 [6 z0 v! D2 F" _& ? printf("program_name folder_name folder_description\n");8 M/ Q1 a6 `. t C7 T2 J7 f% ^6 |) z
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");9 s6 W- v1 c- W
return ITK_ok;
l6 r. c% m) Q/ H( @' }1 \, {. Y } 9 t# m$ v6 s2 \; \' O4 l$ b
4 T. u# k _2 E
if (argc > 2) strcpy( fldr_desc, argv[2]);
8 M" A1 Q' m p* P9 R else strcpy( fldr_desc,"");8 o4 R# q' t+ C$ c4 I
. {: I" V3 ~" ^* N+ f! j status = FL_create( folder_name, fldr_desc, &new_folder);
2 k) q$ n: c! n8 n+ l2 p( Q if(status!= ITK_ok) report_error_stack(); ( V/ b# r! t2 L& A
* z7 \0 @3 W# r0 V, w status = AOM_save(new_folder);7 _( O; p4 @9 Y/ b- Z
if(status!= ITK_ok) report_error_stack();
- N. l- b& I0 c% N" D else printf("Folder '%s' Saved; ", folder_name);6 j, x: U+ t- Q# Y
% Y1 O8 V% ^- ?1 K4 Y n status = AOM_unlock(new_folder);
- P% l1 Z) u `; ?0 D4 d! K* s, a if(status!= ITK_ok) report_error_stack();+ X! V0 E) Q! V! M; z
else printf("Unlocked; ");7 s6 j" b, u' ?3 k; {2 u
0 n" ?4 r4 ? l, w& U. D1 ]! u status = FL_user_update_newstuff_folder(new_folder);+ w7 B/ f2 z: u$ L) j4 a2 u; v* s
if(status!= ITK_ok) report_error_stack();
& W* n" F O' ~. b" V else printf("Put in Newstuff Folder.\n");
$ J" h9 c( G( s5 S( `
9 f- i. i* {7 r1 X ITK_exit_module(TRUE);
7 s) P L9 m' \& F return status;
1 F8 e& m( v; Z/ n}
9 Q) a8 j# [( y U( O/ x |
|