|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- y( Y; X' _/ [! g0 ]) i
Teamcenter ITK二次开发源码分享:创建测量单位unit of measures: I( ?) B( S2 i) }9 W
- X/ l ~( \ q& r5 o M% Q4 S4 D+ I1 E
- #include <stdlib.h>- r/ |; ]' K2 o( f' U( n
- #include <TC/tc.h>
" v0 a$ O, P0 e, g - #include <sa/tcfile.h>
- d6 g/ i& Q0 S# }$ l6 E - #include <tccore/workspaceobject.h>
1 p2 R7 H! m: k - #include <ae/ae.h>
/ j/ H0 h+ s' @7 P - #include <tccore/item.h>
( m. f0 \ g6 {# u& J/ W Q: I - $ W! }6 p6 O' [9 z+ g% O
- #define ITK_CALL(x) { \
! V w% `( X y/ W - int stat; \
, a# }/ F) ~- w) N2 h T H - char *err_string; \ ~0 @+ G0 z, ?' ^
- if( (stat = (x)) != ITK_ok) \
! v. }2 \: a! x! l - { \
3 ?/ m. U% E8 U" ^ - EMH_get_error_string (NULLTAG, stat, &err_string); \2 A9 p0 n. J6 i1 O/ A
- printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \, q/ M! Y( Q. c. a& x9 }' U
- printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \! j" `3 c$ ?5 s
- if(err_string) MEM_free(err_string); \! G. h$ u, b ` o3 q' I
- exit (EXIT_FAILURE); \
: u0 j8 Z1 i1 Q4 X' }# J, D - } \
( n, g1 r" b: G9 F8 e+ [( v3 K - }5 ^# X3 b# A( s/ I
- #define EXIT_FAILURE 1 # d1 k3 a8 {( O+ h9 @
- / @7 [) ?: e3 [+ W% j
- static void do_it(void)% w' j* N) A. I& Y+ k
- {
7 E% \, W. q0 u3 ~ @ - int
* L! Q# ~, w2 `; _% w - n_uom,
# B- I% {: t& H0 C& w% R# N' R% ?( u - ii;+ v, v/ S" B2 d, E2 ]4 @; J- j
- char
- v8 W8 m7 T$ `' p1 ]/ S r3 J" M3 x6 q - *name;/ T/ ^0 J5 F" Q6 Q: ]& D
- tag_t: X) S' O7 i5 d, _& q& [+ v
- *uoms,/ i# ^% |; a4 m3 ^6 _
- new_uom;
+ B) f, ?: y$ u -
/ q- k+ {! {; ^0 P1 Y, Q' W - printf("Before UOM was created...\n");
2 ^6 Q) ?6 I) K9 s3 a1 B/ _3 a - ITK_CALL(UOM_extent(&n_uom, &uoms));/ @3 Q7 B5 G. O) ]( y
- for (ii = 0; ii < n_uom; ii++)
/ t4 g/ z3 B Q$ }$ V - {
5 y9 o* S! c! O) b1 S% q, [' a) Y. O - ITK_CALL(AOM_ask_name(uoms[ii], &name));9 ~5 ]1 A2 N8 [" S% E6 R2 z+ F) y
- printf("\t%s\n", name);
" A. l4 ?4 m2 O( t9 h6 p, j - if (name) MEM_free(name);
- W/ |" ]& T! L1 y- x - }
: f& }* p% |; `7 H. ?7 p4 U: h - if (uoms) MEM_free(uoms);: V0 t7 i# _9 ^: w& ~- f2 P- \
- : G/ J+ O% f% ~: h* x6 z4 z
- ITK_CALL(UOM_create("inches", "in", &new_uom));8 l: p5 Z( n9 p7 F7 y6 r
- ITK_CALL(AOM_save(new_uom));
; f5 B1 i2 S3 M - @( x& h. ?) |8 W5 Q
- printf("\nAfter UOM was created...\n");
2 W( l( c1 h, t - ITK_CALL(UOM_extent(&n_uom, &uoms));
8 n R* a& \ T5 z: J - for (ii = 0; ii < n_uom; ii++)& _/ b" \( h) E- q: l7 U9 \- o ~
- {- |/ ]7 Y! w3 f$ g: Q$ C Q; B K
- ITK_CALL(AOM_ask_name(uoms[ii], &name))2 Y0 @& v. z4 k9 _; u) m
- printf("\t%s\n", name);8 G+ A$ B: M' x1 ^9 I* m% S( v& W
- if (name) MEM_free(name);' r' f' Q7 P: _6 Y
- }. X2 Z+ P! |9 f$ u% F6 f. M3 g
- if (uoms) MEM_free(uoms);
( j, {. G* }2 _5 K - }7 E7 T {* u8 i" t5 m
- * y3 c# l# F1 p
- int ITK_user_main(int argc, char* argv[])
; u. _. u4 ]# G. c2 L5 a& v+ G - {: e8 `' I) S+ O: N) _
- int
; A, [; [- ~- |# T( x - status = 0;
: ]7 F6 |+ a1 Z; s! x$ Z" {* T" Y7 H - char, k" M4 C! N4 X* Z; u7 G* K$ B
- *message;
4 [ p# `) y9 ?3 f -
% ^, T, D& \7 v6 h1 M# S - ITK_initialize_text_services( 0 );
) k; r" r+ k0 W. M" Q- \ - status = ITK_auto_login();# Y8 ]: _5 Q) O( h
-
' z* U+ s5 Q5 `4 j" `# s5 Z - if ( (status != ITK_ok)) printf("iMAN login NOT successful.\n");
! E& o4 a* H% _! D - else
+ E/ A( c" r6 S" a/ B - {8 j6 h: C9 h' Y
- printf("iMAN login successful.\n");( z' ^/ I$ ]! l r
- ITK_set_journalling(TRUE);
% A( f! ~7 R6 ?: J% O - do_it();
; Z+ X9 M6 T8 y! U' e* g& a2 c - }
. u0 u' Z9 d2 A - ITK_exit_module(TRUE);
+ V; m, j2 x2 C% T- v& s* x3 Q - return status;$ q# M' T( a+ v2 e
- }
复制代码 & H1 T& {( x0 J4 }. `9 ^2 g
1 v) }. q) T. u* x' r( e& V
; R2 O! A3 l6 P6 ~ |
|