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

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

admin 楼主

2014-1-15 19:39:16

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

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

x
1 J! I. Z8 S  W' ^2 |% p: O
Teamcenter ITK二次开发源码分享:创建测量单位unit of measures1 H% C' t, I1 u! l* r" Y

6 u/ H6 |: A- V/ Q* s* L. P
  1. #include <stdlib.h>2 o- x9 A5 `: u: r( ~
  2. #include <TC/tc.h>$ H' ^3 N  Z( b) B2 E8 j8 O
  3. #include <sa/tcfile.h>* _0 {) t& T! a; J. @7 V
  4. #include <tccore/workspaceobject.h>( b* {9 H, L" `& R  T  d, p( h
  5. #include <ae/ae.h>
    $ C- ?0 O8 `1 R+ G
  6. #include <tccore/item.h>3 r$ v( i! C1 l$ G% X$ S3 m! W

  7. ( o% l: f& t$ ?% P
  8. #define ITK_CALL(x) {           \
    1 i' q) B5 U4 j, t# a
  9.     int stat;                     \
    " |7 l0 }8 ?6 d8 H; [
  10.     char *err_string;             \/ |1 T6 F( o0 N, Y! P" e- P
  11.     if( (stat = (x)) != ITK_ok)   \2 _- _  f$ q  G2 Y' k
  12.     {                             \
    : @) ?- |" b( X7 a
  13.     EMH_get_error_string (NULLTAG, stat, &err_string);                 \7 O5 T# h; J% |6 A
  14.     printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string);           \5 j6 v$ o3 ^, r
  15.     printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \: Q, g8 B1 n8 D1 w9 h
  16.     if(err_string) MEM_free(err_string);                                \9 D. c, Y* }6 J% r4 x% t4 v8 p# b
  17.     exit (EXIT_FAILURE);                                                   \* r! l/ m% |: Z' y; Z
  18.     }                                                                    \0 x/ }4 Q# A( R; T  L  i
  19. }
    6 h+ C5 g1 Z  K- a1 }) f" b/ s
  20. #define EXIT_FAILURE 1 # v' r* b6 }3 s! Y; X
  21.         9 ^# S# W+ m6 b7 o( ^6 e1 q; H
  22. static void do_it(void)
    # d! {: `! D1 M9 l
  23. {& \( p+ L  X+ z$ }# x
  24.     int
    . {$ O$ F& C! c' z1 K
  25.         n_uom,) c  @; y" B2 Z* S- s+ w5 z+ |9 A
  26.         ii;
    5 i6 c. k* ^3 ?/ o
  27.     char4 [7 u" Q: }- D# ^+ {* X+ d3 b' B
  28.         *name;
    # y2 @3 z" K) Y! K4 f7 R
  29.     tag_t6 r5 A1 f' q' Z/ L" m! C
  30.         *uoms,! Z4 I, H' f. Z0 l3 W; _1 ?
  31.         new_uom;; k& `, ]) b7 J
  32.    
    ; r$ L+ b9 S4 V: z
  33.     printf("Before UOM was created...\n");   
    - k9 m/ w7 Z5 k- h9 h1 \
  34.     ITK_CALL(UOM_extent(&n_uom, &uoms));' M' q: ?; t6 }2 y4 D6 l8 V& G
  35.     for (ii = 0; ii < n_uom; ii++). q) ?1 a6 f6 {) Q6 y
  36.     {
    3 s- p" l) q  H& n
  37.         ITK_CALL(AOM_ask_name(uoms[ii], &name));
    + J. f- ^& A& c3 t4 G6 F- L
  38.         printf("\t%s\n", name);
    ! X% {+ y  O9 V9 ?% d1 u+ c' j" D( O2 c
  39.         if (name) MEM_free(name);8 {2 j0 V, U0 H* z
  40.     }
    8 B1 s9 Q+ }8 {. J) [$ o
  41.     if (uoms) MEM_free(uoms);3 T2 T- }( Z+ k% C0 N
  42.    
    - ]) x% \+ U  m1 [0 x) }7 P
  43.     ITK_CALL(UOM_create("inches", "in", &new_uom));
    6 _: g% o, ^) O. i
  44.     ITK_CALL(AOM_save(new_uom));' a$ r# D- l" w/ r1 {( U7 C
  45.     # h# S+ ^! K) j; H+ U4 J
  46.     printf("\nAfter UOM was created...\n");   / p5 j6 X: b. g$ s5 p6 D
  47.     ITK_CALL(UOM_extent(&n_uom, &uoms));
    0 l6 q( q; {6 |. W( d( B, ~4 g
  48.     for (ii = 0; ii < n_uom; ii++)( b. x" j, P1 f$ I% z! m5 D1 Z* `
  49.     {2 k4 M7 U' E) t; t
  50.         ITK_CALL(AOM_ask_name(uoms[ii], &name))% R( G& \. U2 G7 |* m. d, H  }
  51.         printf("\t%s\n", name);
    3 |8 s8 d5 C: M$ Y
  52.         if (name) MEM_free(name);
    ) v/ {( @5 H" b* o* O3 b; p
  53.     }
    " h0 z8 v, h! t4 P
  54.     if (uoms) MEM_free(uoms);" B9 [% {! V, g2 G, U6 Y; a8 O
  55. }
    + {) m2 [5 E' T6 |0 |9 F, L' L& m
  56. + _( H! o- l& `
  57. int ITK_user_main(int argc, char* argv[])
    9 ?; a8 L2 T. F. ]
  58. {% c8 I2 ]9 B, k5 I
  59.     int
    . k$ }. O5 Z% ?# j5 n9 J$ V
  60.         status = 0;
    ( i9 h$ e( L( ?- H; E) t
  61.     char
    * v2 B7 S. s$ S5 ]. S8 g+ |  |' I
  62.         *message;7 @  u$ Z6 @! p0 ?: f! G' o$ l3 d1 e, }
  63.    
    3 k! A% `; D' p8 E: K( X8 d
  64.     ITK_initialize_text_services( 0 );
    4 Z8 f  p: @1 h, k
  65.     status = ITK_auto_login();
    8 G2 Z3 Z) e2 l5 s: B  b7 i$ u
  66.    
    ! u  m! Z" w1 S& F+ ]" u
  67.     if (  (status != ITK_ok)) printf("iMAN login NOT successful.\n");
    : b, `$ `6 C& _$ W) r" M
  68.     else, B7 W6 J' q- T) Q- T: X
  69.     {
    ) ?# P8 _8 ?7 Z3 Y) E
  70.         printf("iMAN login successful.\n");
    8 ]4 J" r' ^5 r8 z+ }9 h
  71.         ITK_set_journalling(TRUE);
    ' b! {1 j4 K' J& k$ {
  72.         do_it();
    & n  D, i' E% k: k
  73.     }
    7 r( ^+ S9 a! j
  74.     ITK_exit_module(TRUE);
    5 u1 \2 ]  o& x2 B2 d1 V
  75.     return status;9 a; e6 w# w. `4 P! V6 n
  76. }
复制代码

' d! c7 O( [* t7 `& c& r$ T& Q% @$ W/ A" o5 P% h
- v5 H. `. ?0 X3 ?
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了