|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
' c, F' |' A7 g) u0 lTeamcenter ITK二次开发源码分享:创建测量单位unit of measures; ]" D$ D$ @( C7 i: l
. t3 Q% S6 s. I# x" o8 T/ j0 D- #include <stdlib.h>
/ s8 r/ ~" L/ `8 m7 A - #include <TC/tc.h>
1 ~2 o* W, \0 ?1 S& L+ F. P" C - #include <sa/tcfile.h>
- |. k& f5 Y7 V7 }* W6 i* d) F& j - #include <tccore/workspaceobject.h>% l3 U- J7 f* o; P4 H
- #include <ae/ae.h>6 T3 }) J: }) h0 p- O
- #include <tccore/item.h>! h* }+ t5 p7 a/ z: N
- ) L1 Z- p/ M8 U' K- u
- #define ITK_CALL(x) { \% w0 G0 m' r2 t1 [6 @, D( z
- int stat; \
- ?5 J; ]8 V9 J g% P! }: Z - char *err_string; \3 k( W2 L" k* R, e$ f5 r G; Z; g1 v
- if( (stat = (x)) != ITK_ok) \
3 k$ P, e2 q8 I* e- T$ g, b - { \
, P0 H* w6 V% z- ^9 C2 u. B% i a3 H - EMH_get_error_string (NULLTAG, stat, &err_string); \
5 K" e& P* x) b4 u' l, L - printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \4 \ L" y1 Z( p) s! e
- printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \
: L1 Q& l* ?4 q0 { - if(err_string) MEM_free(err_string); \- r+ }/ A% ^9 x8 I$ m5 i- G% g
- exit (EXIT_FAILURE); \
6 [# n+ _: \6 s2 p+ |4 q0 D - } \
* e- j$ E( J9 }. b9 `5 b/ S - }
! K" o3 U. g; t1 ]$ p9 b9 ?- U - #define EXIT_FAILURE 1
- }. s! W9 h4 C -
- F: Z; O$ q d* a. p6 T/ N4 Y - static void do_it(void)/ T2 l5 ~3 }# G, J
- {
+ M6 _* j0 u! F" X& t1 A' O6 M - int
6 A7 ^2 J2 E; j9 v% k - n_uom,
4 n5 O7 [6 x% {- _. d - ii;9 g; z a; I+ O" G
- char1 M, ^, z; n x% d+ q; {' P
- *name;4 H- Q8 \7 A2 Q: G/ R' d& E
- tag_t
2 h& R% p8 A+ ]- P( \( j - *uoms,
/ |7 M- L) [/ ]1 l - new_uom;3 j3 i1 p O' L' d r; S: L
- 1 y+ l0 F7 X$ Z" k2 M& z6 m/ l
- printf("Before UOM was created...\n");
Q& e; y0 v h7 \1 }% W - ITK_CALL(UOM_extent(&n_uom, &uoms));
, z3 Z! c- g6 \9 S - for (ii = 0; ii < n_uom; ii++)
# b( L' Z4 ]3 P+ X1 U' ~, Y - {
, l+ {) p6 J: i( i% w" o - ITK_CALL(AOM_ask_name(uoms[ii], &name));& l, X9 v5 x' N1 ?9 U% O- G2 v
- printf("\t%s\n", name);
4 ~, Q" k' J& g `4 f - if (name) MEM_free(name);
1 g: g3 q) S$ Q, \' D( Y u" X - }
5 E4 V" b( v& u+ i- A2 O$ |' O0 E - if (uoms) MEM_free(uoms);
( B/ z# x& t0 P+ x6 E - . Q A' Y; x, s: u5 F
- ITK_CALL(UOM_create("inches", "in", &new_uom));; u. ?8 n: f* u" x# U+ \
- ITK_CALL(AOM_save(new_uom));
$ l5 K; K. i2 e! U% a1 N -
: ]: V9 r, g! j5 Q6 |0 J" K - printf("\nAfter UOM was created...\n"); , E& R2 m7 t8 P+ k* L! m J% u; n1 T
- ITK_CALL(UOM_extent(&n_uom, &uoms));
' e! M8 E( q; k3 Y - for (ii = 0; ii < n_uom; ii++)% S z2 A) F+ g$ j* C6 y4 B
- {& z* `, O; `* V8 [
- ITK_CALL(AOM_ask_name(uoms[ii], &name))
& g% M4 W$ M1 ]. h9 K) u1 i - printf("\t%s\n", name);
' N4 ]7 k- }9 }2 y - if (name) MEM_free(name);
4 [$ Y# ~) W1 Q9 L - }! K |( t% e* h) G- M' e& u
- if (uoms) MEM_free(uoms);2 A3 T( b/ I- O8 l1 J
- }
4 b6 C6 K( a2 }+ z# E
7 t7 x2 m# }- ]# t$ f# ?0 Z4 h7 w- int ITK_user_main(int argc, char* argv[])
; G: V3 T& F' T, z - {$ b2 F0 L2 N2 ]7 }& o" M3 z
- int
% `1 l1 {$ a" r! C - status = 0;
. G; n3 m& O8 |; o" a: F' v( I - char$ y' S# |& F( @4 c1 N
- *message;
+ C( l3 Z7 e7 p: I) d# H - 1 i( {& [# z) e! s' s- ]. e7 a
- ITK_initialize_text_services( 0 );
9 Y2 k- m) J0 [+ z1 p0 K - status = ITK_auto_login();
2 b' C2 M4 n. b& p" x/ k -
+ Z0 y! I [6 N - if ( (status != ITK_ok)) printf("iMAN login NOT successful.\n");
0 O" I( d/ O' m9 N V% } n - else
. C/ B+ L! }3 x1 _( S7 \ - {
, Z( V; r$ K* I& g4 K - printf("iMAN login successful.\n");
5 N) W( b( b6 a+ B$ o* s- f - ITK_set_journalling(TRUE);
+ v/ c( s0 r) {1 ~+ H: G1 l - do_it();
, r1 r) d! X( u$ X - }* C3 _6 m. m' O& {$ P* J1 N
- ITK_exit_module(TRUE);
/ [8 f6 f1 X9 z' W$ P6 e1 l! z - return status;
/ A* T; j" E1 j7 }3 N! f7 P - }
复制代码 ; u3 N+ W/ J5 }7 l
$ [% t) F! q3 L+ J9 |% l5 l: ^
2 u& M& U- B; J+ { F7 Z2 s |
|