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

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

admin 楼主

2014-1-15 19:39:16

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

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

x
2 ?* @' w' O' q5 G' D% i
Teamcenter ITK二次开发源码分享:创建测量单位unit of measures
+ o! ^3 m* f! O3 N* D. k3 j
* P" Z* ^+ M* B$ x
  1. #include <stdlib.h>
    , q4 C- h8 ?# e( j% \
  2. #include <TC/tc.h>- _3 R# }3 L7 x: m) [
  3. #include <sa/tcfile.h>
    0 k/ E7 K2 @$ p3 @
  4. #include <tccore/workspaceobject.h>8 h! k% z) U' b: ?9 U" h
  5. #include <ae/ae.h>6 J0 B  l1 P$ W( ~
  6. #include <tccore/item.h>
      Z" I* ?5 E$ s; c

  7. 4 U5 g1 O. q! {! Z7 H
  8. #define ITK_CALL(x) {           \
    / G( i! C  l9 k+ m( C
  9.     int stat;                     \# K% x# I  Q. j3 J* X8 i9 A  v% I4 B, I
  10.     char *err_string;             \/ q1 `% B9 B+ V1 \8 f' j; m+ Q
  11.     if( (stat = (x)) != ITK_ok)   \, O1 h9 b8 Y+ J
  12.     {                             \
    ; f( {. Z6 m- h: b& }
  13.     EMH_get_error_string (NULLTAG, stat, &err_string);                 \. X2 N' u. O' @. {
  14.     printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string);           \
    8 X! ?9 u& R2 J
  15.     printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \' C; L' R: y( J" Z  b1 v- ^
  16.     if(err_string) MEM_free(err_string);                                \) P5 m4 Q3 {0 p8 C& v% w- X2 O
  17.     exit (EXIT_FAILURE);                                                   \
    $ W  r/ d5 t5 ]) }8 N; D+ v% k
  18.     }                                                                    \( @* ^/ `% _! W) g4 s
  19. }
    & S' K* _0 k- z* m) h  [
  20. #define EXIT_FAILURE 1 2 H/ m. Q: @0 i2 T3 K9 I% x  {
  21.         6 H! C/ c: B" s! R
  22. static void do_it(void)+ u1 s) B/ `: ~/ B- j$ M& I5 r
  23. {; w0 j- }- A' u* J: v' f4 [
  24.     int3 i' n9 u+ ?. n: s, A) o
  25.         n_uom,
    3 B, _0 N/ A' c: l+ D1 g
  26.         ii;. P. G" o7 \3 W9 ?5 {. M
  27.     char
    % z( u* }! ?6 r( o, r- w% T4 v7 j
  28.         *name;" @, ^2 \& A, k( i/ u/ p* t
  29.     tag_t
    3 h& z0 `3 H" u$ R8 N
  30.         *uoms," I1 G# U: Z+ e4 R, d8 \, P
  31.         new_uom;+ L* ?- h4 Q. Q; C- @
  32.     - x! _& z$ z/ U! q
  33.     printf("Before UOM was created...\n");   
    * F& S- b8 w+ E; ]9 g+ _1 C
  34.     ITK_CALL(UOM_extent(&n_uom, &uoms));
    ; i" q; |$ R- H
  35.     for (ii = 0; ii < n_uom; ii++)1 o& u" f) I% j. `5 H7 l5 @& r
  36.     {
      k, l; e, b" [8 _/ v
  37.         ITK_CALL(AOM_ask_name(uoms[ii], &name));3 B8 W: w: j; ?0 ?/ K3 F; E8 O0 A
  38.         printf("\t%s\n", name);
    # T/ E( i( R+ k
  39.         if (name) MEM_free(name);
    * Y, E+ H( C! a) L; t3 l! s9 H9 E
  40.     }( d6 H8 K: U4 M+ n; Z0 G! g( x
  41.     if (uoms) MEM_free(uoms);
    2 I2 b3 u3 l* S4 u3 {) d3 v
  42.    
    / {* W. l4 Z' N* ?' D8 t
  43.     ITK_CALL(UOM_create("inches", "in", &new_uom));
    * p7 K, C6 F# \* L/ {0 B
  44.     ITK_CALL(AOM_save(new_uom));+ A6 E* f( U9 [  u# m6 X* E+ F/ k3 s
  45.    
    ; s* Y, L+ ~# G
  46.     printf("\nAfter UOM was created...\n");   1 L6 b8 d* t4 w
  47.     ITK_CALL(UOM_extent(&n_uom, &uoms));
    6 h( f$ g* [$ \: N4 R, c8 f6 F
  48.     for (ii = 0; ii < n_uom; ii++)
    # p% h# i' `8 S6 V( k% ?2 b% b
  49.     {& m& b4 N6 ?5 n! m0 n' h/ V1 ?
  50.         ITK_CALL(AOM_ask_name(uoms[ii], &name))& a! \- x2 u* c
  51.         printf("\t%s\n", name);# I  o% O' R1 D- G2 F$ e( c
  52.         if (name) MEM_free(name);. W3 I$ b6 q* [  ^
  53.     }
    1 e% Y7 S$ W4 q* I: h2 e
  54.     if (uoms) MEM_free(uoms);
    * {! \4 S, ~& {4 o7 K: S" N
  55. }( E6 P0 h; v9 k

  56. # T/ d+ U; a2 D: x, T- Z
  57. int ITK_user_main(int argc, char* argv[])$ M2 b9 k! O. \
  58. {! F3 g" |8 R" f
  59.     int6 |  ^6 W1 y5 K, W9 q% \6 Z
  60.         status = 0;
    + _9 d0 I1 }: t- n
  61.     char7 s: \" w' b8 i  u1 ^
  62.         *message;2 x& x" J  ?$ a4 }: U( R) @
  63.     / a& _+ _9 x5 I4 X+ S9 U6 @* L
  64.     ITK_initialize_text_services( 0 );
    * I" }" f+ A8 F$ X/ D
  65.     status = ITK_auto_login();
    + Y0 P( Y6 M& d
  66.    
      a% o3 X! Z5 p. b4 Q' Z( T
  67.     if (  (status != ITK_ok)) printf("iMAN login NOT successful.\n");1 s3 g1 h; e8 ?5 r" B0 r3 P
  68.     else3 I* u' M* k  {0 C
  69.     {: K  I1 u% ~0 j' I+ ~
  70.         printf("iMAN login successful.\n");+ U/ O/ w* Z1 `# h/ m& y
  71.         ITK_set_journalling(TRUE);
      M. K, e- z- Z2 ^: C
  72.         do_it();( I  J$ v! M$ }8 a; u, ]# J5 m2 S
  73.     }+ ~; w9 a" L0 W5 O* I
  74.     ITK_exit_module(TRUE);$ o. Y, b5 ^& N7 ~4 x% @
  75.     return status;
    ( p6 t& S' T2 u, M
  76. }
复制代码
2 a! Q9 a4 d5 j- v
+ }  S1 h/ r  Z- c2 h

7 i" G4 U0 [) x7 b  {* w- L
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了