PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

PLM之家PLMHome-国产软件践行者

Teamcenter ITK二次开发源码分享:创建测量单位unit of measures

[复制链接]

2014-1-15 19:39:16 5325 0

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

admin 楼主

2014-1-15 19:39:16

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

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

x

: X) `2 J6 g" O( N7 h/ e; G7 ~Teamcenter ITK二次开发源码分享:创建测量单位unit of measures( p- ?8 k5 m( }1 O0 u7 E
1 L3 x: Y6 S5 H! }0 `& Y" o# M
  1. #include <stdlib.h>
    8 s8 M" v1 N1 f% m4 [. X! ?
  2. #include <TC/tc.h>" m; Y6 U8 i' t6 C7 g. b& O- t
  3. #include <sa/tcfile.h>
    * v) U0 O2 N" t
  4. #include <tccore/workspaceobject.h>
    $ E# o8 m( @( c7 o* s
  5. #include <ae/ae.h>
    ; ^+ p" K1 g! S2 X1 t/ t
  6. #include <tccore/item.h>: K, p; c7 G2 {# j+ U  j
  7. & i$ P8 ?4 Z& D
  8. #define ITK_CALL(x) {           \
    ; o8 R; u4 T5 |
  9.     int stat;                     \' y3 W# n4 e2 d, Z  q- C8 Y4 q
  10.     char *err_string;             \- I& Z' @* {9 J) k
  11.     if( (stat = (x)) != ITK_ok)   \
    ' W6 S! M- k/ ~
  12.     {                             \
    0 _2 t8 i" ]; K
  13.     EMH_get_error_string (NULLTAG, stat, &err_string);                 \  G$ S/ \9 B2 ]. i) e2 y
  14.     printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string);           \3 N$ Q- t& \! [4 d
  15.     printf ("FUNCTION: %s\nFILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \
    ! H( I5 P* I; L* a: ~) N) \4 t+ _6 K1 p
  16.     if(err_string) MEM_free(err_string);                                \
    ; q$ A0 A% H: }3 M* e
  17.     exit (EXIT_FAILURE);                                                   \, J, l5 s5 _2 ]/ p7 w: t
  18.     }                                                                    \5 u3 [1 v: C9 y  q' V) g
  19. }& ?( P3 P* O9 r/ j
  20. #define EXIT_FAILURE 1 2 M% P6 @) M& X' }9 z/ Y2 G
  21.         
    + l% r4 P7 A1 p
  22. static void do_it(void)  f# q. m- D: c
  23. {
    2 o  T  ~' G7 y( R0 s  K3 U) `
  24.     int1 N9 s1 G0 {: u2 J; M: x* n
  25.         n_uom,
    9 M( P) y* R  g
  26.         ii;% h) v0 `& f, O2 G
  27.     char
    & @7 E. K: ]( y
  28.         *name;" T# b; L- H( G( D
  29.     tag_t- v0 |/ A9 \. N* b3 K0 H4 e' r
  30.         *uoms,
    ' P- _- r) X: W) r% p% o, k" T1 @
  31.         new_uom;. ]) p5 K* \& ^$ v
  32.     ; D$ x1 r- y; p: J5 h/ }
  33.     printf("Before UOM was created...\n");    " W6 o& t& m" e0 K0 L$ g/ [
  34.     ITK_CALL(UOM_extent(&n_uom, &uoms));
    & J& B; C9 Z$ ^. d
  35.     for (ii = 0; ii < n_uom; ii++)
    ( U4 [  y# X+ [5 d" e# o% _
  36.     {
    : r/ g: I0 f6 ?7 y4 R4 J! q: q0 a
  37.         ITK_CALL(AOM_ask_name(uoms[ii], &name));
    ; |7 y" f( B+ |/ c+ w
  38.         printf("\t%s\n", name);# l: H' c; j+ e4 D4 S
  39.         if (name) MEM_free(name);
    3 D% x4 ~4 z2 Y
  40.     }. F) U, D, H9 e: Y! f$ o
  41.     if (uoms) MEM_free(uoms);+ `3 v# @. y3 E1 m
  42.    
    1 A& W) i# H6 y/ T0 z
  43.     ITK_CALL(UOM_create("inches", "in", &new_uom));
    9 I# i! b2 D5 T8 t7 G0 y3 R
  44.     ITK_CALL(AOM_save(new_uom));
    ! u& B9 x* T" U& j7 x
  45.     ) j7 P3 I6 G) x* T1 _7 H
  46.     printf("\nAfter UOM was created...\n");   / k7 S+ N! F1 w( H0 Z
  47.     ITK_CALL(UOM_extent(&n_uom, &uoms));+ H# q  n! x& s& _- H: Q
  48.     for (ii = 0; ii < n_uom; ii++)/ R" S/ X  q# c& J9 ?5 ^
  49.     {
    ' e; U+ u( x8 u/ P0 R
  50.         ITK_CALL(AOM_ask_name(uoms[ii], &name))
    & N! w, u- z4 z/ U8 y$ u, q" e: E
  51.         printf("\t%s\n", name);  t2 L# r, v$ A: a
  52.         if (name) MEM_free(name);% a# B% E: X8 V* Q8 k7 J+ I
  53.     }4 t+ b$ d7 ^5 X' n1 h" B- d
  54.     if (uoms) MEM_free(uoms);
    : y! ]" X8 [  I9 e1 m' A3 O# ]
  55. }
    ) h  d0 y6 u. r9 S8 u0 o
  56. ' Z, Q# [9 W- @. k# `
  57. int ITK_user_main(int argc, char* argv[])
    / o6 C6 J: y5 B% a
  58. {. b) }6 y' Q7 Z5 w5 B
  59.     int
    3 L* v: B  w2 j6 J& u
  60.         status = 0;
    ' u0 l; [" z# t5 W- i" P$ v* F
  61.     char+ c% I; L+ ], U, ?
  62.         *message;/ _+ h6 s6 N* @
  63.     8 q% E9 [* g  L6 D8 N3 Y5 D8 Y
  64.     ITK_initialize_text_services( 0 );
    " q- t5 F2 f) p6 W4 D* k
  65.     status = ITK_auto_login();
    " A3 q1 h0 g- Y4 t, D' x
  66.    ' L( m: x- |& O
  67.     if (  (status != ITK_ok)) printf("iMAN login NOT successful.\n");( b- N  }; N9 _) U; z  @$ f) ~
  68.     else
    ) w8 W! J4 ?: N  C4 m$ ~- ]4 u
  69.     {/ [" n! c3 u3 ~9 F/ L: m/ ]( O: Y
  70.         printf("iMAN login successful.\n");
    ; K, N0 z1 u! Y  O' |
  71.         ITK_set_journalling(TRUE);: R! c9 R+ ^% K
  72.         do_it();
    $ ?6 L; M% |: p% |" u/ L1 L( O6 O8 C
  73.     }
    ) M4 H& Z. l( l4 b0 R* _! J
  74.     ITK_exit_module(TRUE);
    8 z( ~; Z' _6 |: L/ u! S
  75.     return status;3 I+ U& w" Y+ I6 b( ?9 N
  76. }
复制代码

# Q- b" k) g9 |% k8 x& r5 X3 F# U
. j( p; z! R0 E$ f1 V% Q- W! t# g  X) q1 _) _
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了