|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
; ~5 a, \# a. dTeamcenter ITK二次开发源码分享:创建测量单位unit of measures
9 `6 h/ s! J5 v* }6 `3 P$ h. A
7 @: i! ~( o, X2 l- #include <stdlib.h>$ R+ u5 |* f; \/ X8 z) @8 E' W
- #include <TC/tc.h>) W4 z) M( M2 c0 \
- #include <sa/tcfile.h>
& v* k4 z/ e' B, E4 \ - #include <tccore/workspaceobject.h>
7 i2 W, K- A+ R$ q! t% \& s u' z6 B$ | - #include <ae/ae.h> X; A' L4 i/ Z$ g& M# Q( Z: l: X
- #include <tccore/item.h>
. q* e, c: R$ x/ a1 @6 s: b - 0 d' C& n+ ^/ f7 v: M# ]
- #define ITK_CALL(x) { \/ f* N9 K$ S/ i" b# C
- int stat; \
$ [5 u, E5 s7 W! V' k" O% H - char *err_string; \
/ q+ g U9 |4 ?9 K5 A - if( (stat = (x)) != ITK_ok) \
& T+ J, s/ A9 C" ^" D - { \! X' g8 I- A# x4 ?8 s' H7 `# U6 ^
- EMH_get_error_string (NULLTAG, stat, &err_string); \
5 C; \" \# }9 j' L5 n- } - printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \
$ N. g5 \( G3 q% E7 I1 W. R - printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \
0 ~' T" V* c% d - if(err_string) MEM_free(err_string); \
$ t( N0 q% _& u* h& G- F4 ~/ Z - exit (EXIT_FAILURE); \
/ H( j; N/ S# ]$ h# I - } \4 N2 s6 X5 d/ e
- }( G. H9 T+ D4 w( [+ a+ l U$ \
- #define EXIT_FAILURE 1 * _2 C/ K% [3 E# k3 W3 }5 d9 |. D
- 5 U* J' e* p: Y/ s; Q# V# L
- static void do_it(void)# k L! |/ ~ s5 k! U! A. Z ^
- {
# ?) ~* f( F7 J& D: } - int
& ]7 q0 R4 F2 A: t; A8 l - n_uom,
% r+ @! z1 P5 { - ii;
, T) J9 d# `% M) l& e - char+ t! L( `/ A8 r
- *name;
7 S0 W& U$ a! y. k2 K - tag_t9 {8 ^( n& s$ ^
- *uoms,0 b# }+ J4 [' E6 Z5 t3 L; s
- new_uom;
0 ?; D- v+ N/ f0 w" L# V - + t" M! m" n* F" S; ^, ?- L
- printf("Before UOM was created...\n");
/ e# ~1 M7 I% c" _9 [5 N$ a* V - ITK_CALL(UOM_extent(&n_uom, &uoms));
0 w3 f$ _5 Z/ k, B: p' |: b) S% Q' Y - for (ii = 0; ii < n_uom; ii++)
* Y& K3 F+ @1 c+ I6 T) T) r - {
4 S/ @# j% s) O, ?. e - ITK_CALL(AOM_ask_name(uoms[ii], &name));0 K) l, B, c: k n' m5 Y( w% J
- printf("\t%s\n", name);
% M0 g: n3 h% I - if (name) MEM_free(name);' b7 I9 L8 a8 q; D: r& o& y
- }
+ a6 R4 Z5 h% w - if (uoms) MEM_free(uoms);
$ ?8 t% i) g1 `" j# n0 w - 1 V" ?9 V* D$ D& X
- ITK_CALL(UOM_create("inches", "in", &new_uom));) p" X- F% \; G( N
- ITK_CALL(AOM_save(new_uom));) O2 M6 V! V( m
-
* @6 R/ R' b6 o6 U4 O2 x; T0 f4 U - printf("\nAfter UOM was created...\n");
7 _0 @$ H( |+ z5 V& r. w. F - ITK_CALL(UOM_extent(&n_uom, &uoms));$ n7 s6 \0 x3 B
- for (ii = 0; ii < n_uom; ii++)% N7 d3 X; h g0 e! x z6 |7 l/ N) V! H
- {
# C/ Z0 B0 r$ o% ~' J" a - ITK_CALL(AOM_ask_name(uoms[ii], &name))
( e$ T d% u0 t: [8 A - printf("\t%s\n", name);4 ?! v N( ?! {9 u
- if (name) MEM_free(name);
. o S# D1 `9 k8 ~. ~: n/ ?; p1 w3 u - }, _3 q8 K8 u/ t+ B# W% I2 E
- if (uoms) MEM_free(uoms);
0 ~! ]7 P% E' {7 G! @ - }+ p/ f! c- y7 q3 d$ z. k; m# ~
- # ]- ^! Y6 U* N
- int ITK_user_main(int argc, char* argv[])5 ]0 d0 J# R- C. p
- {
4 H5 e( W* D, d7 n k& y - int" P7 F/ A/ J: ^, U
- status = 0;
( w, A- F1 b7 V - char
" \+ G/ |0 w4 p! j1 I% W+ h - *message;$ B2 |; y$ n. G1 Y7 O; ?0 s3 u
-
/ t1 `9 Z! l; j, }1 e - ITK_initialize_text_services( 0 );
" ]0 j# D' t; [ - status = ITK_auto_login();1 T( m# p* ^$ U
-
! m* d& H7 i7 `1 ]! h f - if ( (status != ITK_ok)) printf("iMAN login NOT successful.\n");, u' `* x* h: j4 F9 ~
- else
% r$ W* B5 F+ _4 t% h8 z - {% A& K) V' D- @8 n7 H9 a
- printf("iMAN login successful.\n");5 R8 n, ~1 f+ ^9 L
- ITK_set_journalling(TRUE);
4 X$ Q- g7 ]* J- K - do_it(); z& P0 `" Y- \+ ^# A
- }
5 |8 ~/ L2 g5 K - ITK_exit_module(TRUE);# E4 \3 {, r2 h1 q4 v" @" y
- return status;
1 \! T8 ~- G+ y* h$ S5 h- P - }
复制代码 2 ~+ Q: v+ O# w9 G7 S* {
! ]( T( T' K: t. p# ^) p* j: T! [& E! Z8 T$ d
|
|