PLM之家PLMHome-工业软件与AI结合践行者

Teamcenter ITK二次开发源码分享:创建测量单位unit of measures

[复制链接]

2014-1-15 19:39:16 5472 0

admin 发表于 2014-1-15 19:39:16 |阅读模式

admin 楼主

2014-1-15 19:39:16

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x

8 |# c: G9 O# X; D2 b3 N% M- sTeamcenter ITK二次开发源码分享:创建测量单位unit of measures
- R% b! b! F! i
1 l- ?0 `3 G3 E/ |5 r) ]' @2 B
  1. #include <stdlib.h>
    9 D, y/ S9 G! a5 v6 y
  2. #include <TC/tc.h>
    7 Q' u8 w: [; m2 ?
  3. #include <sa/tcfile.h>
    5 N# m: H, ^# V" W6 a
  4. #include <tccore/workspaceobject.h>
    * I. a2 b! M4 U% E# |
  5. #include <ae/ae.h>4 F; q5 K7 H$ A' [0 J8 x
  6. #include <tccore/item.h>
    ) w" p4 u  U1 x
  7. ( n6 W) h" k$ A# \& X: T) h* z3 c4 ?
  8. #define ITK_CALL(x) {           \" @. V8 c5 q2 ?# x
  9.     int stat;                     \/ j) c7 B; L. j/ r+ Q
  10.     char *err_string;             \4 \7 G: _! U( I: w! G: {
  11.     if( (stat = (x)) != ITK_ok)   \/ M2 ?7 i% o  m  I
  12.     {                             \
    % [9 G! a5 T: j5 J" i0 t
  13.     EMH_get_error_string (NULLTAG, stat, &err_string);                 \
    $ e4 F: `7 M2 e6 P  l  _2 x) d
  14.     printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string);           \& q0 b& Q& v9 q; u, J9 S9 |
  15.     printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \
    # o; D# Y# m6 ?, \; V" I
  16.     if(err_string) MEM_free(err_string);                                \
    8 u0 j/ G! C# C: _
  17.     exit (EXIT_FAILURE);                                                   \% F2 T& T; m  H/ f/ p
  18.     }                                                                    \5 k3 [9 K) e- l+ I' p
  19. }- }) @; r0 ^- f2 J0 P
  20. #define EXIT_FAILURE 1
    % ]. A1 `* b) i3 V
  21.         
    ! q) F3 o$ @! d* S" J9 P
  22. static void do_it(void); o; F6 S6 z4 D, b- C# R6 q& r
  23. {4 `. h4 n! I0 y$ |: F7 d. G, Z/ K0 Z8 Z
  24.     int, K, y( |7 }; |+ G5 c& g
  25.         n_uom,
    * N9 I) [" F5 k" e# }: y' N( }
  26.         ii;# u* ]5 v- t5 S' A3 s, ^. a- L
  27.     char
    + Y" o/ E( V& e0 g, h, b
  28.         *name;
    - J1 R% E7 D4 F! r6 M' }& j( E
  29.     tag_t/ z! d. `& ~% m/ t. a  i* O& O
  30.         *uoms,* w& b9 S! m' T7 T' g; P
  31.         new_uom;
    8 V- m8 K/ x3 V
  32.     / f( \) i' S# g9 A! V
  33.     printf("Before UOM was created...\n");   
      P* N+ ?5 ~4 d5 S
  34.     ITK_CALL(UOM_extent(&n_uom, &uoms));9 |% S+ Z! f3 u7 l3 j
  35.     for (ii = 0; ii < n_uom; ii++)2 c% i. Q0 Z" o0 `3 k) T
  36.     {/ u+ I( ?, f+ g7 n; Z
  37.         ITK_CALL(AOM_ask_name(uoms[ii], &name));
    & L: k& A$ U9 S& u5 P
  38.         printf("\t%s\n", name);, {) N  \7 W; y1 Y+ t) b; ?
  39.         if (name) MEM_free(name);
    ( ~4 [) `2 L1 U4 V3 v5 J* \( R/ _
  40.     }
    . {8 I* |# U! i4 q/ S. I1 b
  41.     if (uoms) MEM_free(uoms);6 z5 ]* m+ w" [% d6 j
  42.     ! i( f) }- u, u3 T2 w
  43.     ITK_CALL(UOM_create("inches", "in", &new_uom));/ \/ r3 W+ e, `
  44.     ITK_CALL(AOM_save(new_uom));& ?  i8 N2 p$ d' ?6 Y: p
  45.    
    6 K0 @1 k5 X! q' X! S- }$ b# @) d
  46.     printf("\nAfter UOM was created...\n");   
    8 T! L( I" F/ l& i
  47.     ITK_CALL(UOM_extent(&n_uom, &uoms));
    9 a, f0 ^) }! N' I6 S+ |& Y8 c. k7 Z
  48.     for (ii = 0; ii < n_uom; ii++)
    ; u+ D7 u3 U, k3 y& |9 O4 |
  49.     {
    & |$ b+ t$ `5 R0 U
  50.         ITK_CALL(AOM_ask_name(uoms[ii], &name))$ {8 \: L( ?7 l! n. ]# l" d
  51.         printf("\t%s\n", name);6 |4 m+ n3 ?9 r5 o! R, R" d
  52.         if (name) MEM_free(name);
    - b9 [+ @2 c8 }
  53.     }
    # y9 f- S8 T" W$ \" u; w
  54.     if (uoms) MEM_free(uoms);# n3 m; l, Z- O9 i* H
  55. }
    + ]- h! f1 p: l
  56. 8 W% _6 m9 ?6 Y. }2 L1 S
  57. int ITK_user_main(int argc, char* argv[])
    3 d( W5 s$ @' z5 u/ p$ R4 b; I, z% V2 }
  58. {
    " h! X/ q" \" V- z* p6 b0 y
  59.     int6 A! O& I2 c! h4 \2 l1 g
  60.         status = 0;
    4 y2 E* w: w( X0 T
  61.     char. H" a7 m) I. y( C
  62.         *message;
    ! G) J2 s4 T' c
  63.     ; d+ b  q% i# a7 N: d, m
  64.     ITK_initialize_text_services( 0 );
    8 H1 R2 P$ E+ J1 _! |3 x/ u. P
  65.     status = ITK_auto_login();
    6 d8 }6 i1 U2 O. j" A+ _
  66.    1 z; c1 ?' S2 d* o6 \5 U& \6 \+ S
  67.     if (  (status != ITK_ok)) printf("iMAN login NOT successful.\n");$ m9 _! x: S# E' w
  68.     else7 @1 g9 N- c2 |7 N  k0 k
  69.     {
    6 F2 e( _6 k8 ?6 U
  70.         printf("iMAN login successful.\n");
    $ U8 |4 v+ k/ W1 v; Y
  71.         ITK_set_journalling(TRUE);3 D5 H8 |! I" W8 z5 h" U
  72.         do_it();8 N0 k: x& [$ T
  73.     }& S# l3 C7 B: C$ k
  74.     ITK_exit_module(TRUE);
    1 v, F* j% L9 \$ u% \
  75.     return status;+ z9 `1 Z  O! K7 A/ v+ O6 `. M
  76. }
复制代码

/ b, `3 Y) l7 p4 _# T8 _6 I( [' h+ F3 M- `

, P! `+ J9 T# F( t0 t
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了