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 5280 0

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

admin 楼主

2014-1-15 19:39:16

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

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

x

' c, F' |' A7 g) u0 lTeamcenter ITK二次开发源码分享:创建测量单位unit of measures; ]" D$ D$ @( C7 i: l

. t3 Q% S6 s. I# x" o8 T/ j0 D
  1. #include <stdlib.h>
    / s8 r/ ~" L/ `8 m7 A
  2. #include <TC/tc.h>
    1 ~2 o* W, \0 ?1 S& L+ F. P" C
  3. #include <sa/tcfile.h>
    - |. k& f5 Y7 V7 }* W6 i* d) F& j
  4. #include <tccore/workspaceobject.h>% l3 U- J7 f* o; P4 H
  5. #include <ae/ae.h>6 T3 }) J: }) h0 p- O
  6. #include <tccore/item.h>! h* }+ t5 p7 a/ z: N
  7. ) L1 Z- p/ M8 U' K- u
  8. #define ITK_CALL(x) {           \% w0 G0 m' r2 t1 [6 @, D( z
  9.     int stat;                     \
    - ?5 J; ]8 V9 J  g% P! }: Z
  10.     char *err_string;             \3 k( W2 L" k* R, e$ f5 r  G; Z; g1 v
  11.     if( (stat = (x)) != ITK_ok)   \
    3 k$ P, e2 q8 I* e- T$ g, b
  12.     {                             \
    , P0 H* w6 V% z- ^9 C2 u. B% i  a3 H
  13.     EMH_get_error_string (NULLTAG, stat, &err_string);                 \
    5 K" e& P* x) b4 u' l, L
  14.     printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string);           \4 \  L" y1 Z( p) s! e
  15.     printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \
    : L1 Q& l* ?4 q0 {
  16.     if(err_string) MEM_free(err_string);                                \- r+ }/ A% ^9 x8 I$ m5 i- G% g
  17.     exit (EXIT_FAILURE);                                                   \
    6 [# n+ _: \6 s2 p+ |4 q0 D
  18.     }                                                                    \
    * e- j$ E( J9 }. b9 `5 b/ S
  19. }
    ! K" o3 U. g; t1 ]$ p9 b9 ?- U
  20. #define EXIT_FAILURE 1
    - }. s! W9 h4 C
  21.         
    - F: Z; O$ q  d* a. p6 T/ N4 Y
  22. static void do_it(void)/ T2 l5 ~3 }# G, J
  23. {
    + M6 _* j0 u! F" X& t1 A' O6 M
  24.     int
    6 A7 ^2 J2 E; j9 v% k
  25.         n_uom,
    4 n5 O7 [6 x% {- _. d
  26.         ii;9 g; z  a; I+ O" G
  27.     char1 M, ^, z; n  x% d+ q; {' P
  28.         *name;4 H- Q8 \7 A2 Q: G/ R' d& E
  29.     tag_t
    2 h& R% p8 A+ ]- P( \( j
  30.         *uoms,
    / |7 M- L) [/ ]1 l
  31.         new_uom;3 j3 i1 p  O' L' d  r; S: L
  32.     1 y+ l0 F7 X$ Z" k2 M& z6 m/ l
  33.     printf("Before UOM was created...\n");   
      Q& e; y0 v  h7 \1 }% W
  34.     ITK_CALL(UOM_extent(&n_uom, &uoms));
    , z3 Z! c- g6 \9 S
  35.     for (ii = 0; ii < n_uom; ii++)
    # b( L' Z4 ]3 P+ X1 U' ~, Y
  36.     {
    , l+ {) p6 J: i( i% w" o
  37.         ITK_CALL(AOM_ask_name(uoms[ii], &name));& l, X9 v5 x' N1 ?9 U% O- G2 v
  38.         printf("\t%s\n", name);
    4 ~, Q" k' J& g  `4 f
  39.         if (name) MEM_free(name);
    1 g: g3 q) S$ Q, \' D( Y  u" X
  40.     }
    5 E4 V" b( v& u+ i- A2 O$ |' O0 E
  41.     if (uoms) MEM_free(uoms);
    ( B/ z# x& t0 P+ x6 E
  42.     . Q  A' Y; x, s: u5 F
  43.     ITK_CALL(UOM_create("inches", "in", &new_uom));; u. ?8 n: f* u" x# U+ \
  44.     ITK_CALL(AOM_save(new_uom));
    $ l5 K; K. i2 e! U% a1 N
  45.    
    : ]: V9 r, g! j5 Q6 |0 J" K
  46.     printf("\nAfter UOM was created...\n");   , E& R2 m7 t8 P+ k* L! m  J% u; n1 T
  47.     ITK_CALL(UOM_extent(&n_uom, &uoms));
    ' e! M8 E( q; k3 Y
  48.     for (ii = 0; ii < n_uom; ii++)% S  z2 A) F+ g$ j* C6 y4 B
  49.     {& z* `, O; `* V8 [
  50.         ITK_CALL(AOM_ask_name(uoms[ii], &name))
    & g% M4 W$ M1 ]. h9 K) u1 i
  51.         printf("\t%s\n", name);
    ' N4 ]7 k- }9 }2 y
  52.         if (name) MEM_free(name);
    4 [$ Y# ~) W1 Q9 L
  53.     }! K  |( t% e* h) G- M' e& u
  54.     if (uoms) MEM_free(uoms);2 A3 T( b/ I- O8 l1 J
  55. }
    4 b6 C6 K( a2 }+ z# E

  56. 7 t7 x2 m# }- ]# t$ f# ?0 Z4 h7 w
  57. int ITK_user_main(int argc, char* argv[])
    ; G: V3 T& F' T, z
  58. {$ b2 F0 L2 N2 ]7 }& o" M3 z
  59.     int
    % `1 l1 {$ a" r! C
  60.         status = 0;
    . G; n3 m& O8 |; o" a: F' v( I
  61.     char$ y' S# |& F( @4 c1 N
  62.         *message;
    + C( l3 Z7 e7 p: I) d# H
  63.     1 i( {& [# z) e! s' s- ]. e7 a
  64.     ITK_initialize_text_services( 0 );
    9 Y2 k- m) J0 [+ z1 p0 K
  65.     status = ITK_auto_login();
    2 b' C2 M4 n. b& p" x/ k
  66.    
    + Z0 y! I  [6 N
  67.     if (  (status != ITK_ok)) printf("iMAN login NOT successful.\n");
    0 O" I( d/ O' m9 N  V% }  n
  68.     else
    . C/ B+ L! }3 x1 _( S7 \
  69.     {
    , Z( V; r$ K* I& g4 K
  70.         printf("iMAN login successful.\n");
    5 N) W( b( b6 a+ B$ o* s- f
  71.         ITK_set_journalling(TRUE);
    + v/ c( s0 r) {1 ~+ H: G1 l
  72.         do_it();
    , r1 r) d! X( u$ X
  73.     }* C3 _6 m. m' O& {$ P* J1 N
  74.     ITK_exit_module(TRUE);
    / [8 f6 f1 X9 z' W$ P6 e1 l! z
  75.     return status;
    / A* T; j" E1 j7 }3 N! f7 P
  76. }
复制代码
; u3 N+ W/ J5 }7 l
$ [% t) F! q3 L+ J9 |% l5 l: ^

2 u& M& U- B; J+ {  F7 Z2 s
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了