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

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

admin 楼主

2014-1-15 19:39:16

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

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

x
& u  E: t% ^/ M
Teamcenter ITK二次开发源码分享:创建测量单位unit of measures
! X9 v) m; p/ U/ H8 L/ K6 D" ~  c; f( s3 y1 H
  1. #include <stdlib.h>
      ?# L$ ]9 P% J5 r$ D1 J$ @5 O0 ~6 n
  2. #include <TC/tc.h>
    5 \4 w5 _$ F  Q# g5 q5 Z
  3. #include <sa/tcfile.h>
    " }7 u5 ~6 V: o  N% r3 T/ ?
  4. #include <tccore/workspaceobject.h>' M( ]+ v& t3 O+ e
  5. #include <ae/ae.h>9 j4 x9 Z$ g0 k% Q
  6. #include <tccore/item.h>
    ' w) s+ T8 Y' M# q  e
  7. 3 [1 f; S1 m, [$ B  o8 S& A% O
  8. #define ITK_CALL(x) {           \
    , E9 c; `4 A% W& J; g
  9.     int stat;                     \# K! n  f9 ]& s) I) |
  10.     char *err_string;             \) r# m% n: d- Y4 M- v, R
  11.     if( (stat = (x)) != ITK_ok)   \# M. z( x2 Y3 c( [. O; N
  12.     {                             \9 d: [* ?5 {: h
  13.     EMH_get_error_string (NULLTAG, stat, &err_string);                 \
    ) s) F* ]/ C8 {! U
  14.     printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string);           \# F6 Q$ K3 R" {) {
  15.     printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \
    6 L6 \7 J- ]% I5 [
  16.     if(err_string) MEM_free(err_string);                                \+ y6 @3 v( d0 C5 k% ~4 ~
  17.     exit (EXIT_FAILURE);                                                   \; v* d! i% R, I) V+ l
  18.     }                                                                    \
    9 f4 S  d% U0 Y
  19. }
    # U4 H- I7 u" f2 k+ _3 D% ]( P
  20. #define EXIT_FAILURE 1
    ! H# x" T: K8 Y
  21.         
    + @* c( ?- U+ g7 `
  22. static void do_it(void)
    8 X0 O  o* G9 S, c) f) z# M
  23. {& n3 f" `9 @) A: f" G0 W
  24.     int$ j9 i! r8 W. q, T" u
  25.         n_uom,2 b4 f( h3 L3 u8 G/ D( m
  26.         ii;
    ( f' s# k5 c+ M$ @2 m1 u
  27.     char& Z7 j6 s* f, C4 W/ T
  28.         *name;! N/ _! @+ f' h  m4 X  o
  29.     tag_t3 h  l" B' C$ O
  30.         *uoms,
    , l# n0 g8 s5 A; q
  31.         new_uom;+ V/ _+ q% Y. e8 e  p4 d2 U4 L$ v$ X# n
  32.     6 Z( B5 f& R8 |. K. S( [  C; {4 U
  33.     printf("Before UOM was created...\n");    9 @+ c0 t) I3 G7 @
  34.     ITK_CALL(UOM_extent(&n_uom, &uoms));/ z3 e7 {0 d5 {5 N
  35.     for (ii = 0; ii < n_uom; ii++)
    ; w+ g; d. A% L9 L: R
  36.     {
    - p  |6 R, x: w
  37.         ITK_CALL(AOM_ask_name(uoms[ii], &name));& R. `; Y( U9 r* o$ x' b
  38.         printf("\t%s\n", name);
    % j1 C" z* {2 E: f% v: G
  39.         if (name) MEM_free(name);
    ( n9 ~& H) q6 J4 `( R3 O
  40.     }# |4 t* ^: \5 Z2 j; ]/ z" G
  41.     if (uoms) MEM_free(uoms);
    * c) q5 O# H- D' |
  42.    
    3 u& W$ q. |: g
  43.     ITK_CALL(UOM_create("inches", "in", &new_uom));
    3 K' ]+ \, h. O+ X+ n
  44.     ITK_CALL(AOM_save(new_uom));; Z: s' y+ a: P9 h8 o1 H2 {# x
  45.    
    ' v0 @. }( E- [' M
  46.     printf("\nAfter UOM was created...\n");   , K0 R; W+ e. Q5 i
  47.     ITK_CALL(UOM_extent(&n_uom, &uoms));" B8 \- q& [6 X7 V$ Y* z, E5 O( R
  48.     for (ii = 0; ii < n_uom; ii++)
    ' |7 k/ X1 O7 K
  49.     {
    * O* X4 ?( `* t, z) o8 C* A
  50.         ITK_CALL(AOM_ask_name(uoms[ii], &name))
    # @+ G+ E5 c- B9 _6 e7 \2 k- ~
  51.         printf("\t%s\n", name);3 y( q4 T* t; ~4 @2 N. @
  52.         if (name) MEM_free(name);
    ) Z( d% ~- t/ S  n1 D
  53.     }# }: ^4 V5 v) d3 X
  54.     if (uoms) MEM_free(uoms);
      V% N$ `/ Z( v, y
  55. }
    6 }. q' |! H- a2 |, O: n

  56. 7 i3 Y2 ~! _9 v* g) O1 i
  57. int ITK_user_main(int argc, char* argv[])$ c0 Z6 \% D+ {+ {, t
  58. {
      f& F1 N& o6 J$ ]
  59.     int2 R$ ]1 w( h+ F
  60.         status = 0; ! c; w4 Y8 K/ B
  61.     char
    / Q' k+ O7 ?! V1 r
  62.         *message;
    $ {6 `1 K7 G, B+ s1 Q
  63.    
    % K& T( S5 q! Y9 L  I# _% B
  64.     ITK_initialize_text_services( 0 );
    ! Y8 M7 q# F5 @  G# H
  65.     status = ITK_auto_login();
    1 a2 c  J: [! I: A9 V; Q
  66.    
    " H- \: ~& _9 I) ^8 ~
  67.     if (  (status != ITK_ok)) printf("iMAN login NOT successful.\n");  j  F8 R( |8 I, \/ U- c
  68.     else
    8 }* ^2 ~, K+ K
  69.     {
      w5 O+ ]: Y& R; c, ~: U
  70.         printf("iMAN login successful.\n");
    ; F2 V" L) u  o- m
  71.         ITK_set_journalling(TRUE);) \/ e, N' L- a' `+ S# ?
  72.         do_it();- S  i. k( l* x, r! p5 l$ @
  73.     }
    0 A4 _8 p$ g/ o5 d  ]& }
  74.     ITK_exit_module(TRUE);+ T0 f9 h4 l# z" d% {- f1 Z7 ~
  75.     return status;6 z! _' Z; y$ h: l7 ~9 A4 v6 ^
  76. }
复制代码
! y0 ~, i/ h4 z9 y! w( U" f* w" Z
/ E, |1 U5 X$ j4 H2 w- l% w

" Y; y+ G: ?  C/ W( ~8 i+ d
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了