|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
& d, @; R/ j9 m |$ g
Teamcenter ITK二次开发源码分享:创建测量单位unit of measures
# ~) h( U, L9 q7 H3 e( V9 w
8 e* B5 J5 l% l; N2 S* j6 z1 @- #include <stdlib.h>5 g0 e8 d* n; ?0 ?# R
- #include <TC/tc.h>
$ M" m2 K! e1 d: ~ - #include <sa/tcfile.h>5 C3 o! s8 {- k; ^- d6 U+ @- ~9 M
- #include <tccore/workspaceobject.h>: k2 j% R% ^6 x# k+ b0 X3 n
- #include <ae/ae.h>, ?- p1 f$ ^% n4 _
- #include <tccore/item.h>1 K2 W9 l* O# G9 C
- & @6 {% @" F0 @4 d: Q8 Z
- #define ITK_CALL(x) { \* j4 M; T! s( o6 F$ @
- int stat; \
; }7 W' e9 G8 M: F6 ~* b - char *err_string; \* n2 `2 [& U4 h/ m6 g1 }8 }
- if( (stat = (x)) != ITK_ok) \0 V3 [$ {# w# k* u3 ?
- { \) n; S# @! W; w- h7 m
- EMH_get_error_string (NULLTAG, stat, &err_string); \
1 P/ B$ E% |0 b% A - printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \
8 c% a0 `( g6 f. ?1 k1 z% V& } - printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \
# R* K" l% C) G) H# ]3 P+ H - if(err_string) MEM_free(err_string); \
! e" m/ g/ ?+ n, | X - exit (EXIT_FAILURE); \4 K& R: _; X- Z) x; J. j
- } \
4 p: m A5 t, i5 L- W - }
1 n3 n8 b' {: v - #define EXIT_FAILURE 1 5 J' U7 g% z P$ j5 q4 _2 H
-
6 g( ]4 u0 h: H" V - static void do_it(void)" @& s" m! W, A3 l1 U
- {4 S/ C. ` i" j0 f R3 ]" G+ }7 J
- int9 b# k h0 {3 q0 i( i0 G* s p
- n_uom,1 I, s- g4 B* E; g
- ii;
5 K* y7 L+ D: H( M - char
. n5 b1 ?* M. b - *name;7 e+ z$ v# `1 Y" O( D
- tag_t/ r' v3 s5 F; ~, Z2 @+ j4 i" D3 m
- *uoms,3 [7 E2 j! G3 y! x: K# I
- new_uom;
W y' X8 }$ I2 d( [% f5 i6 w7 O -
9 i9 d m9 F- K/ T( S! C - printf("Before UOM was created...\n");
! T: |: F, l1 }8 H8 v - ITK_CALL(UOM_extent(&n_uom, &uoms));
* ]5 Y6 p7 v) V& o6 Z: X3 U - for (ii = 0; ii < n_uom; ii++)
' x" Z" F0 `, j6 g* a% T/ | - {* [4 Z/ v$ r! H% y
- ITK_CALL(AOM_ask_name(uoms[ii], &name));
& E; o$ L$ V) ]2 [# h2 W - printf("\t%s\n", name);/ K7 ?: m& |* r, l- w0 ?; L' X
- if (name) MEM_free(name);* d1 {' B) Z8 ]0 h' v
- }8 o0 r- n8 V g' `$ ]# E
- if (uoms) MEM_free(uoms);
, x2 a1 i* J \# O -
# V% D+ V5 b; d) k0 S/ o5 R8 {) z - ITK_CALL(UOM_create("inches", "in", &new_uom));
7 V% l! a( A* k - ITK_CALL(AOM_save(new_uom));
7 O0 p; ~5 t! t9 [2 }+ ? n( x -
0 O/ S; O8 x: v* ]# I( F, n6 O - printf("\nAfter UOM was created...\n"); 6 v$ G, Z3 O, m3 G
- ITK_CALL(UOM_extent(&n_uom, &uoms));5 x' `) b+ {8 e# z4 i
- for (ii = 0; ii < n_uom; ii++)* Y8 c8 M, i" m: ?2 I. g( P! ~
- {
9 n' W) c. N7 a- z8 i - ITK_CALL(AOM_ask_name(uoms[ii], &name))
6 n7 P: _2 M8 {8 `% @# o X+ o& i0 r - printf("\t%s\n", name);
{$ P3 \0 y# b( L2 ~ - if (name) MEM_free(name);
! ?$ ]0 Q/ N$ m _ - }
, j4 Q4 b* l' d6 H - if (uoms) MEM_free(uoms);, u' W4 ?0 Y( {) L
- }9 w" w7 G0 Y$ e
- - ~5 ?% y5 S2 W# i
- int ITK_user_main(int argc, char* argv[])+ ~! X* V$ G7 a, `+ D
- {! @9 y7 |( T, o W1 H/ h
- int
0 r) l. g; }0 F/ } - status = 0; 8 r; e, a' ~" @( O& J: d: L
- char% D0 ~9 [6 q" H% w% R/ }
- *message;
& b8 o! U% ]* W, V1 v -
/ p! {( g9 q r. T) @/ G - ITK_initialize_text_services( 0 );
' n) e9 N1 A- `" `6 c, f( s: y - status = ITK_auto_login();
2 K+ y' d! |# Z7 s2 I# |/ n! u- w0 m -
. e# S& R2 [8 s \ - if ( (status != ITK_ok)) printf("iMAN login NOT successful.\n");
. a2 f4 H8 N5 \5 y- u9 t - else6 R" ]" f% l: m) [
- {3 A% V4 C+ A" w9 j8 f
- printf("iMAN login successful.\n");1 f9 Q, a9 [" `
- ITK_set_journalling(TRUE);" d7 {4 S& J9 f, _9 |+ F
- do_it();
, |8 ]. M; j; T$ P8 m - }5 g }# J4 H2 S- B3 L
- ITK_exit_module(TRUE);5 B, }% L7 L% j0 Q3 [
- return status;9 b! [, W& G1 h
- }
复制代码 2 e/ w( t& N7 b& r, Q
$ G) T6 `5 j- q1 w. |1 V
2 @. t0 S( j4 `3 P& }! l2 E/ X |
|