|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
# p7 a' Y, y0 l( t& r2 a
7 P9 k: J6 o/ ^( ~" k# eTeamcenter ITK二次开发源码分享:创建自定义文件夹
; d [5 x$ o) u+ Y" V输入的第一个参数是文件夹名称,第二个是文件夹描述。
3 d" H* C" A4 [( o6 I" L3 m2 k" s0 O
$ Z5 b, ?3 r8 O7 [
#include <TC/tc.h>
5 \ k) [# J/ v' w#include <tccore/aom.h>
( E: a, V: j+ y3 g$ T+ K#include <tc/folder.h>
7 u- [- v1 {% g9 ~' M4 S#include <tccore/workspaceobject.h>9 {& u/ i* l4 l. B
6 I1 O( c+ a- L. X8 T#define EXIT_FAILURE 1: G# o( S0 z V: A) `: _
, w/ G+ b/ {8 F0 @0 ?0 J. H K
static void report_error_stack( void )- }8 b" V% h3 R# `- w' s* n
{. e% X' m) r3 b5 s7 I; {
int8 z2 e. j, V) u8 P5 z
n_errors = 0,5 o2 \) e) P8 E0 \
i = 0;
" L; X' I* f; D# j# _# H* D const int
* w* z( ~: w* d: g* [ *severities = NULL,, E* l. }8 u1 j+ s5 n, K. A
*statuses = NULL;0 }( n+ v' T& q
const char+ w8 N4 `, u: A
**messages;
- \6 {' Z' a _
* V. }9 @3 M% w y4 l EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
8 h% i) d' J, ~) W5 U1 }# S2 a6 L printf( "Error(s): \n");
- `0 J: A1 H( f1 D2 @; A' _ for (i = 0; i < n_errors; i++)
$ b" v2 [4 T; m- u0 z \# t {
1 D3 i4 Q2 L$ J printf( " %6d: %s\n", statuses, messages );) n6 u$ @ G6 K1 M$ B) F( ?
}
' e ]8 s8 [5 s8 M1 q exit(EXIT_FAILURE);
) v) o0 B! u/ N' C8 { }
E& T& @# _# j; [0 p d/ N( [
) p8 K5 Y1 Y, W; V) @* Gint ITK_user_main(int argc, char* argv[])
. |6 |' }7 q& @5 x9 W1 J o- h{
7 V0 z% Y5 R3 { U+ H int
1 a5 A6 {. L- K% b status;
# @- \2 B& W) W$ c& u6 P char) [% G$ }/ N0 A5 g. y; {" X- b
folder_name[WSO_name_size_c+1],& @5 j0 B0 x& b/ H
fldr_desc[WSO_desc_size_c + 1],
2 \* @' S& d- l9 ^- t *message; D2 K$ D' @3 A: e/ W) U
tag_t
& ?5 y/ _2 [* p) E new_folder; S6 q F) U2 a" }% y! p3 G
9 ]% U! m F0 |
ITK_initialize_text_services( 0 );
7 o3 `4 R* U7 I! R Q9 \. N status = ITK_auto_login();1 |8 z3 t( P+ r( s3 O' _( o
if(status!= ITK_ok)* {. i# d' o1 H7 A
{( u V/ h) K( j h
report_error_stack();
. G- F- @: C |0 s) k r }
$ q: ~6 j8 O6 m8 j0 k' u else
$ k# W% z- r J+ ~6 K D { P& q& A4 R9 I1 H3 O# G
printf("iMAN login successful.\n");% Y n! R& b# [7 ]
}8 w% C' l$ V/ { r6 A% J) L5 ~9 G
0 ~6 c; Y0 ?$ G
ITK_set_journalling(TRUE);( t! o8 T, j6 l0 T {+ _. }
5 a2 N. F- A+ s9 `* X2 ^# w- j/ S
if (argc > 1) strcpy(folder_name, argv[1]);3 e6 E& t6 Y% Z& E0 N. E
else& f& H# H' a" n- i
{
4 ?8 K* _" f5 k7 B, ~ printf(" Specify the Input in Following format : \n");; r9 @) T. U4 v' K9 M; c6 I
printf("program_name folder_name folder_description\n");3 h6 Z5 l: ^, n: W/ n, s( w
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
2 @+ B; A( I1 u5 M* J return ITK_ok; 1 |7 T6 h* |# q; N* ~' k+ R
} ( `* d" l' [/ ^" D
5 {' t/ b6 [6 B+ M3 d% v4 ]+ n/ O if (argc > 2) strcpy( fldr_desc, argv[2]);7 c- z% ^7 E. P7 y
else strcpy( fldr_desc,"");) J2 y" ^1 u$ q# i$ K
4 |9 C$ X7 w/ S; r/ k; @ o status = FL_create( folder_name, fldr_desc, &new_folder);
4 H, S' U: s# v4 w' E. g- P* `7 W% Y4 d if(status!= ITK_ok) report_error_stack();
: ?/ c* h' ?5 T0 z; N$ q
' n% Y7 C8 A* G status = AOM_save(new_folder);
7 R2 S3 ~, ]3 N5 r if(status!= ITK_ok) report_error_stack();
! m ^# u8 `! h else printf("Folder '%s' Saved; ", folder_name);' |/ U5 v% G, W8 m8 @
$ S; z% T) w9 T4 p! d9 T2 | a1 ~7 a
status = AOM_unlock(new_folder);
: V* q7 z- x1 U# B' }- b8 O if(status!= ITK_ok) report_error_stack();
8 B- G, F9 P; g8 Y else printf("Unlocked; ");; J" x0 p: W- ? X, Z4 I' R& Y6 o
, [( r* {$ g1 ]( X
status = FL_user_update_newstuff_folder(new_folder);
8 s( h, w L8 g8 U: g if(status!= ITK_ok) report_error_stack();$ q; [; |1 {% Q; G0 n* D8 [3 m: P1 n
else printf("Put in Newstuff Folder.\n");
% R; t4 K- G f# N) r" |' L; i# C' C1 k
ITK_exit_module(TRUE);, E# Q0 u% G. g
return status;
( w# w% f+ E4 w' E4 a}2 A/ ? ]: _- q+ ~
|
|