|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
6 l' R$ D2 F2 I) f% V; `. T sTeamcenter ITK二次开发源码分享:创建测量单位unit of measures; Q# s) A9 o; y0 R% D
9 V/ R" h- S v7 {- z Z
- #include <stdlib.h>4 ~2 s6 u& m9 Y1 p7 q" k
- #include <TC/tc.h>
1 m4 @2 t7 A, g' X2 K) M2 F - #include <sa/tcfile.h>
; X4 D& u( c9 U - #include <tccore/workspaceobject.h># q& L) D6 \1 }
- #include <ae/ae.h>8 i( l% ^( d+ j: F8 _; _, d0 U. s
- #include <tccore/item.h>" M. Q7 A! Y1 P& r
- ) e5 i, ~- E3 v8 ^4 ~: U
- #define ITK_CALL(x) { \1 Y5 `9 n& {, a& U8 \3 p( n# N
- int stat; \
$ z' W, {2 R# i/ P6 v - char *err_string; \) [5 |+ |$ B$ H* X8 |+ T
- if( (stat = (x)) != ITK_ok) \
" N$ X( l, N3 E/ B5 C# q1 L- i - { \
_. T5 ]5 z, g) J: ]3 ?# [ - EMH_get_error_string (NULLTAG, stat, &err_string); \
" O& e Q2 L5 y- W8 K1 g- S: t* d - printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \" ?! ~6 b$ P1 }- ^+ Z4 _8 ]
- printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \( a/ |1 b9 }; @+ R! Z2 S3 r) `% m
- if(err_string) MEM_free(err_string); \' @; L0 x5 Z5 S$ g: z; d4 Y4 F
- exit (EXIT_FAILURE); \ T2 t3 T# g0 e! P" e+ \5 O/ s
- } \+ _2 E% V# h+ [8 E+ M- R6 k
- }" p. _9 o* y( b' ~# n1 Z5 U+ G
- #define EXIT_FAILURE 1 7 q/ B! t# q, t: e: Q
- 6 D4 J- w! x9 E$ I
- static void do_it(void)
7 j2 U# W/ j' K* j+ X' m X - {; g6 p+ V/ ]# N2 m# P: I# V. s
- int
- {1 \8 Z" ^0 h& C- o - n_uom,
7 H) b' ^; n3 C0 m# U# t - ii;" C- w' D+ m; A+ C; r3 z' _
- char
8 R# m+ `7 b0 m2 t - *name;
. l3 \8 S8 `" \! [& }+ L - tag_t
: E( H3 b3 w2 U- E/ I* Q6 C - *uoms,
3 ~0 v d, \8 P5 O6 k J4 y8 ~ - new_uom;
6 O$ S1 }. j9 Y* ?" C - 6 t! M( E" A2 @4 E- T" D
- printf("Before UOM was created...\n");
! d% ?' Y0 a6 C( J6 E8 e - ITK_CALL(UOM_extent(&n_uom, &uoms));% G6 N8 N9 y* j: _
- for (ii = 0; ii < n_uom; ii++)8 R4 Y/ {; P+ l
- {
0 z0 \" K1 T' F; o% E - ITK_CALL(AOM_ask_name(uoms[ii], &name));) D6 T$ j' J# _9 F; b9 t
- printf("\t%s\n", name);
- I" I4 [+ _, K+ f - if (name) MEM_free(name);) i/ P0 z) h# z" l0 s# }
- }! ^- h& t* n( h5 c4 k/ y1 o
- if (uoms) MEM_free(uoms);0 R7 \, h$ D2 m7 S) z* M
- 1 x" q8 |; ]7 F* k
- ITK_CALL(UOM_create("inches", "in", &new_uom));( C$ ~# e2 a/ D# ]5 Y
- ITK_CALL(AOM_save(new_uom));
' _# J! L) M+ T: ? - G A! j6 F& c3 b6 J, `/ D8 c: R
- printf("\nAfter UOM was created...\n"); / F3 f: [) |, W" x" p
- ITK_CALL(UOM_extent(&n_uom, &uoms));
" @) V/ j7 ]* h3 G# s& X8 v - for (ii = 0; ii < n_uom; ii++)( c' k8 u' [2 j1 g' k
- {6 s% Q; s. M" q8 ]. f" |+ e
- ITK_CALL(AOM_ask_name(uoms[ii], &name))8 d' @! x k; Q/ B4 J+ Y7 y( ^
- printf("\t%s\n", name);: W: x7 o. _- |( ^7 T4 z
- if (name) MEM_free(name);( B2 [% D# ] i1 w5 j
- }4 [$ E$ @6 T$ z0 b
- if (uoms) MEM_free(uoms);4 ]$ u+ ]% h- U/ \: n
- }9 ] s- E' O }0 E- y
3 [9 f& y( d2 M. S. m- int ITK_user_main(int argc, char* argv[])" p4 \ `! a+ x' l
- {
! _! [3 H" P& Z6 |) {& @& @5 U) J( n - int
Q* k3 W+ m# F& ^" x - status = 0;
( d R0 W/ ?1 b) v; ~: K5 p - char
7 G3 y# c; J3 D5 l% U3 a - *message;
' x. y. B$ C. I' S -
# E- X& { l7 x - ITK_initialize_text_services( 0 );1 B; I, ^$ W, [) ~1 V5 M. a5 N0 E
- status = ITK_auto_login();* L; W( J$ h K
-
* G2 s5 f/ t5 g2 p# c% ]( r - if ( (status != ITK_ok)) printf("iMAN login NOT successful.\n");
& b8 n. i) i3 R d! P" w - else9 m5 k; Y: v$ F3 V: s7 t
- {
, _2 D5 Q. f- {5 X! H9 G0 ~) k - printf("iMAN login successful.\n");8 z3 m0 k i: E1 o
- ITK_set_journalling(TRUE);
: ^1 L" D8 Q0 Y+ L0 C) @0 X - do_it();
! Y5 A# e7 u- ]6 b, q Y - }8 S0 }, v5 m0 \& e
- ITK_exit_module(TRUE);
1 I7 s2 P" c7 k - return status; t# P' H$ K) e$ f; R3 B. j
- }
复制代码
8 c, m' j2 [. J8 h/ j; ~/ k' K0 r }2 A; S; U1 s
! q( O& T3 u& m& R v9 E |
|