PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2014-1-15 19:39:16

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

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

x

6 M  C% J9 |2 ]  c3 ]& B9 u. BTeamcenter ITK二次开发源码分享:创建测量单位unit of measures/ ?5 J% p. c  P1 Y: b- R

% B9 d2 M; M- k9 b% Q% i/ [3 Z; Y
  1. #include <stdlib.h>1 e2 M5 Z' L" e% F) Z% C
  2. #include <TC/tc.h>6 N  h6 z' P+ {( p% g
  3. #include <sa/tcfile.h># r9 L4 w, \. h2 v) K, b/ G
  4. #include <tccore/workspaceobject.h>
    1 n# {& g* }* [: M& o6 \
  5. #include <ae/ae.h>
    : B& t( H8 g* H$ |6 Q/ A
  6. #include <tccore/item.h>6 b. P0 k( j  {1 v
  7. : G5 x6 c/ T2 Y' x% P5 j7 J
  8. #define ITK_CALL(x) {           \  J! i: \, R2 w5 P
  9.     int stat;                     \
    0 V: c8 l6 B/ ?: G; a. Y" G# s
  10.     char *err_string;             \
    8 y$ }4 ^) \/ X8 e- E
  11.     if( (stat = (x)) != ITK_ok)   \5 w, y& N: R! ~1 \& \( R" k
  12.     {                             \
    , v  N& w& t- C: K$ b9 a
  13.     EMH_get_error_string (NULLTAG, stat, &err_string);                 \
    % R3 C7 ]! @- P7 ~" O! y4 |
  14.     printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string);           \
    # i9 G, }& W7 C4 r2 v
  15.     printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \
    ' O' K1 X' L3 p  q" E* ~
  16.     if(err_string) MEM_free(err_string);                                \
    9 y& ~& P( H2 T+ m9 d# {: }# D$ I
  17.     exit (EXIT_FAILURE);                                                   \# ]1 A% o: C- {) d
  18.     }                                                                    \
    ; c- ~7 I! I2 o) O
  19. }- ], z, `! |+ X6 C  [
  20. #define EXIT_FAILURE 1
      x  r1 U- G& A; ?6 d0 g5 O" j( ^$ _
  21.         
    . O, ?9 L9 ^" G+ V* ?+ Q! J- f# T
  22. static void do_it(void)1 n* ^# `2 n, g: V/ A
  23. {+ u) Q/ H* I' h$ V9 J/ G- I
  24.     int3 V. l% ^  P: S, l1 T
  25.         n_uom,
    ; H, W" c2 ~" b
  26.         ii;  H+ O. `. Z& I& H" J: O) ^
  27.     char
    ; A  w& s5 L9 ]6 B! n; B- V
  28.         *name;
    * S  N" \, i# ]/ z8 A9 H
  29.     tag_t
    ( i5 j' _% ^$ {
  30.         *uoms,
    ; P, b0 m/ g3 ?" c" I" t& Y
  31.         new_uom;. h: o% v6 S; y
  32.    
    * F+ }0 x/ |/ S/ `9 R
  33.     printf("Before UOM was created...\n");      U0 i4 e( M+ k- B5 H9 A' {
  34.     ITK_CALL(UOM_extent(&n_uom, &uoms));  D  `, {; a. W: D5 O
  35.     for (ii = 0; ii < n_uom; ii++)6 P$ g3 A2 m) d' @2 E
  36.     {
    ( r0 I! B) k) m$ V
  37.         ITK_CALL(AOM_ask_name(uoms[ii], &name));
    , N; Z' V5 X! t+ d- R. w6 x
  38.         printf("\t%s\n", name);
    ; Z# ~; j. b4 I, \5 g6 j
  39.         if (name) MEM_free(name);
    # j1 _) k* p6 `
  40.     }0 O  v2 |2 D# e6 K: R8 W
  41.     if (uoms) MEM_free(uoms);" H* n# c4 a1 Q, x
  42.     6 m/ a3 o' i* G$ Y$ {
  43.     ITK_CALL(UOM_create("inches", "in", &new_uom));/ [3 \+ i9 Z, ?  }# D7 f/ d
  44.     ITK_CALL(AOM_save(new_uom));  [( T; K. q: `- C3 i
  45.     8 i5 k8 |/ P7 Y7 Q2 v
  46.     printf("\nAfter UOM was created...\n");   
    , d) n# t* S, U; V* X
  47.     ITK_CALL(UOM_extent(&n_uom, &uoms));1 n$ ^7 d5 m! a4 v+ y
  48.     for (ii = 0; ii < n_uom; ii++)
      p8 z: U) S0 _: F! I% G* G
  49.     {
    6 R0 Q$ n1 f. n; L
  50.         ITK_CALL(AOM_ask_name(uoms[ii], &name))
    3 X4 s$ ^  k8 A6 s! C$ b* W# |
  51.         printf("\t%s\n", name);' F; O5 s* S# }  @: S  z
  52.         if (name) MEM_free(name);2 Z8 x! {% F! ~# g0 n: u. }
  53.     }( P& h) y5 c4 e0 |
  54.     if (uoms) MEM_free(uoms);
    , \2 M: M( m$ x& C
  55. }% Z* |3 j: m$ b: \- G4 k

  56. / F$ B6 [& D  F
  57. int ITK_user_main(int argc, char* argv[])
    " t3 C5 G& r3 \' Z( t# W$ }& u
  58. {0 Y. y( O8 Q8 Y; b6 w* }
  59.     int+ Y# N# K) K! a" s
  60.         status = 0; : m; Q- m" b& p
  61.     char: E4 S- Q/ n& t6 _# s5 Q' G9 Z
  62.         *message;6 e5 }0 n8 T5 ]) n  }
  63.    
    4 j2 b, D( s2 s3 _- m
  64.     ITK_initialize_text_services( 0 );
    ; y, l( |' Q! C7 F6 ?
  65.     status = ITK_auto_login();" F# c& I5 |. W, N. J
  66.    
    % I  E' H5 G, g# G9 x1 |
  67.     if (  (status != ITK_ok)) printf("iMAN login NOT successful.\n");+ _( C5 D4 H% m3 g
  68.     else9 q# ]6 h. z2 I$ r) r7 T# s% p
  69.     {
    " F/ l2 Q* K" ?2 Q, x+ y- |
  70.         printf("iMAN login successful.\n");
    + @) r: ^0 @6 m0 G
  71.         ITK_set_journalling(TRUE);
    : N) ^$ ^- G1 J+ U# m
  72.         do_it();" w( Q) S% P3 Y7 }  _0 j) F
  73.     }1 @1 H) i2 {; P, G, d. w: o
  74.     ITK_exit_module(TRUE);: y: z, F) Y5 f, B
  75.     return status;, `4 I$ ]1 k9 @
  76. }
复制代码
( y6 f) [* l" I8 h

* L" l* ]* h: h7 a" ~9 t( _% `
0 r' q) b, k6 Q5 {& \% c& A) u
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了