|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
7 B0 R: S$ m3 G& y* Y$ U" x" {& E' D Q3 C
Teamcenter ITK二次开发源码分享:创建自定义文件夹
1 t8 ^3 c5 Q3 W. y- |1 Q输入的第一个参数是文件夹名称,第二个是文件夹描述。, J, _! ], ]9 j0 p) S0 g6 E4 O
p( J$ ?( V- J& l) g/ {
- k( E: f0 J+ o5 S' `#include <TC/tc.h>1 x( H U1 f1 G. R" e+ n7 p
#include <tccore/aom.h>
* K1 K( V7 R R$ b9 {3 i, N* F#include <tc/folder.h>
+ U/ s- o) N9 n/ Z5 w4 e#include <tccore/workspaceobject.h>' i3 p0 T8 C# z5 U) J& T/ L
9 q7 C! z8 J/ h& q$ k) ^2 i7 w#define EXIT_FAILURE 1
3 I( \; d1 K X+ U, r: E
+ q' s& B( C7 [. Wstatic void report_error_stack( void )! Z) U Q3 Z* B$ f2 o* G
{0 x6 x. `8 H7 t/ Z4 b
int; Z2 p8 x6 h) P2 P O6 B8 L
n_errors = 0,3 x! ^$ r* a5 J" x3 P
i = 0;( s' J1 z; }5 R
const int
2 c f" U3 \7 L6 m7 S; K4 o *severities = NULL,
1 K4 G, x! V6 t. u! t/ o" W *statuses = NULL;& w8 \. u5 \" G! a; T# _( d
const char6 T& ^, k9 l( |' D
**messages;2 u3 ^1 L( n! q# e4 A1 Z
1 N1 |% x# i0 G8 j
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
$ _4 ?( x' q) m' ~! l0 u printf( "Error(s): \n");0 r* L0 R; P( Y) e. I
for (i = 0; i < n_errors; i++) 6 H0 W' [- q e5 r" S4 E1 S: d$ O
{9 g0 v& |+ _* h7 U1 T) u" X/ g
printf( " %6d: %s\n", statuses, messages );5 g- \# a/ ], X8 j
}
% B2 E4 T4 n, v' j$ A6 y1 [. l exit(EXIT_FAILURE);
H. D" V m6 `, H3 s8 }, Z3 K }
( u7 w8 X4 R) E) i' _1 @! O, ?6 B
3 N4 ]. U# l! G- K5 a) ~* N% g% j, Lint ITK_user_main(int argc, char* argv[])
! Z5 ^' t% R( ^4 Z{
( |; b( E" ~* ~8 Y. x int
. b' G$ O& ~/ {1 ?0 d status;4 R( w: x- `) q2 _1 m) L( _% F$ A
char
& v. i: N8 x' E folder_name[WSO_name_size_c+1],1 S U& F8 i! J' G: ^# H# P
fldr_desc[WSO_desc_size_c + 1],
* r3 M; |9 Y) l6 i3 v9 q *message;+ l' \% i! V* p9 f c( E
tag_t
6 j* z, z4 m8 z! u- U; O new_folder;
; G+ k- ?3 \5 C
{* p/ W7 m3 X- s ITK_initialize_text_services( 0 );1 `4 E; I9 z( G$ ~
status = ITK_auto_login();
/ c( B5 P( u/ g q9 w$ ] A5 y if(status!= ITK_ok)! B, h* }! ^8 f5 }( X
{
/ q9 H4 ^7 N. F% j/ d l report_error_stack();
/ u+ O5 G0 v3 \: Q9 d+ a }
, W4 V# }$ X8 Q1 K b& z3 s. s else
3 X- m, p$ O* \/ }: y- ?6 P4 A& f$ | {
/ c- a/ D+ Y3 e* e8 L+ h% V) } printf("iMAN login successful.\n");# O* t! D3 O! S0 J
}! f/ }: g; D, }4 q% h
2 H1 r0 p1 w, U7 H; L5 F
ITK_set_journalling(TRUE);
$ h; Z+ ^: e+ W( X- f" ^% p" B% O2 F1 T1 l# W( i
if (argc > 1) strcpy(folder_name, argv[1]);1 M' [% S% C6 }* @# G
else/ ]* p: o3 }3 Q) I/ h$ Q+ H2 ?3 r
{
# F( D9 |: x; }! I0 }5 N+ c: e printf(" Specify the Input in Following format : \n");8 k5 Q7 e; Q# T
printf("program_name folder_name folder_description\n");6 J% Q$ l- g* X" K5 q/ h
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
7 s+ D4 e3 O; O) r return ITK_ok;
" ?% h2 n; M* @, c1 w k9 i }
$ E$ E! R6 d9 V/ w; p" X7 A; o+ x9 U& e
if (argc > 2) strcpy( fldr_desc, argv[2]);7 v( f) g5 L) i& b
else strcpy( fldr_desc,"");$ n7 g( a' i4 }+ D5 c
" ^0 m `$ X6 s" ]* R
status = FL_create( folder_name, fldr_desc, &new_folder);) U9 s9 ?! r* m# b5 f% [
if(status!= ITK_ok) report_error_stack(); ( k# L9 ^# o5 U- \9 D, T
" ?0 O/ f2 d/ ~# P status = AOM_save(new_folder);
7 L8 f7 G8 H. P* P; ^ if(status!= ITK_ok) report_error_stack();
( ~/ c. X4 Y+ z9 P& G else printf("Folder '%s' Saved; ", folder_name);
' h% r$ Y) Y1 |8 k. ?0 j
8 [) W Y3 g9 s5 \+ ~( z8 ` status = AOM_unlock(new_folder);; ]% F9 q- u; a/ |0 F! Y0 I. x
if(status!= ITK_ok) report_error_stack();1 r/ b1 Z9 Y- `( G
else printf("Unlocked; ");
1 \# J' x* ?, ?* w/ H. E- C6 q+ `/ r. e9 O4 D( S; f5 M
status = FL_user_update_newstuff_folder(new_folder); E( b/ _! d4 A: W6 i4 `6 V$ ^5 U
if(status!= ITK_ok) report_error_stack();) w& R2 F$ z7 A/ @7 ~
else printf("Put in Newstuff Folder.\n");
! X- ^+ A0 l" G/ Y4 V( q: O1 P1 ^2 @+ @7 u1 @7 E2 }8 ~
ITK_exit_module(TRUE);
" J4 N. M. g) h/ w8 P L8 e+ T+ Y return status;
2 o: x5 K K4 b# c; v* L}
8 l- O' }$ h- r- Q5 z* X: B |
|