|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
) n6 R8 H( C3 MTeamcenter ITK二次开发源码分享:创建测量单位unit of measures
* y, K2 w/ j9 _2 C- Y+ j
" C8 D$ \. h' _8 W- #include <stdlib.h>+ X8 o5 e8 r3 p6 O: k# A$ g3 a
- #include <TC/tc.h>
, y6 X! L% f: _' }9 N% D9 `6 N0 @ - #include <sa/tcfile.h>* n, L# z; @ G, W
- #include <tccore/workspaceobject.h>
3 v z$ C6 Z/ J& }' B- K: R6 U - #include <ae/ae.h>4 X' w6 A# O& U, |& |5 f9 s* l: O
- #include <tccore/item.h>; y/ X# c3 P' Z4 F
- ) L s$ u1 y" Q* Q
- #define ITK_CALL(x) { \
. E: V& M$ Q9 `: o- M2 H3 N - int stat; \
7 ~) u7 u( U; K - char *err_string; \' l, q9 T1 O' M5 B+ Z
- if( (stat = (x)) != ITK_ok) \' e: G* `$ ~, V4 e2 Q
- { \
8 Y2 N3 u) Y! I9 ]- F! A7 [( ` - EMH_get_error_string (NULLTAG, stat, &err_string); \
# C3 {& e4 l. D; o - printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \2 \( ^$ j% j( U; g
- printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \+ }6 J( S# {6 h" U2 z# \$ X# L$ O
- if(err_string) MEM_free(err_string); \
- N' |. P- l/ {# y5 c - exit (EXIT_FAILURE); \
% ?; n6 {3 J* Z4 \8 [3 y) D - } \9 A, b$ o [- | r% Z
- }, S- O$ E3 Q# i/ H( E. g7 w
- #define EXIT_FAILURE 1 - L! H' B0 a: O' G, H2 _
- # S9 n+ F7 }) | ]
- static void do_it(void)
3 q6 k- ^! A% @1 v& I - {" [0 e5 E: m6 v; t) o0 A
- int3 s$ K$ p2 P* O9 X$ Z& D9 A% n
- n_uom,& \+ q7 E$ |9 A: J5 D
- ii;/ ?2 `3 b! q- Z$ Y; |2 @8 ?
- char
4 h. C- E1 q# [' w P' I6 H5 A - *name;2 Z3 B2 y# D, F c) V# t, L6 T8 l
- tag_t. t' x5 v) \: ] [( {3 A5 I% J6 n
- *uoms,
& s3 X% ^8 O0 z - new_uom;
4 ~2 x% O- y* B0 f -
" S! I% [$ L! ?, Q) g: y - printf("Before UOM was created...\n");
0 Y9 k! U6 y; [: [4 L0 U% r - ITK_CALL(UOM_extent(&n_uom, &uoms));
& d2 R/ @, h& I/ v) O1 `$ r Y - for (ii = 0; ii < n_uom; ii++)
Z' z: U, B: k) ~. k' A5 [) \ - {
, W7 G% M& ?! l/ @& a& h - ITK_CALL(AOM_ask_name(uoms[ii], &name));& Q2 I' F4 t S0 P6 j
- printf("\t%s\n", name);
* e i$ t6 w( N$ Z+ l; g4 G& B7 {4 O - if (name) MEM_free(name);, Q8 M" h+ A# {3 |3 A" F( B3 K" s
- }
& l- A- \" B, i, d& k - if (uoms) MEM_free(uoms);, M m& J G& Z. G# b2 Y9 l
-
3 j) @6 N& u; Q {2 R - ITK_CALL(UOM_create("inches", "in", &new_uom));
% S+ M' g2 u, e2 U' ?4 o2 Y1 V4 C - ITK_CALL(AOM_save(new_uom));
& ?4 E* N) L5 `% R. C0 B( w4 S/ R7 i -
- C% Q2 N( c+ F( ?3 @ - printf("\nAfter UOM was created...\n"); ! P% B2 p3 r% {/ L: X/ O
- ITK_CALL(UOM_extent(&n_uom, &uoms));
* X9 m9 N5 Y' j) q: X - for (ii = 0; ii < n_uom; ii++)
" ]( L1 _% g, l) E) z; ~8 z( s - {
% p3 R6 d# i8 q+ \# V - ITK_CALL(AOM_ask_name(uoms[ii], &name))
) V3 l/ y! h% y9 s' m6 a - printf("\t%s\n", name);' A% c2 C% T) w1 a
- if (name) MEM_free(name);5 k3 L$ ^& V [+ D
- }7 G& Q* `& s5 w( i$ s3 s* [
- if (uoms) MEM_free(uoms);7 w# c3 T! ?" j$ C4 O) g
- }* I5 T' S2 A8 ]# s; \8 l9 Z
9 q2 T% r8 b" {8 d6 f- int ITK_user_main(int argc, char* argv[])" a3 }. c! r4 F5 m+ X0 p) B& w2 h0 t
- {% N$ ]0 y/ Q$ D* s9 u# N% l. O
- int' `5 N/ ^0 |1 S; N& j
- status = 0; 6 f7 M1 K% f0 W8 |7 V
- char* H) _1 }# Q, j6 B% s9 `+ O0 c6 m6 o
- *message;+ Y" ~5 y" i) K0 G
- 1 m. B, Z" _" j. B4 k6 S
- ITK_initialize_text_services( 0 );8 i8 [6 t, z! e) w' ]! V8 J
- status = ITK_auto_login();9 c y0 g* t3 k
-
, L. d3 u D3 |' l3 S - if ( (status != ITK_ok)) printf("iMAN login NOT successful.\n");" ]( \3 [2 {! k( o: Q" ^
- else/ q/ ~' ]9 Y+ |+ c" Z3 p+ V* o- B
- {2 ^. t+ J* C2 e( x( y
- printf("iMAN login successful.\n");
9 p* j' S& B, q1 K, D' ` - ITK_set_journalling(TRUE);( J+ z& |% W; H5 `- Z6 y9 b
- do_it();( b. s7 U4 C3 {7 ]' i5 n9 k
- }
; P- o. y! M, j1 R+ M - ITK_exit_module(TRUE);, k8 T: z, W) ]
- return status;2 V2 |9 x3 _2 B) H& Q `1 {
- }
复制代码
2 @: y9 M; L# U( V8 g3 e0 \- W; q" x; z1 i
2 w" q. Y( g6 c; U+ F
|
|