|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
3 A3 z1 v {" k# {: c: qTeamcenter ITK二次开发源码分享:创建测量单位unit of measures
3 G ? k6 {( L$ ]
1 ~3 n: w6 n6 H& h0 E0 {/ f1 a- #include <stdlib.h>( M0 D9 }, ]6 v/ h
- #include <TC/tc.h>0 C; L% s' C( \4 ?9 t
- #include <sa/tcfile.h>5 X# V2 S' f, T. r e1 F
- #include <tccore/workspaceobject.h>
4 V4 b4 _% O \8 u - #include <ae/ae.h>
: ]% W( I0 E! b x: h - #include <tccore/item.h>9 s. Y5 s1 r7 E5 p" c, @
- , l: W7 F! g; i Q* o
- #define ITK_CALL(x) { \" m2 T ?% ?- _2 [' f- |
- int stat; \2 r5 l; m) a* n9 _% t
- char *err_string; \+ r* k% e7 l, H8 F3 i7 @
- if( (stat = (x)) != ITK_ok) \
4 ^( r; \) W3 \" L+ ~/ K - { \; `" r0 ^$ F0 l* _% B9 C3 r
- EMH_get_error_string (NULLTAG, stat, &err_string); \
+ N' S, f6 V; Q5 _: P - printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \/ ^: \/ H$ ]5 ?
- printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \6 L/ ?+ x! I) N5 p: G( j
- if(err_string) MEM_free(err_string); \- G% X6 i+ |7 R& k; W U y0 e
- exit (EXIT_FAILURE); \
3 q5 I, `# S* w/ p! f( a - } \) q0 q7 m4 q" D M% T. [& {; f
- }' L; b/ a _9 K4 n4 x/ [
- #define EXIT_FAILURE 1 9 Z0 b: o+ i# n3 ]% v
-
* q* K1 k# Y0 Q9 R - static void do_it(void), w/ P3 e( L& f3 U
- {
' F9 q; f- R1 _$ } - int) r! a5 M* Z" T0 V
- n_uom,
' ]! W' A, ]. f6 U: y - ii;
+ f' x' I9 Q" s! U - char
- E, l e+ Z0 S* Z6 Z - *name;
0 L0 j4 d# z$ |& e2 ~ - tag_t
5 H! P M: B O - *uoms,
5 E3 z2 B$ R1 [/ I. v - new_uom;& k& ^+ @ y& M! s
- : f; S; P8 P6 l2 R u
- printf("Before UOM was created...\n"); ' f! y, `$ ?5 _0 n* d3 Z
- ITK_CALL(UOM_extent(&n_uom, &uoms));
! Q/ t5 F; g8 a4 I' ~4 H7 K - for (ii = 0; ii < n_uom; ii++)
- e8 P2 R# k& J$ k8 i+ r% u- x, y- ^ - {5 G0 M A9 X( G; p- k( e3 P
- ITK_CALL(AOM_ask_name(uoms[ii], &name));8 Z- k) a+ K F0 b7 f
- printf("\t%s\n", name);% z8 x0 K# @* J- P" `% c
- if (name) MEM_free(name);5 l: r0 o+ k( q
- }
- Z$ r: C5 j+ E8 ?& n" ]. f ? - if (uoms) MEM_free(uoms);
' N: V6 `' |; V/ ^! V5 I$ Q - ) X/ y" z% x. j& S* Y" D" B
- ITK_CALL(UOM_create("inches", "in", &new_uom));6 o/ O; v* f- G
- ITK_CALL(AOM_save(new_uom));% ^6 k3 s$ h0 ]* H5 [, f
-
. V( A- n6 o2 c4 P - printf("\nAfter UOM was created...\n"); 9 p0 S7 \4 N( X) Q# y! q
- ITK_CALL(UOM_extent(&n_uom, &uoms));2 k( K) m7 T- f$ D
- for (ii = 0; ii < n_uom; ii++)6 d. W$ w+ s7 P$ p. u
- {
2 S7 m5 b0 f- b: m b; _% J - ITK_CALL(AOM_ask_name(uoms[ii], &name))
( U: P5 z4 O6 v - printf("\t%s\n", name);
. ?% x* J$ [, ]& p+ a - if (name) MEM_free(name); L) X; b- I% u
- }& e2 E% ]; A4 Z0 P+ A) S- ?
- if (uoms) MEM_free(uoms);; h! D) [2 G) g$ K$ K
- }( P& B( o' X! n/ b8 X
' c1 b) S; i7 ]; |" T0 d c+ F- int ITK_user_main(int argc, char* argv[]); Z& ~" t- e1 D; H( T3 M$ Q) R$ P
- {
9 l$ d) y, v8 \ - int" u9 o& u8 ?* t$ T6 U/ G
- status = 0;
$ X5 k" @: t# _6 E! O) P: [ - char: y5 N4 D$ Q, {! k$ w7 T9 Y; C
- *message;
; _, t, a6 H( W3 D" p -
0 t) a. y% T5 k: l6 f) ^ - ITK_initialize_text_services( 0 );
. f/ i, x& b9 d+ Z/ E, h - status = ITK_auto_login();
1 u) f. F8 z- D1 i0 P. H - 9 S8 c6 `$ r9 z5 G0 s0 s3 A
- if ( (status != ITK_ok)) printf("iMAN login NOT successful.\n");
/ {- u7 r$ I# i6 ?& W# ^ - else
1 g" |3 f( e' T; t0 ~8 N - {
, G: D0 ~ f: S. d! Z* J4 G - printf("iMAN login successful.\n");
! M ? t& E2 `. ?8 T) W+ w - ITK_set_journalling(TRUE);- t. @9 _- X! o6 r
- do_it();
5 x+ `7 E" l4 E x- ]! n8 @ o - }
* q* |$ c+ f. y, L; V - ITK_exit_module(TRUE);
/ a' B0 X+ i a; @ - return status;
1 p2 P+ X4 J& V - }
复制代码
/ Y/ L" G3 {8 G6 E8 _# G! S2 O( j+ z, k, i# `
6 O- Y6 [3 X& z
|
|