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

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

admin 楼主

2014-1-15 19:39:16

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

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

x
* U2 d' v. c  p) ?& [. _- q
Teamcenter ITK二次开发源码分享:创建测量单位unit of measures1 {! d3 A2 B" a  z/ t# U* n

0 r7 P& Y* T& f
  1. #include <stdlib.h># q( Y" ~9 G. Y+ G4 k* l3 q
  2. #include <TC/tc.h>5 k# T; K$ d. T+ G6 H
  3. #include <sa/tcfile.h>
    * G# h% r4 E* }9 {. `7 N7 l
  4. #include <tccore/workspaceobject.h>
    ! J7 d+ k+ W8 e& a! n0 a0 P, l
  5. #include <ae/ae.h>8 P8 j" K4 H- ?  {
  6. #include <tccore/item.h>
    9 u. j% L" k- o( ^( t4 D+ U

  7. # e% q) h% i* Y8 @8 e2 ~
  8. #define ITK_CALL(x) {           \
    5 J! U. u* A  |, u  B! v
  9.     int stat;                     \
    5 W1 I% ^8 v6 o1 x: ]* f
  10.     char *err_string;             \
    ; K# b& [8 Q4 p$ K* Q! R
  11.     if( (stat = (x)) != ITK_ok)   \
    8 P$ W8 j! h& }& Z3 M! k
  12.     {                             \
    - @4 b* F1 H/ G/ c" ^
  13.     EMH_get_error_string (NULLTAG, stat, &err_string);                 \3 w% B9 p+ ~& K0 U' D( I) r
  14.     printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string);           \
    : ?& ?* c+ Y' L  ^: o9 R
  15.     printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \
    $ Y7 L4 b& b8 A) o$ N7 p; {# A
  16.     if(err_string) MEM_free(err_string);                                \4 ^) w) u* K. O1 `5 d0 r
  17.     exit (EXIT_FAILURE);                                                   \
    & m, \/ ~- D. z* z/ z1 p
  18.     }                                                                    \
    / v6 w% \: S4 N' s& b
  19. }
    / c( n+ k/ M0 b( W7 A% V
  20. #define EXIT_FAILURE 1 / r1 l, X9 T; |; ^2 x
  21.         
    * f' ?4 d% o* p/ H: y
  22. static void do_it(void); Z" r# i& J* R! I; l6 c- F9 L
  23. {
    4 h/ S" b1 X! K5 ^
  24.     int3 ~( u9 Y% ^1 o! i6 {9 q" O
  25.         n_uom,
    ) E( ?  x4 }" n5 Y/ t
  26.         ii;0 q, f% u( y" ~3 j( H* e: g
  27.     char/ L8 X( g' f0 h4 D, i  Q  z
  28.         *name;
    ! n9 g3 Y3 F7 C. v6 r, m+ E9 M
  29.     tag_t0 S9 A6 ~* H5 y( x% L! }- L' @
  30.         *uoms,! y3 Z% T: l1 b# @
  31.         new_uom;
    - G$ a# N; T8 ?
  32.    
    8 }- q- p$ P% f3 g! B
  33.     printf("Before UOM was created...\n");   
    & B, B. V( Q5 H$ e
  34.     ITK_CALL(UOM_extent(&n_uom, &uoms));
    4 E  k( P& _9 \% I& t
  35.     for (ii = 0; ii < n_uom; ii++)8 c" q, D) u: i! z4 h
  36.     {% k( D7 H, ^: [0 F$ s) }4 n- F3 A3 J) e
  37.         ITK_CALL(AOM_ask_name(uoms[ii], &name));
    5 q* r% }4 s; @( P# b
  38.         printf("\t%s\n", name);, p0 O  P2 ?+ A% Y) W
  39.         if (name) MEM_free(name);
    ) I, R. ~7 P: F" v, r- _
  40.     }
    2 e. I4 D3 V. R# w1 `# A
  41.     if (uoms) MEM_free(uoms);
    3 S! a1 d0 @4 r9 J" \
  42.     1 k+ Y; Y7 _* _. O* p& w
  43.     ITK_CALL(UOM_create("inches", "in", &new_uom));
    5 Q  ~. E# o8 ~1 B
  44.     ITK_CALL(AOM_save(new_uom));
    ; y; o+ s, q2 _9 S
  45.     $ Y  q8 `- Z" I8 l6 E) @
  46.     printf("\nAfter UOM was created...\n");   
    3 @; H4 d% Q' j+ `. n7 n
  47.     ITK_CALL(UOM_extent(&n_uom, &uoms));
    ' y: o6 I5 P' `
  48.     for (ii = 0; ii < n_uom; ii++)3 Q& q1 l# F0 g/ F) Q$ {3 n
  49.     {
    * Y2 y0 p! [+ u& O1 w( K
  50.         ITK_CALL(AOM_ask_name(uoms[ii], &name))
    3 T' Q. F9 u5 E4 N* j5 Y
  51.         printf("\t%s\n", name);
      }3 T1 y$ W/ e$ [$ g3 ?4 d
  52.         if (name) MEM_free(name);; G7 \2 i6 F+ I) H9 ~% m
  53.     }5 Z% C% I) F" {* F6 N
  54.     if (uoms) MEM_free(uoms);
      F2 r7 K7 H. A8 d: |' B
  55. }2 c3 i+ ^8 y4 V7 E0 z

  56. 4 d0 p( S% F7 e2 F, Q% A
  57. int ITK_user_main(int argc, char* argv[])
    / `# d/ E5 g. N' i, `) v
  58. {
    - ^. w7 s) s) G3 W. w
  59.     int$ [' p+ V! d6 W# s2 Z
  60.         status = 0;
    7 G8 z/ z# ~7 l7 g$ x6 y
  61.     char( G4 u# m% T" e% L; \
  62.         *message;" M2 v- a; T( @# Y3 N2 ?! i$ P
  63.     - u- Y; j1 U# S" S% w/ f" a* z
  64.     ITK_initialize_text_services( 0 );
    5 V* Z4 p* ]4 j+ V8 i
  65.     status = ITK_auto_login();  K$ |. y* v% t, \2 R- U
  66.    * i2 W  U+ g  y! [# u! Y0 L2 R3 D
  67.     if (  (status != ITK_ok)) printf("iMAN login NOT successful.\n");
    ) W' y3 m. N4 N! M' A
  68.     else0 {  K) L, i+ I" G
  69.     {0 @& W  `, k: F! v& R
  70.         printf("iMAN login successful.\n");
    9 A# v' a: A; C. S; D
  71.         ITK_set_journalling(TRUE);; ^$ }* H; d1 F/ j
  72.         do_it();
    9 ?. p6 \: h4 X* Q
  73.     }9 N+ ~. N" l, p2 F4 V7 f
  74.     ITK_exit_module(TRUE);
    0 \& L* E6 \6 o+ ^% U3 l
  75.     return status;
    ( V0 ^' |( g* q
  76. }
复制代码

3 @* G6 s$ }. u4 ]. \8 R1 S
, m4 k% l: y; v* e( S3 H5 J. d& ~2 u0 [8 E6 U3 _4 X
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了