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

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

admin 楼主

2014-1-15 19:39:16

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

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

x
7 @/ l8 j3 Z. S7 x1 d7 O
Teamcenter ITK二次开发源码分享:创建测量单位unit of measures, ^) F5 q1 A1 V6 s
& y3 d& g5 W( c  J9 y/ P' Y
  1. #include <stdlib.h>6 R8 h' y  |3 }
  2. #include <TC/tc.h>  H) h+ y$ n: R. h9 c+ M
  3. #include <sa/tcfile.h>% d# }. V4 r" `: c" d7 u
  4. #include <tccore/workspaceobject.h>
    5 y% N& h8 }2 s* h0 J" L
  5. #include <ae/ae.h>8 _4 S* T- T7 A9 g. }1 F
  6. #include <tccore/item.h>
    ( ^* a! }! N. a7 v& R- K

  7. / m! b$ W3 Y2 {5 Z/ D; T
  8. #define ITK_CALL(x) {           \! d  W  c; R- H& Q; s- g! L9 U3 r
  9.     int stat;                     \
    ; _. i% C6 `' M7 @' V% g' U6 }
  10.     char *err_string;             \  M$ S7 w% @, g0 K/ I0 x( E
  11.     if( (stat = (x)) != ITK_ok)   \
    3 e' [! Y* o! M4 ~" E  s
  12.     {                             \
    5 o$ I/ |1 {( z! p
  13.     EMH_get_error_string (NULLTAG, stat, &err_string);                 \
    ! ~& W& C1 j) R; {5 h
  14.     printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string);           \
    8 g7 x& C5 ?( S; M6 h; a  O) p3 F$ W4 q
  15.     printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \
    8 E% q' k: J( x4 k, u
  16.     if(err_string) MEM_free(err_string);                                \
    ' S+ O- o2 c. y6 t
  17.     exit (EXIT_FAILURE);                                                   \
    6 l  O3 N2 b6 Q' v4 j- D
  18.     }                                                                    \0 L4 v' ~3 w% H% c$ H, q
  19. }
    # c9 i0 c/ b: q; F; E4 J
  20. #define EXIT_FAILURE 1 4 S+ v8 r4 f5 E. L  F
  21.         : l. J; b. b/ U* C6 ^# L. |/ p: K
  22. static void do_it(void)
    4 ^0 a2 S# k, D
  23. {
    . A: j( w3 h5 L- F
  24.     int
    + s: ~! f/ e, y' R3 A
  25.         n_uom,
    ; |, m7 n3 v4 y6 ]/ W* ?, @
  26.         ii;! C4 ]) l5 x8 r1 _9 Z# p8 \, T
  27.     char
    ) q  N0 b* ?. J4 ]# S5 O
  28.         *name;/ s2 t( H) W* Q# A, b2 T) B
  29.     tag_t
    : ]& X4 ]; V3 j: F! [5 L7 X
  30.         *uoms,+ V7 Y# b4 G2 E! [  c
  31.         new_uom;/ K# ~# t1 t4 t1 V! K0 s
  32.    
    0 @  f5 I  _) x) b8 ^5 z
  33.     printf("Before UOM was created...\n");    2 f  k- x' b/ a7 V5 ^9 G
  34.     ITK_CALL(UOM_extent(&n_uom, &uoms));% M, z' ~( n. p0 I  Y3 |
  35.     for (ii = 0; ii < n_uom; ii++)
    ! N0 @0 B! g5 V4 l: ~) N
  36.     {5 ~0 D# i  h0 [
  37.         ITK_CALL(AOM_ask_name(uoms[ii], &name));
    : Z  U9 s( _* y) w3 C, R
  38.         printf("\t%s\n", name);
    ( g$ a, k# W1 z7 g: `* @
  39.         if (name) MEM_free(name);
      a% T/ _7 F! F: ~
  40.     }# B4 I4 z9 X- ^
  41.     if (uoms) MEM_free(uoms);( S1 |0 Z8 _+ m- i, J
  42.     ; e$ ?+ }7 b$ `" Z0 P& S4 Y3 J( _
  43.     ITK_CALL(UOM_create("inches", "in", &new_uom));
    6 ^& w& ^; E* V' F# Z6 S
  44.     ITK_CALL(AOM_save(new_uom));3 a- r8 p+ n, B! i& ^
  45.     / e; r5 B( g0 Z1 W0 u
  46.     printf("\nAfter UOM was created...\n");   
    # ~- `% ?$ G# o, ^+ Z% `
  47.     ITK_CALL(UOM_extent(&n_uom, &uoms));# Z/ W/ g$ I& C9 v3 |% H
  48.     for (ii = 0; ii < n_uom; ii++)8 \" q  K# U7 U* W0 x6 B
  49.     {
    ) P: ?$ e7 }, H+ t" Y
  50.         ITK_CALL(AOM_ask_name(uoms[ii], &name))
    4 L0 h6 }, p" n
  51.         printf("\t%s\n", name);' U5 Q- m3 }* O" k5 n
  52.         if (name) MEM_free(name);  V" t2 f$ k8 ?# @7 A4 u
  53.     }# U% J6 x9 M- X9 c8 r9 c
  54.     if (uoms) MEM_free(uoms);
    ! T4 W6 F* Z+ @3 p5 T
  55. }
    * D9 G5 I) h2 q9 {3 J, E

  56. 3 y3 c9 c+ C' {  g6 W- h
  57. int ITK_user_main(int argc, char* argv[])
    % y+ x; T$ U& j4 Y4 h
  58. {0 T7 I  w  p' `3 u
  59.     int' V* [( J$ _8 a. t" g$ d5 X9 l
  60.         status = 0; & [# L( c6 Z" m. B' c5 M
  61.     char* H( U$ N8 f* r2 Z! o* f5 |
  62.         *message;3 ], h; F! d: x- @5 }# n
  63.     2 E2 w/ Y6 j% J
  64.     ITK_initialize_text_services( 0 );
    . p" i8 c1 C  Q+ C* g) _
  65.     status = ITK_auto_login();4 f2 G' }0 g2 L" |2 `0 r) V
  66.    
    ' n0 J9 V- }8 w9 i  L9 u
  67.     if (  (status != ITK_ok)) printf("iMAN login NOT successful.\n");( B4 h* N" ]8 z9 k' M& I+ _
  68.     else4 j) W5 S8 E  R1 f. ^0 b" G: {
  69.     {
    % ~' z# M& H; ~9 ~
  70.         printf("iMAN login successful.\n");  s- H4 X" c) S# E5 ]4 {: u
  71.         ITK_set_journalling(TRUE);1 N, [5 N# e: q8 C4 Y+ |
  72.         do_it();
    $ a* b: Z' K' r0 ~. ~
  73.     }; w4 N; M) r8 z/ T5 n1 U4 R; {" `. z
  74.     ITK_exit_module(TRUE);1 e+ M/ \6 r) @8 U' M6 K
  75.     return status;) \+ ~% g9 g  s( S/ a& V3 P# U
  76. }
复制代码

# r# J- k, o7 {. r& G+ `# R3 A6 o! M0 N' g- [

3 S8 W+ V1 ]; n- h
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了