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

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

admin 楼主

2014-1-15 19:39:16

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

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

x

6 l' R$ D2 F2 I) f% V; `. T  sTeamcenter ITK二次开发源码分享:创建测量单位unit of measures; Q# s) A9 o; y0 R% D
9 V/ R" h- S  v7 {- z  Z
  1. #include <stdlib.h>4 ~2 s6 u& m9 Y1 p7 q" k
  2. #include <TC/tc.h>
    1 m4 @2 t7 A, g' X2 K) M2 F
  3. #include <sa/tcfile.h>
    ; X4 D& u( c9 U
  4. #include <tccore/workspaceobject.h># q& L) D6 \1 }
  5. #include <ae/ae.h>8 i( l% ^( d+ j: F8 _; _, d0 U. s
  6. #include <tccore/item.h>" M. Q7 A! Y1 P& r
  7. ) e5 i, ~- E3 v8 ^4 ~: U
  8. #define ITK_CALL(x) {           \1 Y5 `9 n& {, a& U8 \3 p( n# N
  9.     int stat;                     \
    $ z' W, {2 R# i/ P6 v
  10.     char *err_string;             \) [5 |+ |$ B$ H* X8 |+ T
  11.     if( (stat = (x)) != ITK_ok)   \
    " N$ X( l, N3 E/ B5 C# q1 L- i
  12.     {                             \
      _. T5 ]5 z, g) J: ]3 ?# [
  13.     EMH_get_error_string (NULLTAG, stat, &err_string);                 \
    " O& e  Q2 L5 y- W8 K1 g- S: t* d
  14.     printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string);           \" ?! ~6 b$ P1 }- ^+ Z4 _8 ]
  15.     printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \( a/ |1 b9 }; @+ R! Z2 S3 r) `% m
  16.     if(err_string) MEM_free(err_string);                                \' @; L0 x5 Z5 S$ g: z; d4 Y4 F
  17.     exit (EXIT_FAILURE);                                                   \  T2 t3 T# g0 e! P" e+ \5 O/ s
  18.     }                                                                    \+ _2 E% V# h+ [8 E+ M- R6 k
  19. }" p. _9 o* y( b' ~# n1 Z5 U+ G
  20. #define EXIT_FAILURE 1 7 q/ B! t# q, t: e: Q
  21.         6 D4 J- w! x9 E$ I
  22. static void do_it(void)
    7 j2 U# W/ j' K* j+ X' m  X
  23. {; g6 p+ V/ ]# N2 m# P: I# V. s
  24.     int
    - {1 \8 Z" ^0 h& C- o
  25.         n_uom,
    7 H) b' ^; n3 C0 m# U# t
  26.         ii;" C- w' D+ m; A+ C; r3 z' _
  27.     char
    8 R# m+ `7 b0 m2 t
  28.         *name;
    . l3 \8 S8 `" \! [& }+ L
  29.     tag_t
    : E( H3 b3 w2 U- E/ I* Q6 C
  30.         *uoms,
    3 ~0 v  d, \8 P5 O6 k  J4 y8 ~
  31.         new_uom;
    6 O$ S1 }. j9 Y* ?" C
  32.     6 t! M( E" A2 @4 E- T" D
  33.     printf("Before UOM was created...\n");   
    ! d% ?' Y0 a6 C( J6 E8 e
  34.     ITK_CALL(UOM_extent(&n_uom, &uoms));% G6 N8 N9 y* j: _
  35.     for (ii = 0; ii < n_uom; ii++)8 R4 Y/ {; P+ l
  36.     {
    0 z0 \" K1 T' F; o% E
  37.         ITK_CALL(AOM_ask_name(uoms[ii], &name));) D6 T$ j' J# _9 F; b9 t
  38.         printf("\t%s\n", name);
    - I" I4 [+ _, K+ f
  39.         if (name) MEM_free(name);) i/ P0 z) h# z" l0 s# }
  40.     }! ^- h& t* n( h5 c4 k/ y1 o
  41.     if (uoms) MEM_free(uoms);0 R7 \, h$ D2 m7 S) z* M
  42.     1 x" q8 |; ]7 F* k
  43.     ITK_CALL(UOM_create("inches", "in", &new_uom));( C$ ~# e2 a/ D# ]5 Y
  44.     ITK_CALL(AOM_save(new_uom));
    ' _# J! L) M+ T: ?
  45.       G  A! j6 F& c3 b6 J, `/ D8 c: R
  46.     printf("\nAfter UOM was created...\n");   / F3 f: [) |, W" x" p
  47.     ITK_CALL(UOM_extent(&n_uom, &uoms));
    " @) V/ j7 ]* h3 G# s& X8 v
  48.     for (ii = 0; ii < n_uom; ii++)( c' k8 u' [2 j1 g' k
  49.     {6 s% Q; s. M" q8 ]. f" |+ e
  50.         ITK_CALL(AOM_ask_name(uoms[ii], &name))8 d' @! x  k; Q/ B4 J+ Y7 y( ^
  51.         printf("\t%s\n", name);: W: x7 o. _- |( ^7 T4 z
  52.         if (name) MEM_free(name);( B2 [% D# ]  i1 w5 j
  53.     }4 [$ E$ @6 T$ z0 b
  54.     if (uoms) MEM_free(uoms);4 ]$ u+ ]% h- U/ \: n
  55. }9 ]  s- E' O  }0 E- y

  56. 3 [9 f& y( d2 M. S. m
  57. int ITK_user_main(int argc, char* argv[])" p4 \  `! a+ x' l
  58. {
    ! _! [3 H" P& Z6 |) {& @& @5 U) J( n
  59.     int
      Q* k3 W+ m# F& ^" x
  60.         status = 0;
    ( d  R0 W/ ?1 b) v; ~: K5 p
  61.     char
    7 G3 y# c; J3 D5 l% U3 a
  62.         *message;
    ' x. y. B$ C. I' S
  63.    
    # E- X& {  l7 x
  64.     ITK_initialize_text_services( 0 );1 B; I, ^$ W, [) ~1 V5 M. a5 N0 E
  65.     status = ITK_auto_login();* L; W( J$ h  K
  66.    
    * G2 s5 f/ t5 g2 p# c% ]( r
  67.     if (  (status != ITK_ok)) printf("iMAN login NOT successful.\n");
    & b8 n. i) i3 R  d! P" w
  68.     else9 m5 k; Y: v$ F3 V: s7 t
  69.     {
    , _2 D5 Q. f- {5 X! H9 G0 ~) k
  70.         printf("iMAN login successful.\n");8 z3 m0 k  i: E1 o
  71.         ITK_set_journalling(TRUE);
    : ^1 L" D8 Q0 Y+ L0 C) @0 X
  72.         do_it();
    ! Y5 A# e7 u- ]6 b, q  Y
  73.     }8 S0 }, v5 m0 \& e
  74.     ITK_exit_module(TRUE);
    1 I7 s2 P" c7 k
  75.     return status;  t# P' H$ K) e$ f; R3 B. j
  76. }
复制代码

8 c, m' j2 [. J8 h/ j; ~/ k' K0 r  }2 A; S; U1 s

! q( O& T3 u& m& R  v9 E
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了