|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
" N; x, l1 Q! c0 |
" ]8 I6 \* \( z6 I% x- z1 f
Teamcenter ITK二次开发源码分享:创建自定义文件夹* U) b4 v( N# ~$ U8 P B( G
输入的第一个参数是文件夹名称,第二个是文件夹描述。
: D; A" u5 v3 q R2 k% ]( V' e! ]% _
T) U' w, s7 }9 l
#include <TC/tc.h>
. l% @! h3 |# j, V5 }+ U; h#include <tccore/aom.h>
. Q. h B* M+ V a+ P F: ~#include <tc/folder.h>
: V- M4 }7 \% V( r#include <tccore/workspaceobject.h>7 j: e3 H- a$ I- v$ ^7 u
+ e7 S) u! _8 R. F2 l$ `' e' `1 q#define EXIT_FAILURE 18 s2 j9 {1 R8 r5 H% B: N
5 e3 ]. w4 r4 C$ b3 nstatic void report_error_stack( void )
* G) v2 P: z$ r: H( P F {6 {, H. W7 L3 \* g6 ?( \% X3 f0 l
int, ]8 f: ~ `! V2 g* `! ~6 ^# Y: u
n_errors = 0,
; W, u, r8 u3 c# t( {* u0 n i = 0;
b r9 }5 e0 s const int
( f# a- V6 y# O J; O! b *severities = NULL,
. E% C& z3 X! F$ T5 q$ K$ i) t7 ~ *statuses = NULL;+ m( v% s- ]0 x, Q& h6 h2 Y
const char
1 Q7 l2 e( t5 I# n! U# ? **messages;
" {& {5 B$ X9 l+ F4 h1 T/ Z- `
2 S. U& q, _1 b% ?3 E3 Q8 }6 m EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
/ R( K$ `4 @7 g0 h% Q( f3 `- M printf( "Error(s): \n");
7 T5 k+ b( ^ ?7 c }' E for (i = 0; i < n_errors; i++)
% |, w4 W$ H5 [ {
6 H2 J7 E) q8 d printf( " %6d: %s\n", statuses, messages );/ J5 ]+ \* `+ n( d5 E
}
2 e$ J! ^/ T( E5 g exit(EXIT_FAILURE);; a0 y* e- J/ K9 z2 ]6 _, g% v
}5 w9 f# ?* e1 Y( Z$ H8 S! n, E
( |$ @$ {5 l# ?int ITK_user_main(int argc, char* argv[]) P: [" O# j6 Z! a; P% {) A
{4 Q7 Z E- y2 w! d! f
int
% o6 @7 M& F+ z( m7 Z2 s' p status;
: U% X8 o9 X0 [# x: c" I7 v2 ?' m: h char$ V. c9 h% [& o! w, b. p
folder_name[WSO_name_size_c+1],
2 J+ m6 Y0 u( g, C fldr_desc[WSO_desc_size_c + 1],0 F" f# T' o7 ]! e* C; J
*message;( g j/ O" Q" Y: m8 h" h
tag_t% O4 t4 }6 L1 Y
new_folder;
! d8 D5 g2 @5 O+ W# H
- A7 w- @1 L' t; |6 ^ ITK_initialize_text_services( 0 );
1 r! ]4 {5 A% a status = ITK_auto_login();
+ Z/ ]0 @7 v* A! R, j! u# y z if(status!= ITK_ok): W/ \6 x0 F1 C8 l9 ?% o
{
7 X `, Y0 z; t% H& Z report_error_stack();
' L; z# a- V0 G: a }0 T* v* X5 m x8 u
else% u+ q. h* u2 Z( j# C
{
# ^; C5 j$ V& Z2 t; o, \ printf("iMAN login successful.\n");4 |, H+ V$ H; R+ R3 s$ P; F9 ]( l
}- u, H% F% K+ {6 |6 V* A# b( ^7 {
7 b1 q2 N, j; `" \
ITK_set_journalling(TRUE);0 @+ B! h; ]+ n/ U$ G
y; d3 K) B% Y, F7 h' _; y if (argc > 1) strcpy(folder_name, argv[1]);) y8 S) O# T' n) d6 `, B
else
2 {1 v, Z; a( {/ X {
; Y. Q3 d, T0 x' m# J0 l% L printf(" Specify the Input in Following format : \n");0 }# P( R" k; C! V i0 h
printf("program_name folder_name folder_description\n");8 z+ l5 g' P! ~2 ?) G" V: z
printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
- s! z: _7 c: N- \% R3 i return ITK_ok;
0 E- X( t" i. ?0 O4 q2 e } . P) A: W2 k0 u
( C' C/ e# o6 f6 f h
if (argc > 2) strcpy( fldr_desc, argv[2]);
0 w# g2 F& @; G7 v, Q else strcpy( fldr_desc,"");) l9 Q' F5 a3 d5 i5 z- n$ |5 D
0 w9 z J8 o9 l( b8 m
status = FL_create( folder_name, fldr_desc, &new_folder);7 i( K! x' p, p6 v/ I
if(status!= ITK_ok) report_error_stack();
, z- R& w3 y* h- k2 W
0 f5 @% h! C- C$ _9 ?1 A, J' { status = AOM_save(new_folder);3 ^8 t, F5 @# E
if(status!= ITK_ok) report_error_stack();* V" M* O7 P6 T& q) P
else printf("Folder '%s' Saved; ", folder_name);
7 ]# q9 `2 P3 E3 g7 u# F6 `" o* M! J
status = AOM_unlock(new_folder);* G- W4 N1 C1 ^% W% z, `2 I
if(status!= ITK_ok) report_error_stack();! P4 G9 N$ N4 U& q) T9 Z' Y, [' F
else printf("Unlocked; ");& v2 k6 g0 H6 @0 \; e
7 g5 X, o% `! s1 K' M/ D- @ status = FL_user_update_newstuff_folder(new_folder);# [2 x) N5 W) b) R
if(status!= ITK_ok) report_error_stack(); l5 v s8 i" X3 Q2 K/ e8 }
else printf("Put in Newstuff Folder.\n");6 O' h) Q; {6 P( y. d0 W$ v c
9 s9 m0 y8 x. O ITK_exit_module(TRUE);5 l$ J. K/ `, Y4 o+ s& y" @) v
return status;
~ e8 B. z7 d, ?7 ~1 y4 a}
: O/ w. ?# G$ z" W7 P |
|