|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
0 l: d: p, g. L9 m" @Teamcenter ITK二次开发源码分享:创建测量单位unit of measures2 ?$ L; C5 O2 b2 h
* S$ p$ L1 e/ Q' A1 z; N! }; A7 g3 w- #include <stdlib.h>7 I+ g* X9 [, |* u8 d" f+ ^' s/ `
- #include <TC/tc.h># J$ K9 f, F4 J
- #include <sa/tcfile.h>0 p+ k- V3 l, g! G/ E" M" x
- #include <tccore/workspaceobject.h>% }! ]; B/ E2 W1 | q9 ~% E
- #include <ae/ae.h>5 n% w; L" b# p/ K8 h9 G; P
- #include <tccore/item.h>' R' ?% g* l5 n t8 r, H
- $ k' Q# |% a! S$ S b, j2 k
- #define ITK_CALL(x) { \+ z- y7 r$ V ]0 n$ J1 p
- int stat; \1 q0 \9 u2 q) t' V5 J) `1 g |+ T
- char *err_string; \1 B6 K; }2 m+ a% `
- if( (stat = (x)) != ITK_ok) \5 v8 w2 Q, [! _0 ?2 H T) Y
- { \
/ e" `* k- ^, c. o- R% Q+ U; c - EMH_get_error_string (NULLTAG, stat, &err_string); \; P2 m0 d1 v8 U, I5 I! c
- printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \1 J' ?9 k0 L6 H9 r+ J
- printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \
3 B! V6 w9 y/ i# m" B - if(err_string) MEM_free(err_string); \, w; W* x9 z% Z/ Z- e8 _+ s, M" `
- exit (EXIT_FAILURE); \ d8 A; Y7 l) w8 `
- } \
2 q2 A9 o/ a, u8 X/ k R" @: L! ^ - }2 S0 \# M( q: }# a% j1 M
- #define EXIT_FAILURE 1
; |+ \) t. g3 e2 O# S% d. c+ b - 9 @7 E" Y3 S4 ~* X6 d
- static void do_it(void)3 U0 L1 f5 z ^* Z
- {" [( Y1 c, t5 J$ ~& s7 d
- int
3 q. O5 |# L. r+ [+ d9 R* z/ y1 m; g - n_uom,
: X/ A# Q( w: a9 E - ii; W( B4 t# o. s2 f
- char# E. m" \: l: K4 ]* g
- *name;$ M& D9 \* ?4 ~$ N
- tag_t
/ ]& p: l' K3 A7 Y - *uoms,: N- f1 `9 ?+ I r1 S: ?
- new_uom;8 s# m y8 n" h) H' w3 F: ?
-
" s6 k4 W" ?( H2 x1 ?" M - printf("Before UOM was created...\n"); * r4 I# L/ M; q* r
- ITK_CALL(UOM_extent(&n_uom, &uoms));4 S1 Z# i; E: k: ^7 Z
- for (ii = 0; ii < n_uom; ii++)$ j3 f6 L3 K- s
- {( L" p% ^0 r& U4 {/ ^" k
- ITK_CALL(AOM_ask_name(uoms[ii], &name));
8 F% i' M: C0 } - printf("\t%s\n", name);) [& j$ i& \) S4 Q' C% F
- if (name) MEM_free(name);
. {+ F& Q% L2 l# P, \9 K - }0 s" v# {8 ^2 w# v
- if (uoms) MEM_free(uoms);/ x* B4 U* ?7 B1 N
-
$ _6 Y: X/ ]- z* W - ITK_CALL(UOM_create("inches", "in", &new_uom));* k7 p. A& C5 M5 }7 k1 N3 D2 r
- ITK_CALL(AOM_save(new_uom));
' S( m0 h2 V- o - - B) p: `' Q" R E$ L) R7 ?: L
- printf("\nAfter UOM was created...\n"); # X- {+ o i. }" G
- ITK_CALL(UOM_extent(&n_uom, &uoms));) S/ P s7 p# u/ m: T3 E' v ?% O) E
- for (ii = 0; ii < n_uom; ii++)
7 f- D; D8 d9 Y, Q - { ?7 L3 M" [7 @1 e3 _; _$ B
- ITK_CALL(AOM_ask_name(uoms[ii], &name))
( w4 Y$ v# |" E - printf("\t%s\n", name);
- u) p% v, S- z, R$ ^7 W# o - if (name) MEM_free(name);
, D: y% ]% Z7 q6 S0 R - }
+ N3 ]$ b) s# q3 i- c" D7 | - if (uoms) MEM_free(uoms);
0 \3 n5 Q$ C9 q/ Z; Q - }8 V9 {1 k; B9 q( ~& G% Z
0 X' X' f/ W' U( s- int ITK_user_main(int argc, char* argv[]) J" {* v# Y1 M/ o( T, v/ n/ I! e! B7 I. p
- {
, s y0 n1 ], s( j& `( s$ l8 j" d; w - int
% e# @% A; x5 [ o - status = 0;
0 K- R2 Q' I! i - char
3 j+ E! R& _1 f - *message;2 D7 n9 c# B3 W$ a( z/ k" y5 K
-
, p7 j0 _2 _0 Q - ITK_initialize_text_services( 0 );
1 i6 C L1 ^" l1 I' x - status = ITK_auto_login();$ I2 ~4 h2 O* E9 j" Q
- 3 N: G0 _5 W+ o4 `# B2 I
- if ( (status != ITK_ok)) printf("iMAN login NOT successful.\n");
2 R" Q6 G2 L3 r6 I R7 h# V& b - else: K- s, C6 I# I" @" W' [
- {% |) r9 C& A7 U+ D" r9 ^) v
- printf("iMAN login successful.\n");
& b1 L2 o# h+ Q0 b7 ]2 M2 J - ITK_set_journalling(TRUE); Y2 ^1 B( W4 q' w9 a5 w
- do_it();5 G9 w. _) S3 Q
- }
' Y8 h. B/ x# V& y9 j6 ~. C - ITK_exit_module(TRUE);5 T. @- i9 p/ J! z' m/ E
- return status;
, t" p* V* o3 H( l( j+ o5 m - }
复制代码 2 e9 [- ^% N) U3 a
% a ^0 e& m0 q) R v
, ^& D$ T, t6 K! M) G/ h |
|