|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 _' f2 s) d5 d1 a4 {3 E: X
3 t/ _% Y. O9 U2 ^! Z& ^9 PTeamcenter ITK二次开发源码分享:创建自定义文件夹; T3 r/ V0 V' j3 A( z1 l' _
输入的第一个参数是文件夹名称,第二个是文件夹描述。
6 h; E* \, a5 G2 E# q' n+ ?$ \' I- H% i$ {
: i) k6 x3 I% I4 U5 I1 |#include <TC/tc.h>+ C8 Q" a( v. k& u( r' p
#include <tccore/aom.h>6 h, b5 X+ {: x
#include <tc/folder.h>
! G( K+ e g, G2 v" ?#include <tccore/workspaceobject.h>- U3 n0 s; F' @
. `" q5 o# {0 e3 l1 r
#define EXIT_FAILURE 1' T: F8 u6 ~! Y) y7 o: Q3 ^- c
) k3 Q2 y9 D% w9 X
static void report_error_stack( void )
- c* ^$ U$ U, @2 C# d" }4 A {2 w+ t$ \" K2 K" k. U- h
int
! j8 i; h1 U6 t8 ~) e n_errors = 0,
a( d) m7 `8 Y$ ^, T ` i = 0;' X+ M. w+ ]" ?8 \. [& ]
const int
4 i0 _5 [' K5 Q4 H* r *severities = NULL,
; p2 d! w* p# c- i *statuses = NULL;7 y- Y) H$ x6 L
const char1 I+ a/ Y. R5 \- x7 i
**messages;
* l' m, k% c; k- r: N9 T$ a: ?
- u' `* Q) k! ?+ y: u, n EMH_ask_errors( &n_errors, &severities, &statuses, &messages );& O* F# P, U8 y! i, i! \8 d8 A
printf( "Error(s): \n");/ K- I( O- Z8 q
for (i = 0; i < n_errors; i++) . ^$ \7 D9 x1 V! u8 k' @
{
6 N; Z9 H% F6 W( O5 |* o printf( " %6d: %s\n", statuses, messages );
# S- [7 J i1 b) U5 \ }
2 J) y/ z, T5 k& {! t7 _ exit(EXIT_FAILURE);
J$ O( N" \/ j1 m# Y9 u% Y: T: n* `) | }* _/ q& Z* q" e' Y& B- P' h
7 z' e" E9 Y' ?7 W2 c' t
int ITK_user_main(int argc, char* argv[])9 j* P+ V! F1 R, e; o, S M
{* _8 b: }1 m( v% t6 ^
int2 @9 C/ k' R3 M/ z% \ M' h
status;
8 O! c2 j* ~1 n" k0 _ char
' n( B' r, P; [' Z folder_name[WSO_name_size_c+1],
* u1 b4 V( K3 y" F9 ] fldr_desc[WSO_desc_size_c + 1],
% o: p7 {/ q/ z B) l- e *message;$ d9 D2 o% a$ g9 X% o
tag_t
# x8 v3 H7 L, `; i4 m+ B) w x new_folder;9 s. A" t5 p* n3 i! n9 a0 Y3 j
0 D% a, o$ f+ \2 V
ITK_initialize_text_services( 0 );' y0 ~: e. p+ F& ^
status = ITK_auto_login();
m* W) Z' a9 _3 Z4 b if(status!= ITK_ok)) Q/ J% `; m7 b: Y0 j W. ~
{
/ H7 ] v. h R# p4 x. r report_error_stack();" [# A7 n& I2 R5 M% ~$ z( W$ @# s
}
$ \& v# a, p+ A+ g" d2 T% k$ T9 L c else& V0 i$ d7 V/ W- [
{
/ w4 m; ~% K4 K# Z. b+ B+ T printf("iMAN login successful.\n");
. y# N7 J1 r* ]+ m }6 E* u3 B( m( o- H: x. e9 ]
* l* T. ], g2 k; y" D: x% x' O
ITK_set_journalling(TRUE);* w3 x' z. s: n- `6 H8 M6 j
$ u/ A% N0 N; Z
if (argc > 1) strcpy(folder_name, argv[1]);: ~; v& z" K0 ]! Z- e3 B
else$ I# g, }& g! ]: I! y7 b7 g' C! Y
{
* \1 h; {6 m6 U, F: l printf(" Specify the Input in Following format : \n");+ C$ W' C8 V6 U2 P- H, S
printf("program_name folder_name folder_description\n");
7 Z, ^( p. Q/ Z) G/ ?0 E1 u printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
$ }! [# X+ N8 N( J& @ return ITK_ok; 5 o6 [$ Z# ~5 o3 g/ ^* }
}
" ?2 B, d- P; {; {5 g/ r# B& k: o7 L2 R& b% D
if (argc > 2) strcpy( fldr_desc, argv[2]);4 M- S" O1 t* q. a& O2 M4 o2 y
else strcpy( fldr_desc,"");
+ G+ D+ _7 M8 Q
; f) R( P2 D/ k1 |$ S! [ status = FL_create( folder_name, fldr_desc, &new_folder);
. t! z( f& A% p if(status!= ITK_ok) report_error_stack(); - q" _, E; ^; M# @; u8 \- t" F
& ^! u% a3 k2 V C0 h/ Q0 t9 ~ status = AOM_save(new_folder);
6 y, x% v, p( m5 s8 ^" V if(status!= ITK_ok) report_error_stack();
% O* Z. j6 Q" x( L0 c else printf("Folder '%s' Saved; ", folder_name);1 v/ Y, b# |* t; y2 A
0 t! i# t9 m5 e9 H# z
status = AOM_unlock(new_folder);
) b9 t: l& N! ?: w- { if(status!= ITK_ok) report_error_stack();
" p7 M2 W4 j4 {# a# u) S else printf("Unlocked; ");
1 d0 r! f( P! C* i3 f- m
$ P9 t- l/ n$ a a$ f$ x status = FL_user_update_newstuff_folder(new_folder);
* u# |0 V3 D i- V if(status!= ITK_ok) report_error_stack();
* \; P3 M8 H1 ?/ I! O else printf("Put in Newstuff Folder.\n");
4 d/ W) j( y/ {, [5 i. `7 _ c. M$ |4 a! W) a( L
ITK_exit_module(TRUE);$ Y; i( n8 X+ P2 U4 [* G0 ]( \2 Y
return status;
; v; b8 R3 ~9 m3 ~}
: c* H1 A# V, J8 p' e" e( r |
|