|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
8 ^+ X* J2 f+ A
Teamcenter ITK二次开发源码分享:创建测量单位unit of measures4 y `: u5 L) R* \ n
. _* x2 o, A& f5 c
- #include <stdlib.h>' v6 Z, m6 b5 U. ~8 {( a8 |
- #include <TC/tc.h>
4 H9 _( |) {6 b5 _ - #include <sa/tcfile.h>
+ t1 p$ R2 a& ?, q7 x2 P1 \ - #include <tccore/workspaceobject.h>: B& @2 {3 u9 F) ]0 T9 V
- #include <ae/ae.h>
6 M$ D2 e) [+ i8 R; m - #include <tccore/item.h>2 {' Z1 f, d6 I3 a3 `* ]* `
, ]: |" n# I$ [5 y4 M- #define ITK_CALL(x) { \& N* g8 b7 i4 N7 j+ z6 j3 t
- int stat; \
* Q9 T8 n/ h8 r' z9 S - char *err_string; \
) {8 g3 ]: \$ ?( j - if( (stat = (x)) != ITK_ok) \# B) A! v5 `% l1 z4 H, d
- { \
& E2 O8 e/ m2 V - EMH_get_error_string (NULLTAG, stat, &err_string); \$ b" R9 Y0 M; S5 } M
- printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \
% }$ @# ^' D. D - printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \5 Y. o# {. @( p) k
- if(err_string) MEM_free(err_string); \- k1 S8 ~* t: N2 n
- exit (EXIT_FAILURE); \5 q2 ? T1 i, _. e# f. A
- } \
1 d2 a: a5 {* d9 t! J3 C3 \( I - }
7 b7 S( L5 V$ Y6 a. b - #define EXIT_FAILURE 1 ' F! L) g/ d0 \" Y: Q3 x
- 0 C1 c R* K( _% l
- static void do_it(void)9 H$ t: q! {6 w1 ~6 O
- {
H! T) V( w$ j3 g# Q2 | - int
0 V; [% y( \- C' u3 ~; @ - n_uom,0 D0 D3 C3 _- Z) L
- ii;5 t- ~9 W6 c, P* O# l) Y
- char. k) w g% k% T
- *name;5 C \( }7 B" O* e! [7 d0 R
- tag_t
5 R7 {/ C: `* a9 L$ r: a - *uoms,
/ Q6 }2 M2 p3 j. N; {- x$ p4 b6 s - new_uom; Y% f8 l2 c& t) a2 q. S# h7 C0 @+ A
-
: m* J m4 J! p* y - printf("Before UOM was created...\n");
3 Y9 L" s7 D8 p' _, {. }3 {, N - ITK_CALL(UOM_extent(&n_uom, &uoms));
. ^/ n! Z7 S. a) m - for (ii = 0; ii < n_uom; ii++)6 A5 `' S3 M1 z W# l
- {( I" }& E, v& E9 R& I1 j" B
- ITK_CALL(AOM_ask_name(uoms[ii], &name));
& v& m% b$ g- j$ d1 p: B9 M+ W1 l7 S - printf("\t%s\n", name);% h5 l2 ^/ J g1 V# Q" v
- if (name) MEM_free(name);
( z3 `; }2 d+ W, I$ Y - }- e2 K6 y0 c6 D! f/ K) p
- if (uoms) MEM_free(uoms);
1 k o0 k, t( |1 R0 V - P1 L' A% z# o" [6 v
- ITK_CALL(UOM_create("inches", "in", &new_uom));2 Z" d v$ e+ s" B4 v1 |- \
- ITK_CALL(AOM_save(new_uom));
8 L+ t/ o3 K% j/ r z -
1 ~2 `% o6 X4 H0 x3 h, p4 Y - printf("\nAfter UOM was created...\n");
0 i. i) V7 F6 j1 _* e2 O+ D% X - ITK_CALL(UOM_extent(&n_uom, &uoms));
& x+ n7 U6 g0 C0 o* [ - for (ii = 0; ii < n_uom; ii++)
8 R, l4 T; E% } W% l - {- U1 N0 e+ \6 w% ~
- ITK_CALL(AOM_ask_name(uoms[ii], &name))
; R6 Z" S. T7 `4 u6 m e - printf("\t%s\n", name);
; X# k1 Q$ L7 k: Y1 G2 o! b* v$ x5 { - if (name) MEM_free(name);8 E3 e6 N4 Y. Y1 r- m/ ]
- }
& A( ?8 H+ u; h I& I$ u. s7 t - if (uoms) MEM_free(uoms);3 {% s X# I6 l( U" A- j$ L
- }
& P4 C& g7 i0 K) w3 z/ D
9 R6 V# o0 O3 m9 \" A3 p- int ITK_user_main(int argc, char* argv[])
, H: F. t4 n" Z" y1 Q: m - {, K! f. b6 D8 G! G0 D- a
- int
% d1 S$ S& H4 ~& m. p- G1 R# Y - status = 0;
- u8 ?; h6 l/ H. P" r) O - char" U* c5 x+ s5 S& m
- *message;
$ w) i5 V3 E. Z4 H+ S( G - 7 j4 z; f6 y @9 C
- ITK_initialize_text_services( 0 );
: G: S+ ] Y2 u [0 B, C! }. S - status = ITK_auto_login();- Q' m8 P6 P% s
- - Y! {9 p/ @- c& i
- if ( (status != ITK_ok)) printf("iMAN login NOT successful.\n");. u, Q' i1 H+ K: a
- else
" q" a7 ~$ q$ q# l8 V - {* f( Q, P- p, Q# H, x
- printf("iMAN login successful.\n");6 F, [, |! j# D8 ]# h/ ~! z) `
- ITK_set_journalling(TRUE);
6 z L$ n3 k4 ~1 D- V# Z - do_it();
[+ k* {# z5 @: w - }0 a; p8 Q# B' V! v3 }
- ITK_exit_module(TRUE);
E: u8 b& R A9 f* f; v* q - return status;+ p r2 e+ r4 D; R, _5 ?6 \1 R
- }
复制代码 8 C7 Y5 ~. W8 ~% }+ x* u
, d) m" ~( a0 e- x, X7 S% |9 A H
|
|