|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- B4 v, n1 h5 d0 p6 P
, I: F, \9 _: I; {# @9 y/ H7 N
Teamcenter ITK二次开发源码分享:创建自定义文件夹: e. c! t8 ^9 F7 i2 G2 R6 ^
输入的第一个参数是文件夹名称,第二个是文件夹描述。% ^! ]2 J, {! W g% E
. ?) v! g. g5 ^0 O. L1 {3 t- H
/ o' T+ _$ {$ s4 p6 X' ]
#include <TC/tc.h>
- j2 ~: ?1 X& ^6 L1 ~9 `. H#include <tccore/aom.h>0 @7 `4 Q- U) i
#include <tc/folder.h>
5 h$ i+ T- I% j2 [6 A/ O7 y) U$ }#include <tccore/workspaceobject.h>
9 K: Y* [& |. x* J2 n5 a: d1 l. x, D7 [1 _
#define EXIT_FAILURE 1
& R* Z! H9 h' k# d4 o
: x' P( R6 Y7 j- [- q }- Mstatic void report_error_stack( void )
# M0 a- j) [2 y" ?' k {
4 T8 M ` x: C! N( R int
- L) Y2 t2 c6 a9 ]+ A: V n_errors = 0,. W0 A1 ^, k2 }+ [3 G
i = 0;7 N. }% @& ^$ [7 O6 _: K9 g
const int6 T3 M$ `- Z F5 p- d) r
*severities = NULL,
7 M9 ?# Z5 A6 x$ Y *statuses = NULL;
! q- H* L6 E. g const char
6 g+ [, }4 A: B3 \0 _0 o **messages;- R5 K4 p/ S. C' n- R- V% x+ a
' \! [0 m1 x, q/ j* @0 A! Z `; V* n EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
) C1 T3 q+ C$ C7 L3 G) S printf( "Error(s): \n");; I4 e7 b& g) |
for (i = 0; i < n_errors; i++) + [% m. Y/ ]% }4 m; }
{) b0 V* V: @% N5 u+ k
printf( " %6d: %s\n", statuses, messages );
. A% B9 B' J! ]/ n }# U4 t: R# T$ i! {* B# T7 Q* ~
exit(EXIT_FAILURE);
6 B0 T: j ^- c }1 g8 A- t5 ?9 c r% V$ `8 K5 }
: f1 ^4 H7 E. [4 T! M' q. n+ A( ^5 Kint ITK_user_main(int argc, char* argv[])
8 w/ T# B2 }' g. J$ r2 c; @, N{
! b# E$ r; t; Z% a int
U n# u1 K9 Y status;
9 z5 B3 x. c0 I% L char
2 s+ P! y/ d1 J: }6 s8 E2 W4 }4 V folder_name[WSO_name_size_c+1],
7 `0 X' E- m7 y4 Z fldr_desc[WSO_desc_size_c + 1],
- V9 @% L* Q, f% Z/ F: Q; b *message;- ]) r; o, y6 f% C* t
tag_t( `8 }5 B1 [9 E& W4 Y
new_folder;6 I) u. P, ?% F8 L) H
- R, X/ t) `8 D) r/ S
ITK_initialize_text_services( 0 );4 T" l* u3 r: i' m7 P
status = ITK_auto_login();# c' \9 ~8 J8 |6 r! G) U J k
if(status!= ITK_ok)4 ^; ^0 o/ O4 c- t( U
{
' k( w6 V6 [, v. [0 _ r& `5 @ report_error_stack(); H3 L1 `# O$ |) f: V% a
}! p# J- c( ]& ?! g
else" D) ]" I2 \2 @: @
{
0 Y/ J( W9 q3 L# s c printf("iMAN login successful.\n");
3 a+ x/ R) d1 E }' b E Z! T5 L
9 C0 M; X) C3 k9 Y) p' t. R ITK_set_journalling(TRUE);
& \* ]: E, m' ?& G4 _- O" E
- a6 Y3 @! a0 f" g if (argc > 1) strcpy(folder_name, argv[1]);7 _6 `6 ]3 S' ]. d: P0 c
else* s% L) u; J) j$ v' R% \
{; P1 k8 ~: g4 H$ u/ Q7 x ~6 K
printf(" Specify the Input in Following format : \n");5 ~# [* m a( ~# X: ~+ W9 ?9 I
printf("program_name folder_name folder_description\n");) g9 z9 Z1 n ^) p B8 U
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
- n% i/ ]* h4 E7 M$ o0 c; M return ITK_ok; % i6 P$ i* v5 ?- k9 `$ H1 @
} % a& K( D" u/ f" v& ^
$ e* ^5 ?- w1 l; w; g# G
if (argc > 2) strcpy( fldr_desc, argv[2]);
" y5 G2 k" y& Y: \* B else strcpy( fldr_desc,"");% q5 u( ^$ {0 K }6 ]7 B/ h
6 [" d5 S( m: S1 N& V2 ^
status = FL_create( folder_name, fldr_desc, &new_folder);
: @, [" ?# W" _7 W8 T- y$ z if(status!= ITK_ok) report_error_stack();
- F% k( @) D1 O$ P" \) J- r; S
$ D; t7 g! I. D" l) s status = AOM_save(new_folder);
4 [* ], T# h" ~- N% q3 { if(status!= ITK_ok) report_error_stack();
; X* \' ]* |+ @, \% T1 Z" @8 n else printf("Folder '%s' Saved; ", folder_name);
, w2 f+ [1 [7 m! n; m F O
- O8 H" w8 l- j6 \ status = AOM_unlock(new_folder);* `4 p! e& m; t4 a- X) Y+ M- Q. d
if(status!= ITK_ok) report_error_stack();8 z) _" E5 [+ Z
else printf("Unlocked; ");
/ e8 A) ~% ~9 p! z# l
( Q) ]6 e) C- W G% x$ |# ` status = FL_user_update_newstuff_folder(new_folder);
% z0 P( i# w: u+ ?. O i$ ^ if(status!= ITK_ok) report_error_stack();
% S7 {0 w3 ?) R8 z0 D& q else printf("Put in Newstuff Folder.\n");9 J. q' c8 v2 b! Y6 Q
@. A8 s" Z* {' A8 ^, k ITK_exit_module(TRUE);* C( Y$ L/ D6 K1 F& e. I
return status;
. _& ^9 Q* h0 `2 y* [; Q0 i}# @" h0 w. o% C: u6 k
|
|