|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
! S) I9 B# g- C/ Y7 Y Y
Teamcenter ITK二次开发源码分享:创建测量单位unit of measures
- q& d! g) H6 Y
8 y4 a- ?: k- K8 t' ]- #include <stdlib.h>% t% p( p& o+ g/ T/ ~
- #include <TC/tc.h>
3 p# ?3 U; I% R! w+ w - #include <sa/tcfile.h>
! p4 `" ]- x7 W - #include <tccore/workspaceobject.h>
6 M5 F8 [3 H. P; J% u$ f F - #include <ae/ae.h>
3 z! A' R& t2 M* ` - #include <tccore/item.h>
& o' g( Q+ l2 L7 P
# m/ J( F9 r2 L7 v! m+ B9 L+ H- #define ITK_CALL(x) { \
, X: g) v% N! X$ S6 z" ~ - int stat; \' V8 H. y* ]/ o
- char *err_string; \( @5 M; a$ H5 w( ?; L
- if( (stat = (x)) != ITK_ok) \
, {9 P; u" ~! [" g - { \& j( g- v4 N+ C ~& h/ G, M
- EMH_get_error_string (NULLTAG, stat, &err_string); \
R, N* _2 m, J6 O4 V4 e - printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \' I- h" N4 z4 G: d5 s
- printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \/ `- F% p* ~" p! o* k: ]. I: h- g
- if(err_string) MEM_free(err_string); \9 L% w8 c. m" k1 V$ n
- exit (EXIT_FAILURE); \0 l1 c) ~0 ?' I5 c
- } \
8 J4 i* w# i! \1 ? - }& o9 ~) N# x: y' w& G) S0 V
- #define EXIT_FAILURE 1 % S" N! c6 B5 M K0 u) z2 I
-
, | l i+ o& Q* n$ h6 v - static void do_it(void)
/ y1 A# ]5 o% ?3 a/ K) h* } p6 @ - {
: N1 E% G5 @& u1 j: N. j - int
: [( Y4 p& u, N - n_uom,! M8 G, T# d, E- w5 N& ~6 f# \
- ii;: @# U- L( H* a; z
- char
8 o, ^: M; k" W b( G! r4 G - *name;
! x. D# X8 v5 k7 w ? - tag_t
5 }4 u7 |: ^ @5 w& U - *uoms,
* e( z% A0 W9 g9 @& S - new_uom;
" i' x! I5 q. w! Y( h# g- a+ ` - 1 D# e9 a- Q7 p' r
- printf("Before UOM was created...\n"); & v4 j0 ~& X; ]! x0 a( d" x
- ITK_CALL(UOM_extent(&n_uom, &uoms));
) R. J* e1 N7 S - for (ii = 0; ii < n_uom; ii++)
* k- p" o5 ]( L. i - {
+ P( y- O! N6 H; l. `# L$ q# d - ITK_CALL(AOM_ask_name(uoms[ii], &name));
% P( G3 b. u" [* [" I. ?! v9 ^ - printf("\t%s\n", name);' C& ?! p- P+ q3 C5 R
- if (name) MEM_free(name);" s/ }* _7 u) M2 T
- }
1 l7 ?$ e3 \& Z& O - if (uoms) MEM_free(uoms);% G4 a F9 |6 P! C
- z4 g% i4 U6 P* w
- ITK_CALL(UOM_create("inches", "in", &new_uom));
6 }- K2 {6 C3 [" Y E8 d! F& T3 {; a - ITK_CALL(AOM_save(new_uom));6 M0 k- ?) [& Y; n& I4 m: _
-
+ z; a. H5 H5 J9 M) X - printf("\nAfter UOM was created...\n"); + {: G( _ P( {7 y5 _; t. [$ }+ {
- ITK_CALL(UOM_extent(&n_uom, &uoms));
2 p, Q" V4 k7 ? - for (ii = 0; ii < n_uom; ii++)
4 G( `! x$ G& H- P: f7 M - {
. Q/ S& M S, L% `0 Y( K( _. m - ITK_CALL(AOM_ask_name(uoms[ii], &name))) A. z* M6 m/ _$ ^, {: w/ U0 z
- printf("\t%s\n", name);
8 p! n/ D4 n* K1 n% h( B; ] - if (name) MEM_free(name);8 S, [; v* c3 k: N; _, K4 s
- }- b# Y' i) t9 T" g8 S. D* n
- if (uoms) MEM_free(uoms);
7 @: V q7 N+ K0 V9 }5 r! l - }4 g3 j2 p! j3 j$ K; l1 s8 \4 c0 S- k
- ! g$ q% ?0 F+ j8 y6 O' j4 P! _
- int ITK_user_main(int argc, char* argv[])
, _' B' Z3 x X6 X$ v* c - {' n2 u7 C) s, u$ m- V$ J" v
- int5 D$ A+ k, N7 d3 R
- status = 0;
: ^: @% u+ d. j - char3 |2 ?* i' o- l. U, R5 S' j& F
- *message;+ u3 \+ q2 A7 v5 j7 K2 S; X
- ' ~- G; Q3 _$ C
- ITK_initialize_text_services( 0 );1 x. g! S7 ?9 U" Y2 r: f* @* B7 T2 D
- status = ITK_auto_login();
; T" ^4 @9 u! i. g( [ - , y9 I7 [7 B; B- h% x; y N- i
- if ( (status != ITK_ok)) printf("iMAN login NOT successful.\n");9 V; F/ o% ^8 |. ]
- else) M3 @7 r( M: ~# k3 a8 t- h
- {
& i5 Y; p) l& Y& \! Z6 z - printf("iMAN login successful.\n");
$ A, a! J/ E3 q0 y9 r) v4 w - ITK_set_journalling(TRUE);
0 H* }! \' D A2 u$ T; J7 L - do_it();. z- o( U" v% ?0 E1 U% w
- }
9 `; a9 W+ C2 ~$ |3 B! _5 _ - ITK_exit_module(TRUE);
+ O! X% d+ o3 \2 v - return status;3 f: U3 F( c+ S% K* L' A% c
- }
复制代码 $ Y' m9 ?" x) |2 `
& l3 u2 z: Q) A a
) B* F" p2 j5 n6 c- ~ |
|