|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
1 f! P0 Y$ ? Q9 V5 F( p; x
' O; R' U$ h1 v0 `. w) R+ I
Teamcenter ITK二次开发源码分享:创建自定义文件夹
0 i+ [( Q$ J# g输入的第一个参数是文件夹名称,第二个是文件夹描述。
, ?8 V; r$ W! P |3 p) _6 r4 O& P! e! j6 O* [5 ]' i
, u5 _' l) J0 J d6 C9 l3 q
#include <TC/tc.h>
. m5 c" D- n* ~3 K#include <tccore/aom.h>
+ p! Y0 t$ _/ e: R/ { o9 N+ i#include <tc/folder.h>+ M8 z7 S- L3 a
#include <tccore/workspaceobject.h>5 r8 Z2 V: R+ f9 x; J1 m
4 Y0 k' W% v! W# T& K4 p7 Z# f6 A) `
#define EXIT_FAILURE 1
6 o# g, |. b' H2 ~6 L9 M' ` z' Z$ A! t+ u( B& @/ M5 Y2 ?
static void report_error_stack( void ). U( K! u! {" T4 E' Q0 N
{( K5 q* ?8 T. H0 {$ R9 N& O
int
1 L" m; v: z9 ~3 _* F n_errors = 0,
8 _: d" c0 a9 Q* R- \ i = 0;) _( Z' M4 o" w* g4 f+ _2 |2 Z
const int9 D; @& \- c* e" F( c' [7 x5 P
*severities = NULL,
$ U/ ]; c" b& P, T *statuses = NULL;
, ?% S# ~* U) |' Y; i const char' f3 x M4 g3 s( h: e) N; m
**messages;
9 G0 t& V0 a% C* o. Z$ t4 k, C( E# R# ]
/ G" B1 S. Z4 w e7 Y EMH_ask_errors( &n_errors, &severities, &statuses, &messages );
* o+ |& ]7 ^, Y# Z7 D' X printf( "Error(s): \n"); x8 n5 W3 |# n& a% {1 B7 C* k, ~
for (i = 0; i < n_errors; i++)
7 k3 y3 I4 ^/ `- w4 K {
( \, X( [ V% S' V9 j& { printf( " %6d: %s\n", statuses, messages );
1 t5 Q& K' o' t0 [7 w }7 v( ]1 ~+ q: w0 k1 v( G0 ]
exit(EXIT_FAILURE);
& K1 x& n7 |: ^$ k) e% { }
0 v+ W, q2 c6 W) g* q. X2 C3 s' j3 |; D3 W! g) Q. G
int ITK_user_main(int argc, char* argv[])) G* `9 Q% w' z, l* [9 E# F
{
5 t& s( q2 \4 W# @# j int( O! m2 b" O0 `6 m
status;
7 \% e$ g8 [- o& _" J char% p( j& j; I% O0 ^1 Y J
folder_name[WSO_name_size_c+1],
$ R, `& z! c I$ g4 c) w fldr_desc[WSO_desc_size_c + 1],( J+ J2 d( [4 `. S: K& u. `
*message;, R1 m6 P) R: T- K
tag_t
3 d* N6 S/ c# l% h new_folder;3 c! F/ Q m+ l+ l4 G7 T
0 ~( Y- _6 ^4 D$ k
ITK_initialize_text_services( 0 );+ C1 L" F# K- j' X7 g# c( F
status = ITK_auto_login();
) n. {. p, U4 X1 ~5 u* Q$ } if(status!= ITK_ok)
6 v! ], Q1 E9 J9 r2 v1 z% W5 h" {3 H7 z {" a: x1 S* }9 t% E2 c6 A$ J5 [
report_error_stack();
, J4 i* |5 s) e0 S6 W' g( K; ^/ y. L }" k9 W# C4 A' j; v5 {! G
else
; v$ S3 `6 s: Y" d$ p0 ? {4 P% b. k/ w! t1 _/ k. ~
printf("iMAN login successful.\n");9 \7 u) x9 @ O4 G
}
5 t. ^ C8 v0 r
3 I0 b5 f( f/ L% S% i; q1 h' F ITK_set_journalling(TRUE);) {" G/ k0 u( R9 H$ w" G
& j3 P- ~. g5 d; Q$ ~8 x
if (argc > 1) strcpy(folder_name, argv[1]);( `( b" K5 B" m' T( ^. L
else
: }( f$ D8 c( l1 j {
( s6 @+ l0 c; T: S% p# E$ j: o printf(" Specify the Input in Following format : \n");
$ w# |0 h6 U9 \5 N printf("program_name folder_name folder_description\n");
0 k4 X% O% q7 ]/ o/ _ Q printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
4 R ]. P+ K/ l9 _: c7 ~: J return ITK_ok; " Q1 P* Y8 ?0 A
} 4 x) N3 ~0 D. m c6 q0 k9 B& y, p0 O
7 _. }- n8 L6 v9 F. E if (argc > 2) strcpy( fldr_desc, argv[2]);
' V- K% ]8 R9 m: r' K else strcpy( fldr_desc,"");
3 n* a% T' {) N# _- O5 P
1 P( h q+ V. S" m; h8 y* A9 ? status = FL_create( folder_name, fldr_desc, &new_folder);; p- S2 ~0 J. @2 l( }
if(status!= ITK_ok) report_error_stack();
) L3 s; |2 o" X" P6 ^' o) g( t5 \5 z" D, [# P ?
status = AOM_save(new_folder);5 ~9 Y8 W( ?3 }% {8 C: W
if(status!= ITK_ok) report_error_stack();. S3 c5 ?4 ~+ r0 z$ ?! c! v; ?
else printf("Folder '%s' Saved; ", folder_name);% m. o. V1 V! c$ e4 [
7 G* m: B1 s7 @1 r9 B8 _: } status = AOM_unlock(new_folder);( W4 t/ D) ~) W2 t2 r7 R* v) }3 M
if(status!= ITK_ok) report_error_stack();5 a8 X+ j3 p6 m
else printf("Unlocked; ");
! R6 T+ v; y% j" i' O: q# S% @. h3 e+ n7 D% K& t
status = FL_user_update_newstuff_folder(new_folder);9 i' ] q! {! s; }3 b; I
if(status!= ITK_ok) report_error_stack();7 {1 M, O0 H: H# P V9 x6 _
else printf("Put in Newstuff Folder.\n");0 x* c- |, |, v# K2 c! k0 N
2 p# E6 E: c# N* T- w/ G1 O# ]2 j4 X ITK_exit_module(TRUE);4 z: X; B: b. j Z
return status;
% \- M: H# w6 W) u7 |} P- [3 C6 Z( ^/ `% U
|
|