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

teamcenter ITK开发的基本知识点

[复制链接]

2013-12-3 20:59:25 4927 1

admin 发表于 2013-12-3 20:54:57 |阅读模式

admin 楼主

2013-12-3 20:54:57

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

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

x
Teamcenter  ITK开发的基本知识点* @* s3 R! C$ o, q, v
6 q5 n5 y2 A! ^0 }& a( H
ITK 函数格式4 e( n" ~( C1 x
        int FunctionName (type vari-name[dim] /* (I/O/OF) */ );
1 u$ Y. y& o2 `3 u- P        OF使用void MEM_free(void *pointer)释放内存7 o  t6 R( U9 d" a
% u' N, O/ X* b4 S( l

- O: d: X9 }2 ^1 }* v, eInclude Files+ B- b9 O; u* u% ^# x% I- c
        #include <TC/tc.h>必须# M1 `  s  `" ^9 |/ M( R- C7 M
# L/ n! {/ r; _8 X

) }- f. m) a0 y7 x) Htag_t data type
, T- G9 K2 u& k8 k4 R所有在PDM的对象都有唯一的识别码,当对象加载到内存中时,就是以dynamic tag 来识别,tag_t 是integer4 I( r# Z7 i1 E# Q; [* z

& @" `( n; o3 J+ O

9 `3 o+ L2 B7 y+ o. bError Message Handler (EMH)9 }" A9 _2 S* [0 b! R* x8 E% a( B& o
当有错误发生时,大部分ITK functions 都会传会一个整数值,此整数值一个错误信息对应。
7 |: s+ U5 H5 z
3 W2 h  }& P( k$ I' x) ~
8 u; b! g5 C7 I& Z- |& S) {  |
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

admin 发表于 2013-12-3 20:59:25

admin 沙发

2013-12-3 20:59:25

  @9 E) b! a5 U; ^/ p. ]
8 u. w& w" ~2 ]" e5 B
OF类型的变量一定要通过MEM_free()进行释放
- R; \; }0 Z" O7 R) Qvoid MEM_free(void *pointer)
! v. z3 i" l( A7 |7 N8 ^% n2 A
& S8 n" {* A# Q) B0 X" n5 _5 c. S0 N
% f8 J6 [+ w4 W% R6 n2 g
MEM_alloc()
2 K+ o5 Z' \% C* m# P- bMEM_crealloc()
# A  D$ B9 e5 P  @3 r2 D# l: R  TMEM_free(), ?( x6 {  B2 i' y
MEM_realloc()* g9 c+ D+ Z: \
使用以上内存管理函数,也可以使用C内存管理函数
2 b" r) W0 B! C! I' `: sInclude file: <mem.h>
) A6 k) K/ S6 Z. `  |4 C4 _8 m8 D/ u) B8 o& f5 N$ D+ e
$ b+ z; \+ w6 x# a  [! O# o( {$ s
函数返回值不为ITK_ok,则有错误发生,必须进行处理1 J/ t% M; W! h. n+ j; a2 S
EMH_ask_error_text() 和 EMH_ask_errors()通常用来获得错误信息(参考%IMAN_ROOT%\include\emh.h)
5 {7 [  h, [; J8 B6 a可以自定义错误信息编号,可用的自定义错误代号范围919000~919999。
, p: P: \, M5 D/ Z5 Q  U7 J7 h" [, h, P$ R+ R" |

! c4 v: j5 I5 r' \
# [: f  s0 u2 O  N
+ n- P5 v* M, |/ S- }
  1. status = AOM_save( );5 M; C! a1 R/ ?% I1 ?1 u* V
  2. if (status != ITK_ok )
    ' r/ s- I. M, ^7 I, v" ^) `
  3. {1 ]# F9 T2 [6 N3 A  _6 W
  4. EMH_ask_error_text(status, &message);' Y) \; X' X- u5 `, W
  5. printf("Error with AOM_save: %s\n",  message);1 j( p+ t; y- d$ i
  6. MEM_free(message);
    + H( h% G5 p$ [6 _7 K6 E: Z
  7. return status;
      D9 \" q' J( \# b9 i+ F4 n
  8. }
    , J, g# {: m( U& @( Y, E/ a
复制代码
  1. status = AOM_save( fl_tag );/ c/ J& o& v. [; K2 {9 a
  2. if (status != ITK_ok )
    # _: h5 `# X2 \8 O4 \- W% V
  3. {
    # E1 [# j; X, V7 Z0 K
  4. EMH_ask_errors(&n_errors, &severities, &statuses, &messages);+ r2 B3 q7 t' u6 J3 \# w9 P
  5. for (i = 0; i < n_errors; i++)3 O: Q! F. f) c2 ?$ Y
  6. {
    " ~# A, m; m3 k1 M: X' B5 Y
  7. printf( " %6d: %s\n", statuses[i], messages[i] );5 L" A4 i$ f1 t9 {$ h; f- C
  8. }- v% l# V! ~2 b8 J
  9. return status;- d5 H" Q3 I) _& l7 a, m4 E
  10. }+ L4 @/ t/ |: A6 P" L9 j5 k1 |3 F  r
复制代码
" e) _5 M6 ?. h( z
% y6 v1 F$ c% j' J0 s! s7 U

  ^2 m2 z' t% m& m
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了