|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
7 Q& H2 n T% p9 ?- T( c6 h
7 f" b: V2 J M5 \: |$ [4 {Teamcenter ITK二次开发源码分享:创建自定义文件夹
5 [/ l4 D2 t3 a3 }$ I输入的第一个参数是文件夹名称,第二个是文件夹描述。
8 v( S3 v& O7 f# M0 Q {! R6 D! }
+ B; P1 g* h2 E6 Y# ~$ c6 \: {#include <TC/tc.h>
! d9 {8 Z& B; k! r% j S- W2 _#include <tccore/aom.h>: A: g: n: h% _0 o6 l/ R7 e$ c
#include <tc/folder.h>* _7 V5 |! Q8 j" A4 o9 t
#include <tccore/workspaceobject.h>" E! `; U0 K. ? U
' h+ s6 t; X" v# ]) Z8 H#define EXIT_FAILURE 1, N0 u; ?9 P$ O7 K2 x
% u: {$ e5 c! y# r+ t
static void report_error_stack( void )4 L6 s! V4 f9 f6 P
{
1 w# _$ \3 J8 u# U( D int; g) }. e8 z5 A! |, A
n_errors = 0,
4 f0 E+ q8 G* q6 y7 p i = 0;' q8 Y& N6 z! }" ?% \
const int: ?/ \) I# D+ g6 F
*severities = NULL,
8 X1 B) C% F4 ^* m) J! X *statuses = NULL;
! p! [/ `3 u, O. ?: u% ?( T const char0 o" m' D+ E3 [, j o( O
**messages;+ @- k. f3 L7 c+ |" b
' o" W) f. V) S) M8 T2 B$ |
EMH_ask_errors( &n_errors, &severities, &statuses, &messages );; U/ F0 ~2 E9 v. T( W5 E3 R X
printf( "Error(s): \n");- L4 r) u+ A$ x0 x" ?. g0 ], Q
for (i = 0; i < n_errors; i++)
1 G( ?0 y: ?- ^' \; K( E! F+ E) U {
# z/ O% t. U# {: o; z" j printf( " %6d: %s\n", statuses, messages );
, G* w' j0 R: d. i( c }
* s8 s- s' S3 n exit(EXIT_FAILURE);
; U7 A) _) c8 B! K! h6 t5 I) o8 Q }
8 C: m% X: ?1 H- i- R0 P' a0 h/ {! _( \( r7 m
int ITK_user_main(int argc, char* argv[])
5 f3 Z0 l( L) V{
1 B' R' m3 G2 G0 ` int
3 p, e$ j' S* N. k6 e/ _' p; Y s status;* D U0 d2 m! J [7 C( n1 o
char
5 B- P$ J' i9 ?- C folder_name[WSO_name_size_c+1],
: i& Z1 v1 B2 p4 R fldr_desc[WSO_desc_size_c + 1],
: V: g/ d; C3 G *message;; N3 d G$ ~$ U& r4 I
tag_t
: v) P5 K! f' d" v' [0 }4 b new_folder;
e4 `1 V0 F! T# ]7 x
+ g9 I) v5 K5 I, X7 c; f" \0 O ITK_initialize_text_services( 0 );
+ r7 c# @) D$ Q0 l" Z- p2 e status = ITK_auto_login();" ~& [5 @! _4 b
if(status!= ITK_ok)
3 K" v1 ?; E0 D5 q4 x$ r2 ^ V {
& \# i/ d$ f. @3 [' e6 l5 B4 { report_error_stack();
4 z5 I$ S" [, ?: s0 ` }
) N! S3 c, ]" n: S else, i. I) g) K3 D& Y( X* v% f7 j h
{! }) i/ l: p* Q7 {' X& G
printf("iMAN login successful.\n");
5 v# P, t7 |# ?/ o2 \9 w, u }
, ~" s/ b, A( ?+ v$ d5 ]
0 ^, o2 ]) G2 ~) t ITK_set_journalling(TRUE);* G9 I+ y: Q- z
3 `4 p" Y' ~0 U b% z5 b if (argc > 1) strcpy(folder_name, argv[1]);% D: V' [9 X( k6 t6 `
else* P" w! b5 u& s- c
{
2 T4 J& j2 f. }( ]1 O printf(" Specify the Input in Following format : \n");# }$ d1 ], X1 e8 f
printf("program_name folder_name folder_description\n");
$ [5 ?. W5 b1 ?& E. n0 D& L8 N' @# s printf("E.g. create_folder phase_3 working_folder_for_phase_3_items\n");
4 n- @! q6 m& R' U$ N1 q return ITK_ok;
X6 c7 Z' c2 O4 ? }
* J- C9 M9 k$ F, v# |3 c" s
1 D% v/ I+ Q W, k. X4 c/ p) U if (argc > 2) strcpy( fldr_desc, argv[2]); Y0 B9 `# Y+ `* s" N& W- j
else strcpy( fldr_desc,"");3 _; w; U# x% \2 E6 a& M
9 |% ? [: S- @( J( {
status = FL_create( folder_name, fldr_desc, &new_folder);8 N) n% L7 K5 s3 Q
if(status!= ITK_ok) report_error_stack();
: U1 ]5 o0 S$ v: _! X
# N `. S, N/ t/ j- | H2 d( _ status = AOM_save(new_folder);' `2 Q7 t. t2 n2 N/ b, l7 r0 l$ @5 s3 m
if(status!= ITK_ok) report_error_stack();
4 j& J& Z* I+ S; o* n% ?5 h# P else printf("Folder '%s' Saved; ", folder_name); E6 v7 w1 J& m% ]5 c- C) t
2 X& Z7 O p3 X: U. ~# m8 Y& L
status = AOM_unlock(new_folder);2 |, }, H2 s7 V, U8 U# [1 ]5 i, Q5 l
if(status!= ITK_ok) report_error_stack();( m, h, q1 l1 U. o# N9 @
else printf("Unlocked; ");7 S) o( ~2 G0 H
; n" k9 \0 X4 z2 G2 X4 F
status = FL_user_update_newstuff_folder(new_folder);
+ I1 l1 o7 A/ b6 y# j% d+ } if(status!= ITK_ok) report_error_stack();- V1 m: @; o7 d4 n
else printf("Put in Newstuff Folder.\n");3 n- U/ h9 m+ T! _; n& f: v9 Y
; y* i5 L: J" t0 @2 }, e6 N( d, s
ITK_exit_module(TRUE);
$ s% m* q" _/ Y. B# @% t return status;* A* G) e* Q @% m
}
- Z+ r( u$ {; A, [2 {. s, H4 R1 v4 P |
|