|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
1 J! I. Z8 S W' ^2 |% p: O
Teamcenter ITK二次开发源码分享:创建测量单位unit of measures1 H% C' t, I1 u! l* r" Y
6 u/ H6 |: A- V/ Q* s* L. P- #include <stdlib.h>2 o- x9 A5 `: u: r( ~
- #include <TC/tc.h>$ H' ^3 N Z( b) B2 E8 j8 O
- #include <sa/tcfile.h>* _0 {) t& T! a; J. @7 V
- #include <tccore/workspaceobject.h>( b* {9 H, L" `& R T d, p( h
- #include <ae/ae.h>
$ C- ?0 O8 `1 R+ G - #include <tccore/item.h>3 r$ v( i! C1 l$ G% X$ S3 m! W
( o% l: f& t$ ?% P- #define ITK_CALL(x) { \
1 i' q) B5 U4 j, t# a - int stat; \
" |7 l0 }8 ?6 d8 H; [ - char *err_string; \/ |1 T6 F( o0 N, Y! P" e- P
- if( (stat = (x)) != ITK_ok) \2 _- _ f$ q G2 Y' k
- { \
: @) ?- |" b( X7 a - EMH_get_error_string (NULLTAG, stat, &err_string); \7 O5 T# h; J% |6 A
- printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \5 j6 v$ o3 ^, r
- printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \: Q, g8 B1 n8 D1 w9 h
- if(err_string) MEM_free(err_string); \9 D. c, Y* }6 J% r4 x% t4 v8 p# b
- exit (EXIT_FAILURE); \* r! l/ m% |: Z' y; Z
- } \0 x/ }4 Q# A( R; T L i
- }
6 h+ C5 g1 Z K- a1 }) f" b/ s - #define EXIT_FAILURE 1 # v' r* b6 }3 s! Y; X
- 9 ^# S# W+ m6 b7 o( ^6 e1 q; H
- static void do_it(void)
# d! {: `! D1 M9 l - {& \( p+ L X+ z$ }# x
- int
. {$ O$ F& C! c' z1 K - n_uom,) c @; y" B2 Z* S- s+ w5 z+ |9 A
- ii;
5 i6 c. k* ^3 ?/ o - char4 [7 u" Q: }- D# ^+ {* X+ d3 b' B
- *name;
# y2 @3 z" K) Y! K4 f7 R - tag_t6 r5 A1 f' q' Z/ L" m! C
- *uoms,! Z4 I, H' f. Z0 l3 W; _1 ?
- new_uom;; k& `, ]) b7 J
-
; r$ L+ b9 S4 V: z - printf("Before UOM was created...\n");
- k9 m/ w7 Z5 k- h9 h1 \ - ITK_CALL(UOM_extent(&n_uom, &uoms));' M' q: ?; t6 }2 y4 D6 l8 V& G
- for (ii = 0; ii < n_uom; ii++). q) ?1 a6 f6 {) Q6 y
- {
3 s- p" l) q H& n - ITK_CALL(AOM_ask_name(uoms[ii], &name));
+ J. f- ^& A& c3 t4 G6 F- L - printf("\t%s\n", name);
! X% {+ y O9 V9 ?% d1 u+ c' j" D( O2 c - if (name) MEM_free(name);8 {2 j0 V, U0 H* z
- }
8 B1 s9 Q+ }8 {. J) [$ o - if (uoms) MEM_free(uoms);3 T2 T- }( Z+ k% C0 N
-
- ]) x% \+ U m1 [0 x) }7 P - ITK_CALL(UOM_create("inches", "in", &new_uom));
6 _: g% o, ^) O. i - ITK_CALL(AOM_save(new_uom));' a$ r# D- l" w/ r1 {( U7 C
- # h# S+ ^! K) j; H+ U4 J
- printf("\nAfter UOM was created...\n"); / p5 j6 X: b. g$ s5 p6 D
- ITK_CALL(UOM_extent(&n_uom, &uoms));
0 l6 q( q; {6 |. W( d( B, ~4 g - for (ii = 0; ii < n_uom; ii++)( b. x" j, P1 f$ I% z! m5 D1 Z* `
- {2 k4 M7 U' E) t; t
- ITK_CALL(AOM_ask_name(uoms[ii], &name))% R( G& \. U2 G7 |* m. d, H }
- printf("\t%s\n", name);
3 |8 s8 d5 C: M$ Y - if (name) MEM_free(name);
) v/ {( @5 H" b* o* O3 b; p - }
" h0 z8 v, h! t4 P - if (uoms) MEM_free(uoms);" B9 [% {! V, g2 G, U6 Y; a8 O
- }
+ {) m2 [5 E' T6 |0 |9 F, L' L& m - + _( H! o- l& `
- int ITK_user_main(int argc, char* argv[])
9 ?; a8 L2 T. F. ] - {% c8 I2 ]9 B, k5 I
- int
. k$ }. O5 Z% ?# j5 n9 J$ V - status = 0;
( i9 h$ e( L( ?- H; E) t - char
* v2 B7 S. s$ S5 ]. S8 g+ | |' I - *message;7 @ u$ Z6 @! p0 ?: f! G' o$ l3 d1 e, }
-
3 k! A% `; D' p8 E: K( X8 d - ITK_initialize_text_services( 0 );
4 Z8 f p: @1 h, k - status = ITK_auto_login();
8 G2 Z3 Z) e2 l5 s: B b7 i$ u -
! u m! Z" w1 S& F+ ]" u - if ( (status != ITK_ok)) printf("iMAN login NOT successful.\n");
: b, `$ `6 C& _$ W) r" M - else, B7 W6 J' q- T) Q- T: X
- {
) ?# P8 _8 ?7 Z3 Y) E - printf("iMAN login successful.\n");
8 ]4 J" r' ^5 r8 z+ }9 h - ITK_set_journalling(TRUE);
' b! {1 j4 K' J& k$ { - do_it();
& n D, i' E% k: k - }
7 r( ^+ S9 a! j - ITK_exit_module(TRUE);
5 u1 \2 ] o& x2 B2 d1 V - return status;9 a; e6 w# w. `4 P! V6 n
- }
复制代码
' d! c7 O( [* t7 `& c& r$ T& Q% @$ W/ A" o5 P% h
- v5 H. `. ?0 X3 ?
|
|