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

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

admin 楼主

2014-1-15 19:39:16

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

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

x

' R0 x9 C. e7 W- {' [Teamcenter ITK二次开发源码分享:创建测量单位unit of measures
1 N$ C8 }: r; e4 x5 I" M1 C9 B6 Y5 |$ b) R. k( `" r
  1. #include <stdlib.h>
    ) B9 {; v- ~/ \6 K4 y8 ?6 g3 Z
  2. #include <TC/tc.h>5 k3 p2 q/ d& W; }" c2 D+ ]
  3. #include <sa/tcfile.h>/ c3 }: g/ p( y2 _7 w
  4. #include <tccore/workspaceobject.h>6 |* r$ }6 w0 m3 @$ B/ _2 x( t
  5. #include <ae/ae.h>
    . {& I( b- H+ J0 T+ ?( T+ q: T
  6. #include <tccore/item.h>
    - Y: d: ?/ a% S/ f6 ^. ]2 Z$ N6 H
  7. 8 l* T4 @6 \3 w. W4 s# A
  8. #define ITK_CALL(x) {           \
    / d* s9 c9 C, a  g6 X7 ]9 s
  9.     int stat;                     \
    " f. t. n* f. W
  10.     char *err_string;             \
    & M- M; |, }/ g, a0 d- F, ^# t6 v
  11.     if( (stat = (x)) != ITK_ok)   \
    & U6 p$ J, s! U% k+ f
  12.     {                             \& A$ G4 r( h2 ~; P! S
  13.     EMH_get_error_string (NULLTAG, stat, &err_string);                 \
    & B# {5 K4 s8 @' m$ n# }
  14.     printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string);           \
    1 X! G5 w, k, N" b
  15.     printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \
    - w" `9 Q+ ]7 v4 _
  16.     if(err_string) MEM_free(err_string);                                \
    + F2 m4 `* x; U2 I0 s
  17.     exit (EXIT_FAILURE);                                                   \6 x( K" @5 C' l5 y/ V" q) L
  18.     }                                                                    \. I/ N6 k( ^& G) H
  19. }8 M4 u: b  n) Z. S; j* s
  20. #define EXIT_FAILURE 1
    ) z: h; u, B( D) `# Q; {, R9 ~
  21.         ! N$ d( h6 k: q5 [0 g
  22. static void do_it(void)8 m+ m$ Y( K, o, i+ X/ H: r
  23. {* O  k: D/ v- W
  24.     int; ^6 c. D7 o7 E* R" G
  25.         n_uom,( S6 X4 N- b& U+ k2 }' m
  26.         ii;
    $ A  p4 V* B9 F) d4 V
  27.     char7 {; k3 e& Z1 I7 U+ y
  28.         *name;/ G% m  ~$ K; L9 g  |' s* o
  29.     tag_t7 C# O( `( K$ {; o, Y
  30.         *uoms,1 q: g% f* P, F9 d* E
  31.         new_uom;
    * v8 B1 O0 ]. j; }8 c( E: D
  32.    
    5 u0 Y0 `5 j: o$ x( k2 A% T
  33.     printf("Before UOM was created...\n");   
      ?( H0 \' H" o2 A, t
  34.     ITK_CALL(UOM_extent(&n_uom, &uoms));
    . A% D+ ~) ?3 _% H/ x
  35.     for (ii = 0; ii < n_uom; ii++): d: A" D7 z( X5 c2 z0 G
  36.     {
    3 l  O1 v$ T& L, y8 Q$ @
  37.         ITK_CALL(AOM_ask_name(uoms[ii], &name));
    * E% g5 o3 Q3 U' V- F
  38.         printf("\t%s\n", name);" u/ z) _$ r' E  j( v1 S- b
  39.         if (name) MEM_free(name);% ~( j/ n+ R/ I* a( v- @9 @% u" @- V- e
  40.     }7 m5 k( ^4 u# E/ y. [
  41.     if (uoms) MEM_free(uoms);
    " `' B' q* p$ n4 v6 l
  42.     0 e% y/ k/ D" e1 N1 V: Z
  43.     ITK_CALL(UOM_create("inches", "in", &new_uom));
    $ z, e/ I% v9 ~) W( S2 Z/ F
  44.     ITK_CALL(AOM_save(new_uom));
    ) F* E% G& L! k& [! {, r2 v
  45.     4 G5 @; U1 F( m6 v# ~, \1 q
  46.     printf("\nAfter UOM was created...\n");   7 {4 z5 x9 k' x2 @, `
  47.     ITK_CALL(UOM_extent(&n_uom, &uoms));! s. `- W7 ^. T! w! N; n! {' n) V
  48.     for (ii = 0; ii < n_uom; ii++)
    * r- W) m! |" w: }3 ~; J
  49.     {2 |; E' B! h: I# I
  50.         ITK_CALL(AOM_ask_name(uoms[ii], &name))/ g4 a' k) W; F8 Y5 Z4 V& U0 H
  51.         printf("\t%s\n", name);
    7 i6 z, U4 Z' s  l! Y. N
  52.         if (name) MEM_free(name);
    4 p" W! U: m4 w0 k4 @! Q
  53.     }
    9 r9 V- }; B* N+ P9 y3 b
  54.     if (uoms) MEM_free(uoms);
    , Q; z# J" Y$ k4 g
  55. }1 k; d7 a7 \/ J+ y& H

  56. 7 r1 `( k- i( x4 O) w$ _7 x# g
  57. int ITK_user_main(int argc, char* argv[])
    ) E. C) x; B" s9 X9 H
  58. {5 L, H) D; {5 G+ P1 _
  59.     int
    . b6 S! l/ q) l! }4 {# d
  60.         status = 0;
    . ~0 O1 g8 F% d5 P8 l8 J6 J
  61.     char4 a/ L1 `5 X  a8 n  q4 T) Q
  62.         *message;
    " q2 ?( H- H$ p+ O0 Q: u$ t9 ]/ j
  63.    
    3 V4 n4 `- i' ]( o; K! D
  64.     ITK_initialize_text_services( 0 );: \8 l/ a4 L& f# u  i
  65.     status = ITK_auto_login();1 D) X$ O$ l% b/ u$ A8 |
  66.    
    ! F" s+ l( G2 U% v1 e
  67.     if (  (status != ITK_ok)) printf("iMAN login NOT successful.\n");
    9 S% ~  H! W# p
  68.     else
    " s, u& ]! h# g# w8 s1 V$ H
  69.     {+ ~2 Y! t: ^, U; V
  70.         printf("iMAN login successful.\n");
    8 I- ?. ^( n' e
  71.         ITK_set_journalling(TRUE);
    $ e# w: ~2 Y+ b  u4 l
  72.         do_it();
    / D. `5 S9 `' }
  73.     }6 F7 U% X+ q: k+ g" g+ P
  74.     ITK_exit_module(TRUE);
    4 f5 b9 U: k8 w: ?
  75.     return status;& `' b8 k7 e6 m# K- ~
  76. }
复制代码
7 t* [% Q: \3 A% F2 H. ^8 T
% R2 D) x/ r- b" g; Q

4 F* Y: C' H' ]- T% r1 j
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了