|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
2 S7 M8 _5 R7 G$ _# u! K& k1 T7 I5 }& r) `: x
Teamcenter ITK二次开发源码分享:创建自定义文件夹
5 n! Z* L4 ?, u! z3 y- t( f输入的第一个参数是文件夹名称,第二个是文件夹描述。
8 L/ _% @# T |9 \. v# ]7 J3 [
; _! U; q5 @! l8 o
/ F/ z5 l/ G! W$ o% V7 l: v8 `#include <TC/tc.h>
$ D$ p' u5 y, J, Y#include <tccore/aom.h>
. w! h/ E% b2 Z$ p- x#include <tc/folder.h>
' A7 V9 ?( U/ D) N, a6 ~ |* S#include <tccore/workspaceobject.h>
! B2 p6 }7 \; \
1 ^9 {' h3 u6 m4 E/ Y) O#define EXIT_FAILURE 1
# U5 q. H7 z, S- B+ m
) h& I( b, A+ e Nstatic void report_error_stack( void )
7 f% F' g* s3 }( z2 K3 p7 W! S {
. J- z4 B+ u$ ^, ?$ t* U int
* w% Z- ~# ?! W8 l/ G n_errors = 0,' X/ P$ V; `( L- \/ T1 ]
i = 0;
* J; G+ J# Q7 |" P, [- m const int- ]: R% ^8 M. x0 d
*severities = NULL,$ {# ?7 Y% l1 p6 E5 @
*statuses = NULL;
$ Q( c5 ^/ k4 p- z2 @& I const char$ W% V: d" H( J( _( |
**messages;" @3 }6 b4 B/ i# d
T! C7 r# Q7 a3 L3 g T EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
8 c8 P. e! B5 S printf( "Error(s): \n");0 k4 U4 N7 m4 x6 B6 ?
for (i = 0; i < n_errors; i++) 6 U4 b- n' J6 [) s0 d( c
{
; W3 N/ \4 V2 u+ u$ Q! f printf( " %6d: %s\n", statuses, messages );
7 N/ g' c( o4 E: Y }
& b d6 h7 [+ B- V; C8 P. ?1 } exit(EXIT_FAILURE);0 f9 ]3 a8 ]5 Z1 h- {
}( H1 p/ g* y( d# R
\" h' w3 G& P5 uint ITK_user_main(int argc, char* argv[])
7 b$ J: j3 n( v. ~, z{$ O1 P+ B. h. h, {) V0 n/ w
int
. s! c7 I! u& u. W status;
+ B. @) Z8 I2 R0 L char
2 y4 G7 m0 L |( F/ d+ ~ folder_name[WSO_name_size_c+1],) {% f9 @* Y( X! b% h1 C8 W) y+ O
fldr_desc[WSO_desc_size_c + 1],
7 F" _8 x; X' e2 ^' X! Z" ? *message;, B5 O! |/ j4 U0 j- T, o
tag_t% m- U" Q5 `, [/ Y2 Y0 i0 e
new_folder;
% G9 D, O r4 g5 A: W
8 v- P5 D! V8 r; Y ITK_initialize_text_services( 0 );
3 K6 _: n) b& x0 h# f status = ITK_auto_login();! X/ H. D4 Q7 J3 f, A
if(status!= ITK_ok)% ?# p3 m: A! w9 ~/ ?! ^, z+ f
{
: H; a0 B8 o9 C" c report_error_stack();
# `0 ^) p2 Y: Y W }
2 H, e) j6 F6 b else9 \6 g5 Z, a: E* W" m- F2 t* R- U
{, A. R. k- Z& [
printf("iMAN login successful.\n");& B; B( ] A, t o* Q1 S2 C
}" ?9 w, Z- w" s/ H* I
& M. a. Q+ [* `$ Q
ITK_set_journalling(TRUE);* Q ]# n) E! e5 G
+ [ e3 ?+ Y9 ^
if (argc > 1) strcpy(folder_name, argv[1]); m" f" {# b# k! ?5 R- m. k
else
4 R# X9 C l! X! ^$ `- K {
; i6 e6 W8 n F printf(" Specify the Input in Following format : \n");* @: g% f- O9 m7 `4 P: R! ^7 n
printf("program_name folder_name folder_description\n");6 ?, s! T- R" i0 `6 ?
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");7 Y m$ c+ ?7 c9 g
return ITK_ok;
& f# G" `( I9 ^7 D0 Z* J' S. v3 ` } ) r6 }6 Z: @9 {/ |" `
$ `6 g* l+ R- t2 E. [ z if (argc > 2) strcpy( fldr_desc, argv[2]);, T- W4 C1 S, a7 P
else strcpy( fldr_desc,"");
8 Z1 M0 U4 _; q# i, E2 `& T- D& @, ?/ |* T5 ^& i2 m
status = FL_create( folder_name, fldr_desc, &new_folder);# M0 q0 N2 x0 f" b3 C* `4 U
if(status!= ITK_ok) report_error_stack();
) J# z% y1 i' Y, C: D$ `; T$ s7 v* I; Y; |) [0 B: Q: _% }
status = AOM_save(new_folder);% D* G/ l% _( s, T" k
if(status!= ITK_ok) report_error_stack();2 v( W! [& P0 E& ^2 @1 C* V! `2 K" U
else printf("Folder '%s' Saved; ", folder_name);* P) d3 \5 p2 i: D
2 r6 _/ B8 a( b status = AOM_unlock(new_folder);
( g" R% t+ E1 h9 ` Z q( q$ T' O if(status!= ITK_ok) report_error_stack();8 F0 s0 ~( J7 Q( J' }$ r6 l P8 @
else printf("Unlocked; ");1 u: \3 r, z N# e
+ j4 ^8 j3 {7 [' T5 x status = FL_user_update_newstuff_folder(new_folder);9 g4 n# u: A5 C$ j9 K
if(status!= ITK_ok) report_error_stack();
* t6 v# ]# O9 g9 I: i$ Q! y else printf("Put in Newstuff Folder.\n");
- q2 q% W! d* h* h; U
y7 d! {- U& R2 ~8 `0 v ITK_exit_module(TRUE);8 r) U1 ]4 z% K* p8 d8 }
return status;) t9 S* `; |" J" g) l$ A# I2 n
}2 c; `. V' C5 ]& w" x
|
|