|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 [+ S7 E5 n+ o; c8 W' X7 E) DTeamcenter ITK二次开发源码分享:创建测量单位unit of measures5 i n& p) X* g1 \( L
1 k: J u! ?, U7 k, v; L
- #include <stdlib.h>' [' A- ?3 i& _
- #include <TC/tc.h>
$ L7 y1 d0 `4 J( A, u2 F5 M - #include <sa/tcfile.h>
; ?/ O" u1 E3 C7 p, J* l2 {# L - #include <tccore/workspaceobject.h>
/ ]# J9 _5 o* ^: { - #include <ae/ae.h>( e+ a! n- T' j3 c" K" P- D2 n& H
- #include <tccore/item.h>
2 j) p& M5 r4 u
( |! W, s% {& L, H9 j5 |8 o- #define ITK_CALL(x) { \
7 U7 ~1 V- r6 J - int stat; \
! u) X c) Q% q/ x* J. `1 ~& ~ - char *err_string; \; ^# w* y+ m) M Z/ R$ w7 @, ]2 J
- if( (stat = (x)) != ITK_ok) \3 ?0 q' z/ Q" k5 B) b- s1 o
- { \
7 R; b% E/ W! d - EMH_get_error_string (NULLTAG, stat, &err_string); \
" ]* @9 S# ]0 r$ C5 T& y" L& } - printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \
! C( ^9 R0 E1 y0 L4 m - printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \% l, X* w) l, f! o( }, v4 m. v
- if(err_string) MEM_free(err_string); \
) k. A' p! {* L" o - exit (EXIT_FAILURE); \5 Z& K, F2 x: ~
- } \3 q, R/ _6 n1 ]6 `% ~% k2 B$ d4 M
- }
! ^2 `% K7 [3 X4 u- [. v - #define EXIT_FAILURE 1
$ J) C6 Y2 O' {1 N -
7 ^# R# [1 Q4 D7 u1 F - static void do_it(void)
' ~# ?. R( j2 h# g- e - {
& y9 k' V$ A& a - int
$ }7 u! S f% Y# h - n_uom,; D, D H' b1 w: {
- ii;0 m5 y2 \! |$ x% x1 C+ M# F: w- |
- char( w! Y8 Q1 z5 r* S7 n. O
- *name;' I" R9 h+ F: d+ S" y
- tag_t: x( E6 X6 I' p5 U! ]9 i
- *uoms,
( {9 r" g" k$ e - new_uom;
0 `. F& H% ]( y; J( G8 M5 | -
+ c9 N8 ]! Y) ?/ z4 X8 h0 G - printf("Before UOM was created...\n"); 4 R) v# F' K' n/ r' n, k0 v @
- ITK_CALL(UOM_extent(&n_uom, &uoms));$ d4 @- {5 q) |2 H% _# N
- for (ii = 0; ii < n_uom; ii++)
, d& i6 I7 @, r. {$ U$ e - {
S; g- B! E- D8 O+ V* b# w5 R1 N: { - ITK_CALL(AOM_ask_name(uoms[ii], &name));
% ~0 u5 ^+ J7 E2 ^; r - printf("\t%s\n", name);
4 C; E; Q! }. U/ @ ?+ [7 F - if (name) MEM_free(name);
2 s4 [" w" M; a - }
( ~" D& \- m6 Q L9 J - if (uoms) MEM_free(uoms);
2 G; U V* M6 O6 G2 Q& F9 q# k -
A) w9 }7 M9 }2 i+ n4 m - ITK_CALL(UOM_create("inches", "in", &new_uom));( _4 \( Q/ [3 e, v" e. A& ^' _% }
- ITK_CALL(AOM_save(new_uom));$ A Q- f/ c% v5 D6 d7 _
-
1 w! W8 K3 E/ ^- N - printf("\nAfter UOM was created...\n"); 9 v/ ]! Y! ]3 z( y1 A+ a( N
- ITK_CALL(UOM_extent(&n_uom, &uoms));
& f9 |1 J0 g- B. z9 S+ u - for (ii = 0; ii < n_uom; ii++)9 K8 V5 q) _: R% C, [* L5 u
- {# v6 d+ b$ m) ?# M$ m" C
- ITK_CALL(AOM_ask_name(uoms[ii], &name))
0 n1 v8 U2 {& A! ]' [5 n0 q, r - printf("\t%s\n", name); Z9 g/ _' T1 P+ j$ o( ]
- if (name) MEM_free(name);- j+ O) N* [. \7 t/ Q) v$ I. c
- }
9 `) k- N- Z* _, o - if (uoms) MEM_free(uoms);
1 f0 J* K+ W0 l$ S9 z' w9 Z - }" `' Q$ B1 p7 y
- + @4 w3 e9 F$ Y7 s! r, }2 T7 e
- int ITK_user_main(int argc, char* argv[])
0 w7 q* `/ w# u/ T' O& \- O - {
/ g$ x* J& ^. N5 U9 |! x! a - int' H V0 ]7 g$ Z$ o
- status = 0;
, _+ {' M1 w, B. k1 W6 e; n6 J - char8 _/ u/ h) {% A1 }, {
- *message;
+ @1 S1 i8 h. g4 m -
& U: A7 `' L2 o7 J - ITK_initialize_text_services( 0 );& j2 k2 q0 j! M- h- `
- status = ITK_auto_login();. p( j# E$ u/ Q: |, V
-
9 R# x6 J1 m2 d2 W! H4 T - if ( (status != ITK_ok)) printf("iMAN login NOT successful.\n");- Z% O, V' O/ }5 A9 _6 A: [2 t
- else
; H2 r! y( t) [8 l' ^% o - {
+ t( P( b: N+ ?4 j9 o: O - printf("iMAN login successful.\n");/ M$ \9 q) J, l; K t0 X5 G0 k
- ITK_set_journalling(TRUE);
# C( C2 r# ^' K6 M- B3 g+ [ - do_it();
5 \- o# `( ]( P: h& } - }
. C7 x- j/ P6 @8 e - ITK_exit_module(TRUE);
0 i2 a1 k1 Y$ O' W' ^# p, e( y. [ - return status;/ O' }; Y1 a- _- |: d* \
- }
复制代码
; N+ ?$ m) G$ O# E' {
. W. K& F/ _' o" @0 m6 o( {
5 V. Q' G/ a2 l- M& z |
|