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

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

admin 楼主

2014-1-15 19:39:16

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

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

x

% o& S; O/ c( c8 c  t' XTeamcenter ITK二次开发源码分享:创建测量单位unit of measures; W" A7 f' I1 _
7 Y; F7 u! M3 I. a
  1. #include <stdlib.h>
    * E, o6 {7 A' S( A8 _
  2. #include <TC/tc.h>
    ( r) H4 ~: q6 j
  3. #include <sa/tcfile.h>
    ) n9 o* Q( N1 h5 H
  4. #include <tccore/workspaceobject.h>
    0 v6 ]* k' G$ b. {! ?3 o9 o
  5. #include <ae/ae.h>
    0 F( Z- P  W: j
  6. #include <tccore/item.h>
    2 ^9 _: e( ?3 @3 O* U

  7. 2 `; I* l( L2 e9 t" e9 i
  8. #define ITK_CALL(x) {           \/ c" L$ [8 L7 G9 V' x7 O- C3 q; E
  9.     int stat;                     \
    $ E, S0 E& O4 p5 D2 |
  10.     char *err_string;             \
    6 I# `2 B  h; |8 ~
  11.     if( (stat = (x)) != ITK_ok)   \4 l$ Y, f- R- A
  12.     {                             \
    ) f, p# Q/ @! G( Y
  13.     EMH_get_error_string (NULLTAG, stat, &err_string);                 \
    # N* w3 Q3 v, k9 a( l7 f
  14.     printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string);           \9 h4 \9 c' u1 F4 A3 @* P0 j: N
  15.     printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \
    % d0 K. u, d, d" @* r3 N% K' K
  16.     if(err_string) MEM_free(err_string);                                \
    2 {3 U# g% f+ u* Q% u8 l
  17.     exit (EXIT_FAILURE);                                                   \- w; d; r' l/ |9 E+ A3 a6 k9 \* M* G
  18.     }                                                                    \
    3 F3 Q3 X  j1 f
  19. }
    4 f! M4 _' I6 Y. @8 H! W
  20. #define EXIT_FAILURE 1 ' N, g# C8 |1 s
  21.         & T+ y" n( A* X7 l
  22. static void do_it(void)
    % p! v* R+ T: \; F
  23. {
    * `* |( M2 n4 @0 w0 D; J, f2 U" S
  24.     int1 ^% M8 u# B0 ~# ^& u( N' c" H
  25.         n_uom,4 w) ?; b' c6 p8 \
  26.         ii;
    " I/ [7 u* J+ ], m+ P
  27.     char
    ; B/ R( o; n# t' p9 `* R
  28.         *name;% G" Z3 E6 h; S& ]9 e) C$ ^+ K5 O
  29.     tag_t) ?. h7 O  t& a. T1 }
  30.         *uoms,
    9 d* N* c: Z7 h$ R* X+ T, F2 @
  31.         new_uom;
    7 k9 m* E3 u& u; Q6 ^  l* S
  32.    
    3 X" u: }+ {  X) i- p
  33.     printf("Before UOM was created...\n");   
    6 |# }8 c" e5 c, Z9 b' }) E
  34.     ITK_CALL(UOM_extent(&n_uom, &uoms));
    & @/ S3 s4 ]0 v* @. Z4 p( g
  35.     for (ii = 0; ii < n_uom; ii++)7 J% T3 N% j" Y! A7 H5 ~
  36.     {
    , z  t. I* j$ o5 ~  {# ?
  37.         ITK_CALL(AOM_ask_name(uoms[ii], &name));
    ; p. t; f% z" ]- y8 f& o
  38.         printf("\t%s\n", name);
    6 Z8 L+ N5 ?+ D, V4 K( x
  39.         if (name) MEM_free(name);
    ! K8 L& {6 g7 H+ D# v
  40.     }- x8 z, L: b/ X! A- \. J4 u5 x
  41.     if (uoms) MEM_free(uoms);4 x. K8 s5 I% r1 h8 _3 q% @
  42.    
    / {- u; ?$ t% L( S- x7 t
  43.     ITK_CALL(UOM_create("inches", "in", &new_uom));
    1 L# i" k7 p# H, G
  44.     ITK_CALL(AOM_save(new_uom));/ N+ `, X6 l. i
  45.    
    - p, X6 H/ {  o
  46.     printf("\nAfter UOM was created...\n");   , y' S" U6 m9 W5 l; ]) g6 h0 ~
  47.     ITK_CALL(UOM_extent(&n_uom, &uoms));7 z* R1 Y9 f. c4 {3 ~8 V; z) \8 Z
  48.     for (ii = 0; ii < n_uom; ii++)
    0 K" I* k$ O) r$ ]4 Y
  49.     {$ F% e5 F5 R: n
  50.         ITK_CALL(AOM_ask_name(uoms[ii], &name))
    " I' u" s; W- J# }* \* [
  51.         printf("\t%s\n", name);
    # A8 w8 ]: j3 J3 G6 p  h) W# e; q
  52.         if (name) MEM_free(name);1 q' T, j! x3 _, N6 g2 o# i$ Z
  53.     }: \+ M& Y1 s& T: t* u+ l) n% F
  54.     if (uoms) MEM_free(uoms);8 F' a1 Q- w9 Q
  55. }, n, ^! c- _: l; D- W# u" h
  56. : t# _! n; j' C, r
  57. int ITK_user_main(int argc, char* argv[])+ e/ d/ s. |  `3 j
  58. {) I; j# T3 v) J" q$ k+ P
  59.     int( M0 g& K$ V% T# L& }
  60.         status = 0; " M/ L5 e. p5 A$ v
  61.     char9 Z, c8 k7 C; K% a( b; `( D6 [
  62.         *message;% R8 M7 U- h7 X. [$ W- x) B
  63.    
    / k' |/ t( X# r- Q% b" E8 Q& _
  64.     ITK_initialize_text_services( 0 );
    ! K# e9 o. l' i- z
  65.     status = ITK_auto_login();6 s1 h) ?' ^9 Y7 m" P% b; `
  66.    
    ; \8 `. `) T/ H- m
  67.     if (  (status != ITK_ok)) printf("iMAN login NOT successful.\n");
    & W/ _' K  Q. |' U" }$ A. e6 W- S
  68.     else
    + q- V$ `8 U* `: V* ~" T
  69.     {$ E- ~, {( P7 p" F
  70.         printf("iMAN login successful.\n");
    , J5 ~5 n( F: H  u9 O
  71.         ITK_set_journalling(TRUE);
    ( c$ s8 w; P. v+ l
  72.         do_it();' g0 [" p) z3 U5 R& S9 Z
  73.     }
    ( p3 [1 a+ q* S2 g( D# \) q" d  }) E
  74.     ITK_exit_module(TRUE);  a. L  @$ w8 @: E) J
  75.     return status;
    ; e5 K4 q- d# |, H8 ^. D' `  i3 T
  76. }
复制代码
( s7 r9 x$ \. F, I. ?

9 g2 |6 ^. n0 p6 X& l) W2 w, m3 y4 V5 D* v
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了