|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
2 J& o+ I( o+ d# x. H9 e G
Teamcenter ITK二次开发源码分享:创建测量单位unit of measures- C: p; P; u! V$ B4 t
# i6 O! P( n9 r/ E+ r1 K" \. J- #include <stdlib.h>
' m1 \( C g3 F4 F, C) F9 W! [ - #include <TC/tc.h>8 w8 G" o- n+ {, e7 o+ O8 x
- #include <sa/tcfile.h>7 B( q/ \3 B J. ~
- #include <tccore/workspaceobject.h>
% n. R5 j6 C4 w+ m - #include <ae/ae.h>7 [/ K' K, E+ \$ C; e* g+ h4 D3 k
- #include <tccore/item.h>
5 W y" u0 z1 d" z( I4 \6 Y# ]" T
3 R% d$ x' q/ M" H8 t! w- #define ITK_CALL(x) { \
$ q; x9 n1 n) l; {9 I - int stat; \: \5 S' c1 T2 o$ m4 g6 E$ B
- char *err_string; \% ~& A# D2 H& `2 T+ Y
- if( (stat = (x)) != ITK_ok) \9 }2 H* }4 O+ N
- { \
U2 L" o2 x( n: d- q3 S+ Z - EMH_get_error_string (NULLTAG, stat, &err_string); \, {' {% F* Y4 F4 D
- printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \
% u2 _" X: j6 O5 O1 } - printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \
2 ?3 B3 ~, [: i - if(err_string) MEM_free(err_string); \; b! e% z& ^5 z: P4 R3 a
- exit (EXIT_FAILURE); \" X6 i q( k, K/ l* u7 v% O/ q: K& o
- } \
8 y6 o) u- g/ j b3 |5 d - }; d# K4 M, W A% }5 F. E7 `" j; q
- #define EXIT_FAILURE 1
v& Q) _# t. N0 \ - 0 u$ T. D* l3 Q1 S: L F; K" {4 E
- static void do_it(void)" y2 m( }& f( h
- {
: G" ?% D, s/ Q' ]1 I# o - int
! C: \9 v2 R" u, Z% |/ B - n_uom,6 e4 }& Z/ q( F* o& r9 }" S) J9 i, }
- ii;
( b3 a; B S# b: R$ q - char
, V- K4 ?: g' S* R: y - *name;; Y6 g# G) n' w5 y; c% j
- tag_t5 d2 s, [( t' Z" c/ B3 i# \
- *uoms,
1 n3 l N" X8 b6 S7 A/ q - new_uom; }' b8 p$ C8 ?' I
-
: R1 }5 u* P a3 |. N - printf("Before UOM was created...\n");
& X3 P3 M, F" l3 n1 q# @9 O - ITK_CALL(UOM_extent(&n_uom, &uoms));
. m7 K: q8 p/ Q& D% d" m - for (ii = 0; ii < n_uom; ii++)7 ?8 {' @" G9 R, A
- {
: x! @1 ~: j6 e - ITK_CALL(AOM_ask_name(uoms[ii], &name));
: g' D/ X: i8 ? L4 x6 N) S - printf("\t%s\n", name);
1 u3 R: K9 v# l) [; Z* j' L- J3 d. T - if (name) MEM_free(name);
/ \* [# @! V1 L5 i8 r - }
9 i9 X9 i+ h; E# n( ~9 u4 Q3 x - if (uoms) MEM_free(uoms);9 u; Z5 Z! |# O I, ~
-
7 c5 I' v# Q; f& T, M4 |% d3 j - ITK_CALL(UOM_create("inches", "in", &new_uom));
$ U/ m! D: h0 A1 Z3 [ - ITK_CALL(AOM_save(new_uom));
. @" C H- V* C/ v5 { - 0 P! S+ g& z; n) ^ o! o- m
- printf("\nAfter UOM was created...\n"); / Z- w+ y) b# R. q$ h" _8 F
- ITK_CALL(UOM_extent(&n_uom, &uoms));' g+ P1 a/ z N& {' S$ @, g @' d6 A5 y
- for (ii = 0; ii < n_uom; ii++)0 H; L) n5 b% u% a8 u
- {
5 B' } N7 B9 `4 b0 n - ITK_CALL(AOM_ask_name(uoms[ii], &name))
, A w h9 V- {6 e) _+ Y - printf("\t%s\n", name);2 P% l+ l" b- I- z- E w2 g
- if (name) MEM_free(name);! p' w1 J; u7 a$ ~. K
- }
; G8 e5 A& W& Y" {! u+ C - if (uoms) MEM_free(uoms);7 f$ P* C1 e" ^, B3 D. A
- }, |( U& z/ P* V
! _ u( x7 K8 I' J- int ITK_user_main(int argc, char* argv[])# a/ J- }5 \" w# e
- {, D% M" d q- E7 X4 ^* x
- int
* ?. Y+ ]1 y4 H9 E4 D8 o - status = 0;
- e1 x- `3 N# `% N7 W% Q& e - char& A4 ^- w* J `$ A) A* C
- *message; ~# k" P' @/ ~, w: I9 g
-
% {5 g. \- C4 `2 ?8 z - ITK_initialize_text_services( 0 );
% f7 F* {# S0 D9 u4 O - status = ITK_auto_login();0 |; I9 ~$ n" F0 X
- $ P; F/ W$ p5 E7 M8 U
- if ( (status != ITK_ok)) printf("iMAN login NOT successful.\n");6 E' Z( K0 G% d' l/ v* b
- else4 j8 A8 o# P' Z7 \& r# l
- {
* T# h8 Q4 S/ ]1 u - printf("iMAN login successful.\n");
K1 R% g1 O5 y, O2 ?; ^& ` - ITK_set_journalling(TRUE);
9 a; H) W# @' L: [. q4 ?% z) G/ {% ^ - do_it();5 s$ q- K6 \% s; O
- }2 ^! p! w& S, ]! J& ~- ^
- ITK_exit_module(TRUE);8 [3 L6 n) v4 G' L$ W. j( o" }
- return status;1 p. _7 q1 C) j/ o9 x
- }
复制代码
4 k* X% ~& y& v. I( a! [" H6 U3 D& r0 R; I9 n2 u) r
. W" B( p* X! P$ t |
|