|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
1 f3 n% Y. \5 N+ M/ ETeamcenter ITK二次开发源码分享:创建测量单位unit of measures3 }; N1 `. Y6 J: P! I0 ~
2 [# V9 T1 W, u- #include <stdlib.h>; W8 n1 r8 Z3 F" D# n
- #include <TC/tc.h>/ U+ Q* ?$ v4 ]
- #include <sa/tcfile.h>
; A7 h, I. u* U$ s$ M0 x( P! V - #include <tccore/workspaceobject.h>. J' J' s% U. b6 ~8 s1 ~
- #include <ae/ae.h>" x" m1 [9 ^7 V P5 w( I6 G8 C- V w
- #include <tccore/item.h>
; M" e- a) E- C0 d' |+ x6 K% P1 w - , {" v) V- [ D- O" ]5 r, j) f
- #define ITK_CALL(x) { \
( S: m( z- |/ y9 I r8 f - int stat; \( n0 [2 }& \7 f5 n v- c# p
- char *err_string; \5 I! y+ F o8 c" F! m/ g4 q3 F
- if( (stat = (x)) != ITK_ok) \4 i6 g# d2 z& E6 V8 v5 t+ f0 E, _7 I
- { \" S& j7 G+ o$ G
- EMH_get_error_string (NULLTAG, stat, &err_string); \
; @: ]# t' U6 |# x* G( d% O - printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \
& ]: \' F* k& V9 X - printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \
+ k" \9 v, R& W2 D; H+ P8 { - if(err_string) MEM_free(err_string); \
. I0 ]3 A3 Y; X, V8 y - exit (EXIT_FAILURE); \
3 U: v: w" u- S6 ]0 W" W0 i - } \9 v$ ?6 @% a1 J# g: \! h
- }
6 W9 y) ]3 A! v! h - #define EXIT_FAILURE 1
) T/ F y- G0 k) Y6 W -
8 ]0 P; j, s7 z' I: B2 s# Q" V6 ] - static void do_it(void)
; i) z, q) l& M# M - {" q) D5 Q2 H( k8 ]: b
- int; K# U) e( z( b( z0 a% t3 f
- n_uom,
! y" h2 V+ o; U! g0 r - ii;4 M* G& j1 r1 ]# ^* `
- char/ V# i$ D# b+ r. p W2 d
- *name;
+ W7 [$ B9 ^9 [ B. d- J2 I - tag_t
4 |* P3 a: B- S V - *uoms,) }1 N* L9 k3 @2 Z, V. e
- new_uom;( r. Y$ H" [1 Q# c* B
- 0 s( Y9 y1 J: C
- printf("Before UOM was created...\n"); 8 L1 F) Q% y6 x9 a
- ITK_CALL(UOM_extent(&n_uom, &uoms));/ N2 J6 Z" Y1 S7 C6 n1 p& c
- for (ii = 0; ii < n_uom; ii++)- N( S/ D C4 _: }* j
- {
* G5 s i" V4 c8 F3 H1 e. s - ITK_CALL(AOM_ask_name(uoms[ii], &name));
) f- A' z9 s0 @ - printf("\t%s\n", name);
: E/ L1 s" b+ E& g, \8 n - if (name) MEM_free(name);! q; }: f$ o9 e" X* ]$ i* ?
- }9 i' a0 O+ A' `; R, w) C
- if (uoms) MEM_free(uoms);
1 [& F# N! v d -
# N8 e; Y/ Z* X5 y/ m - ITK_CALL(UOM_create("inches", "in", &new_uom));3 F7 H4 s* y; G! v
- ITK_CALL(AOM_save(new_uom));: z2 n2 N' l" w
- ! K, d( d" A% v4 n v) n3 n
- printf("\nAfter UOM was created...\n"); # w% C$ @9 s, s! n0 ^8 @4 |2 ?' |1 i
- ITK_CALL(UOM_extent(&n_uom, &uoms));0 l/ H- |+ Z: O; w% \1 P& `
- for (ii = 0; ii < n_uom; ii++)! V# Z- M0 R6 z! Y g/ E; h" q
- {
( v9 m# k5 q* |# v P+ r* ^: d - ITK_CALL(AOM_ask_name(uoms[ii], &name))9 w8 ?# I5 s% Q8 b5 n9 ?, b
- printf("\t%s\n", name);
# D$ G+ ~* m+ k, H# M% f4 o - if (name) MEM_free(name);
. q4 E# K4 J+ v - }
! v5 L) O+ O1 H: _ W/ [; p2 u - if (uoms) MEM_free(uoms);& p$ J! N$ h; E4 o7 D/ n
- }
6 ?9 [( m6 }8 D9 S0 E: a
. }" M" L4 M+ O1 P0 A% b& q- int ITK_user_main(int argc, char* argv[])
$ O8 p. b! f( v- w2 Y - {
4 u r8 E2 Z) e! E - int' ]& y l. @1 o
- status = 0;
8 Z. o* e5 s5 j8 b7 ? - char
8 L' M0 I0 |9 ?" s - *message;
" J6 ?* a9 c! t3 b -
( T/ ?1 ?- H2 N* Y5 ^& l8 N - ITK_initialize_text_services( 0 );# }% v3 R3 o! a. l" X+ P
- status = ITK_auto_login();
( I$ `% v( N6 z* \ - : x3 V5 y9 s3 O% k j
- if ( (status != ITK_ok)) printf("iMAN login NOT successful.\n");1 i$ J( K( g" D, n* H9 u9 D$ t
- else& | r0 ]4 S' [! L0 v
- {8 N; {: ?. u- V6 Q' V4 o
- printf("iMAN login successful.\n");
) ]2 |/ F% V5 M8 x - ITK_set_journalling(TRUE);
5 Z& H0 A* S- z1 W9 N - do_it();1 V& H6 K/ p0 d6 l' F3 s% F7 @
- }
; w6 f; q" q, }1 ^, i/ I4 ` - ITK_exit_module(TRUE);1 ~; p% n- f- s# ?" ^6 u
- return status;+ B# ]! K+ n+ z8 B1 r% b8 ^
- }
复制代码 + e. S' W. d. B" _$ x F
: u- L" i$ D; J5 Q! C! n4 K+ Y% y9 S9 l
|
|