|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
0 P; \' e0 q0 `; w" b6 V0 k- \( P
( D f: P8 L3 B# f: ^$ ?0 qTeamcenter ITK二次开发源码分享:创建自定义文件夹; T& L' o4 v* k3 g$ r( X
输入的第一个参数是文件夹名称,第二个是文件夹描述。
6 ?5 g- b; g3 U; A3 o* }
& H7 A1 c; d: e: X7 l4 U. F! {1 K: f8 U: g
#include <TC/tc.h>! s$ P2 ]4 g2 ]+ \0 e9 ^* p
#include <tccore/aom.h>3 S( ?: S! K; W8 v3 S3 y
#include <tc/folder.h># b$ i( W& [2 ?4 Z/ p8 Q
#include <tccore/workspaceobject.h>
6 T1 R$ N# j+ \# T, x5 z! V; v& e* B7 ?8 m4 N5 ]: z, `* t/ u
#define EXIT_FAILURE 1
" D/ p5 b% Y4 X. v" y; y9 t: j, a ^$ @
static void report_error_stack( void )" }$ L8 G: L5 y3 c ]
{
; j8 p1 _% r( t8 {/ O int
' `/ Y2 n: O6 L0 Y' y' h# s4 G% P: H n_errors = 0, y5 z( V3 ?3 I2 ~$ Y
i = 0;' f7 M {+ Y$ c! |! C f
const int8 ?8 p0 [. U5 D& ?2 j. F/ e
*severities = NULL,
/ X- G( _* ]& g8 e, v *statuses = NULL;% ?+ G* v. [9 A
const char* Q4 P) X( @; p
**messages;
! W7 r6 _2 _+ M' r7 l9 x- L: O9 Z# f
5 D, l5 t' Z/ v) P* u# d3 c9 r EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
9 m, T9 h# N$ x/ A: Z printf( "Error(s): \n");
# C* e& f* @7 W& A for (i = 0; i < n_errors; i++)
% X o U' O& p c& _9 u {3 U) c* V: P2 w9 y$ P2 q H
printf( " %6d: %s\n", statuses, messages );
0 k* B* e z; n/ z& i! Q }
9 d# u! u: t5 k# Z exit(EXIT_FAILURE);
% w1 f6 X0 z, k' Z- Q: U+ L }
: O& S3 }, K3 E% n
" o, y4 Y! Q4 Y9 [/ V" Yint ITK_user_main(int argc, char* argv[])
4 e5 ^6 Y% ^/ T4 M% q$ }7 N: _{! x/ J) L8 J# a6 {* X9 `1 Q! H
int2 c6 `$ U$ r4 D/ t+ e: Z
status;
- w/ j, S/ O l+ k char) F$ t( z6 B7 k6 l: p$ k
folder_name[WSO_name_size_c+1],
% X1 b& v) Z2 t3 m" b fldr_desc[WSO_desc_size_c + 1],
$ g) S( ^; l8 [: z; R3 r3 M *message;) ~, ?0 \1 B0 ^ m" L
tag_t5 O: ~1 a+ o" U# L0 [; }6 u1 H! {
new_folder;
! L' ~ W2 B' l' b5 r7 M
. j9 s4 g/ M- Q! C' {5 i* s ITK_initialize_text_services( 0 );# v2 t4 U) Q& `% C h$ E$ [
status = ITK_auto_login();8 m( ^# b# @3 b. I8 q$ o% G
if(status!= ITK_ok)7 x2 y) f8 ?6 |& _& ?7 l) `, ^
{/ I. M6 Y7 \: n! Y6 x
report_error_stack();
4 V( k/ D/ k! T- T }
; I9 B4 Q9 ?) \% o5 A else- q' `% h3 W' u
{" c; Q2 |2 _5 h' B) f/ r
printf("iMAN login successful.\n");
' g- o$ R: w8 H# y" U5 Y }
6 m% K2 p" G7 p# o0 Q4 O) ?4 Q- o; Z; G) Y- g
ITK_set_journalling(TRUE);7 x! u/ M+ g8 ]4 P0 e+ o
3 o, a J' e$ x if (argc > 1) strcpy(folder_name, argv[1]);
" k# T$ u( K2 A, L9 n: ^ else* u% J% O6 q: \5 O5 B; z
{
' K' n& u; W3 L5 u9 J L0 B2 k) [; r printf(" Specify the Input in Following format : \n");1 ], {4 @& V$ n
printf("program_name folder_name folder_description\n");. m# v9 v# S+ u) `
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
; ~+ U" t1 o3 B, v$ O- Y return ITK_ok; 9 k0 I; y( {9 ]: h
}
0 _9 J- }, _. m$ }" o
( w$ ~9 ?8 s. N' v) ~" E3 l if (argc > 2) strcpy( fldr_desc, argv[2]);$ F) l1 t5 H, [5 |; F) \: B/ @: |
else strcpy( fldr_desc,"");
/ z+ s0 t' D1 b \* }) a
8 T) g7 V- U0 H3 ?( Z v8 Z: V$ ] status = FL_create( folder_name, fldr_desc, &new_folder);
- c! {2 Q; E7 C* ]9 S if(status!= ITK_ok) report_error_stack(); / R$ m1 A$ Y# M+ U! @" {
l1 s( [4 ~. K$ |+ i- e) P status = AOM_save(new_folder);2 u4 N, d, E1 O0 k
if(status!= ITK_ok) report_error_stack();
& F3 X2 }/ ]( R! @" n/ W; D; k else printf("Folder '%s' Saved; ", folder_name);7 `7 j. J n" m, B9 }* S: A9 y
- A. \2 {$ \( F* W5 ^! o status = AOM_unlock(new_folder);& @# b' R4 i$ ]' l$ \1 F" ]
if(status!= ITK_ok) report_error_stack();
. ^/ |6 ^0 t X5 E else printf("Unlocked; ");" q% S4 g5 i! J4 w& j m4 |" K
4 Y- m/ ~: | i5 k status = FL_user_update_newstuff_folder(new_folder);
7 ?/ ^7 ]4 b, l0 g: B# [; g if(status!= ITK_ok) report_error_stack();9 R$ L1 R. T2 i: A+ e
else printf("Put in Newstuff Folder.\n");. X$ e, p* W* p0 N3 i
$ u, X9 Q0 E: j5 X ITK_exit_module(TRUE);
. R, l% n4 V- L+ Q return status;- J& ~2 f5 D+ S3 m
}
' ` U- L( y' N, X( U% X: o& X7 { |
|