|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
1 K; q% X+ u' t' v
Teamcenter ITK二次开发源码分享:创建测量单位unit of measures. {& X" L4 R" S ~
! T# R& K: G- i( G7 M- #include <stdlib.h>* u9 d+ |# P, k$ a# U! u) I
- #include <TC/tc.h>% N3 ~7 X P( e$ g8 H7 ~$ {1 D
- #include <sa/tcfile.h>7 y+ A h d: l1 d) D% k0 U* \2 B
- #include <tccore/workspaceobject.h>7 {2 z) @0 M$ h1 L1 R
- #include <ae/ae.h>
( W% }0 E1 c, C* _9 o0 ^6 ^' Z - #include <tccore/item.h>( f2 l* w S' N; R1 G" E! G
; l7 ~2 M% e$ k: v- h3 [& E- #define ITK_CALL(x) { \) i8 |+ ] O" x* A. E, i' P8 N7 Q3 ~
- int stat; \" j1 u7 z$ e9 D6 A
- char *err_string; \
3 e" N G4 S5 R, K2 R - if( (stat = (x)) != ITK_ok) \
$ }8 @4 Q5 i6 S3 S: ] - { \# n+ K) I! |4 m: R
- EMH_get_error_string (NULLTAG, stat, &err_string); \- n- j# S) ]$ x- X3 ]4 c
- printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \- ~# D& e8 Q# |/ R5 U8 _
- printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \' j& R% c* F$ n3 F0 x" I
- if(err_string) MEM_free(err_string); \6 v& A9 l9 X& r4 X2 \ Q
- exit (EXIT_FAILURE); \! C9 Y( X# y% L2 `* }
- } \0 w0 D# ? @( Y$ ~# w; _) E
- }6 |# \% g# v& k1 M' S
- #define EXIT_FAILURE 1 % ~4 i4 T- B, `- ]+ c
-
! {" A3 I R4 m: ~& ? - static void do_it(void)
9 ], g4 z \! O3 h$ O3 Q- t - {
5 O( x6 e0 }# e; G& a - int. n% n/ s4 W/ Y4 l; R1 ]3 j
- n_uom,
5 x! N0 w% \: l- D$ i - ii;
( T4 }1 E' Q5 y8 v; @ - char V/ w. V' V: M/ }7 k. F# n
- *name;
& N# h* h/ J$ J - tag_t4 S% `9 v+ t; b# ]! N
- *uoms,, B4 Y. ?4 D1 |4 Z8 X; `
- new_uom;
0 ?6 j, M% Y4 Q3 q9 n/ U -
) _) l) k# t+ d, H - printf("Before UOM was created...\n"); 1 |7 k8 L: D9 H* l
- ITK_CALL(UOM_extent(&n_uom, &uoms)); m ^0 _6 {6 a8 K4 L3 G
- for (ii = 0; ii < n_uom; ii++)
# v* ]- D7 K0 h5 D* C+ u - {7 K: o- a) s# H3 u0 \, p. L7 {9 x
- ITK_CALL(AOM_ask_name(uoms[ii], &name));
( A! a3 `0 Y0 ?2 ^, b - printf("\t%s\n", name);+ @% o9 w" Y* ?0 h
- if (name) MEM_free(name);6 J+ i ~6 v$ n
- }
6 w& m$ M6 P3 O8 _% T4 c - if (uoms) MEM_free(uoms);! Y& {) U! E0 s( ^+ ~3 ~0 U
- 2 m6 Z1 s1 Z9 B9 |: v }+ Q( B& L
- ITK_CALL(UOM_create("inches", "in", &new_uom));
: c# H Y$ Q+ h+ O+ [8 o - ITK_CALL(AOM_save(new_uom));: @' \/ a/ ]2 ?' @; n# \
-
6 |* I0 n9 B8 j, @, m; x - printf("\nAfter UOM was created...\n");
* e" s- v6 { \% i& \- ` - ITK_CALL(UOM_extent(&n_uom, &uoms));
8 A" h# } H0 J0 [- r: e u - for (ii = 0; ii < n_uom; ii++)
+ G; P3 M7 c* \ v8 N0 B2 @ - {5 f+ R" U# b9 p: U0 M5 V
- ITK_CALL(AOM_ask_name(uoms[ii], &name))( x+ ^% B& N" T o& g
- printf("\t%s\n", name);$ J1 g) P, k, m% Q) T$ ~/ X \# s
- if (name) MEM_free(name);
& |0 a. B# g6 u X - }
! }' w# N* Y7 D( \6 G$ ~9 p3 L - if (uoms) MEM_free(uoms);
6 d- n; X5 b* K+ T8 W - }% U6 ~5 K' J( q; b1 j
- e6 e/ \. m: H; _: r' C4 w* f- k- int ITK_user_main(int argc, char* argv[])' i+ `1 B+ a: G
- {* E# V8 @. q2 A( R3 t) s0 f( _- m
- int# N' e+ `! i; \ i3 `
- status = 0; ( `# N( g9 _7 O6 U
- char! ] q! r! Z, v# Y% J8 P
- *message;% P6 T) m. h: S
-
* ]8 p7 R$ j, `6 w - ITK_initialize_text_services( 0 );
( }3 u4 p9 e/ w, d. n5 D - status = ITK_auto_login();' O7 \8 ~1 z! g; c5 f; M+ ]" v) z
-
- z, d0 e7 r6 r! f8 H$ u* ? - if ( (status != ITK_ok)) printf("iMAN login NOT successful.\n");5 Z1 u; ]) {- @; k) W. s, h: r
- else
! O' U* S5 S; V" a% I$ z - {8 l; Z0 `% ?9 w0 E& O
- printf("iMAN login successful.\n");
) D+ N1 p- @1 |8 P - ITK_set_journalling(TRUE);1 F) ]% ~. I E' d" d) O
- do_it();
: N2 J" t) g U) |( i. v { - }8 W7 m) N. A/ A3 j
- ITK_exit_module(TRUE); X$ G, B1 ?: p
- return status;6 q5 Z2 T. s6 f9 m( p
- }
复制代码
" ~7 q. L( w( a4 [! S: t) g/ `7 K6 \2 @; l
( ~; [. H* C# w; v
|
|