|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
( B: w; }; Z& t: OTeamcenter ITK二次开发源码分享:创建测量单位unit of measures
' _# P& v( A% K8 o2 M4 ?
3 O7 b" p! [. ~8 }9 a/ F' N- #include <stdlib.h>
% P3 h; [ N& w. { - #include <TC/tc.h>
- e3 g4 {/ N& L6 ]$ o - #include <sa/tcfile.h>7 b" e9 w7 C [
- #include <tccore/workspaceobject.h>
3 x% f B2 }3 ?! }3 m - #include <ae/ae.h>
. I& n3 p3 ]2 c - #include <tccore/item.h>! v' x0 w0 m* E
( B; [ B' }" }/ _- #define ITK_CALL(x) { \% R$ F5 }) ~6 B' `
- int stat; \
" s7 V% K( t8 G% l1 C$ s7 ~ - char *err_string; \' O- c8 S+ ?% Y& P2 ^: m% o+ _
- if( (stat = (x)) != ITK_ok) \5 b' _; i( O# x6 [+ M* T2 b
- { \4 Y/ A, o; |( _5 o
- EMH_get_error_string (NULLTAG, stat, &err_string); \
' Y2 C! r3 ]! y' J - printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \/ b, p+ t, s5 k; F
- printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \
! H4 e9 Y( |9 u, ^4 Z4 } - if(err_string) MEM_free(err_string); \
9 v6 l; I1 u& `' U6 X - exit (EXIT_FAILURE); \, u; U/ j2 {5 ~6 B# Z% t* K" k
- } \# V. ?, g0 b1 F; w+ k6 C0 e% d( l# s
- }
' X* Q& u% s2 U+ M' g0 k - #define EXIT_FAILURE 1
, b" j3 Q) F/ m1 R - 4 f8 i. b! z; r$ O7 T
- static void do_it(void)
! T, ?* d: C9 R9 g8 l2 X - {& J9 Z# ^2 d0 S% H3 S8 k
- int
$ Y9 R9 d$ P# r) `# i! o - n_uom,
: _+ I3 Y% _- d! C) {9 { - ii;( U$ m8 r2 i, e$ n) }
- char. g6 ?% l2 P, ~4 l' q; c; n
- *name;' N6 S) }5 [1 i
- tag_t
4 o, e- v- A2 h( B - *uoms,' e# \: \% }- V; W4 t. m
- new_uom;: `, B5 s. C% {. T$ c0 E
- 1 T" h. G" g6 B2 a2 o: P7 T9 Y
- printf("Before UOM was created...\n"); 8 _# ?' i, {+ R. w9 [3 b' d% X
- ITK_CALL(UOM_extent(&n_uom, &uoms));! a6 |# }. s- s% V0 y7 C; w
- for (ii = 0; ii < n_uom; ii++)9 y# s( |# e, n5 K, ~
- {( {9 M) o8 ?, ?& }: c- r: A* k( h" q
- ITK_CALL(AOM_ask_name(uoms[ii], &name));& g: Z* W! D* G0 d6 _. n
- printf("\t%s\n", name);- P4 h0 ]6 w7 j3 J$ d
- if (name) MEM_free(name);
! u4 z% ?: ]) B$ r8 c+ D7 A' q9 B - }2 Z5 S( V P- {/ U
- if (uoms) MEM_free(uoms);! ^' F6 O; ~* _4 z; }5 Q4 y$ f* K
- : q. ~7 Y" w/ j+ b7 ^5 \# m
- ITK_CALL(UOM_create("inches", "in", &new_uom));4 d8 S+ c( X7 z n( O8 P2 L
- ITK_CALL(AOM_save(new_uom));
* }% q. {6 A' `) R( U2 Z/ S c" b - 6 b6 ^5 H" Q, X& j
- printf("\nAfter UOM was created...\n");
0 c5 Z# Z5 v4 l* U1 v - ITK_CALL(UOM_extent(&n_uom, &uoms));
+ g0 i3 D1 a! K. K. i# ~ - for (ii = 0; ii < n_uom; ii++)# v/ L/ L& {/ ?* {$ L
- {" Q% C$ E* z9 L/ I B/ ?; x$ W
- ITK_CALL(AOM_ask_name(uoms[ii], &name))5 |( a8 M, X8 T' Z/ H% q
- printf("\t%s\n", name);8 `$ s; i. p6 O6 Z
- if (name) MEM_free(name);
/ U; I4 O- B9 U' y5 T" i1 i - }
% } p4 s5 |7 _ - if (uoms) MEM_free(uoms);
% k7 V" o$ \# K9 q5 Y - }3 X# Y* K" X2 ?$ L8 u% I, r6 z! x
% c4 O3 A3 v8 A' ?) N- int ITK_user_main(int argc, char* argv[])% A4 J3 S5 D2 A; i1 I' G
- {3 l( i# a. [1 Y7 D( P) G
- int: C6 r6 \( O/ S# P; m0 K2 w
- status = 0; 5 \" z9 V5 N6 n1 O* D
- char2 d, r# T: S0 p2 U
- *message;
, H$ G* u' m: k+ j j6 O -
( p6 c/ e5 \9 r6 I* w$ ? - ITK_initialize_text_services( 0 );
% I4 r/ [+ D ~/ p! W- n8 v+ [1 C% K& Z - status = ITK_auto_login();
3 O9 O* u7 [6 |7 ]' W5 ? - * p% T2 N( x6 B- o1 J+ f6 X5 r
- if ( (status != ITK_ok)) printf("iMAN login NOT successful.\n");) [6 l& i7 E7 r* Y1 A
- else5 d. j- F+ L0 R6 I
- {
6 t- z) J C8 r2 ?. S& d O - printf("iMAN login successful.\n");
+ Z! u6 h' T( o" W* Y0 V2 B - ITK_set_journalling(TRUE);
# R5 W9 v9 f( t" _- Q% v0 R - do_it();, |$ L6 w0 X0 c- u
- }; k! W& ^8 ]% k/ Q7 P# v, [1 l( x
- ITK_exit_module(TRUE);5 ]5 _7 v! z# w: }8 V5 K
- return status;" E9 a y$ Q: O& w1 L0 P$ v: @
- }
复制代码
2 x9 H+ d, S6 z3 t4 I
3 w+ e$ }( D* Q ^9 ~7 I. d- F1 R: m" M. R+ u Q) j1 E
|
|