PLM之家PLMHome-工业软件践行者

teamcenter ITK开发的基本知识点

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82172
QQ
发表于 2013-12-3 20:54:57 | 显示全部楼层 |阅读模式

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

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

x
Teamcenter  ITK开发的基本知识点) u: y8 p) v, K

0 q. [* m- w9 R$ ^8 ^* }ITK 函数格式
! x1 @: ], b7 a' B) S1 P1 g        int FunctionName (type vari-name[dim] /* (I/O/OF) */ );
$ E: c, A4 F/ J5 A1 }3 r        OF使用void MEM_free(void *pointer)释放内存' m/ a3 C  J+ A' m

6 q/ A8 c3 d+ Z
. E( L' T+ R" f% k$ I: }+ N' Q; e
Include Files
7 \0 T" s7 e6 u1 g: C0 B+ V        #include <TC/tc.h>必须) @' p& r9 ?. Z: U

+ y5 J% x# B9 z4 y

! Z- R& M% ~1 z2 X9 atag_t data type+ p; ?4 B: p5 D- z0 a
所有在PDM的对象都有唯一的识别码,当对象加载到内存中时,就是以dynamic tag 来识别,tag_t 是integer7 e% K) S; Q( i* m' d1 n
' Q0 c& _# l! B8 F9 `* J' B

) J# f1 F" T/ a2 ~Error Message Handler (EMH)9 s' [! {# M: D2 X! k7 ~
当有错误发生时,大部分ITK functions 都会传会一个整数值,此整数值一个错误信息对应。2 D% i8 V+ v5 S, n, v

* s* e8 f+ }. c) ^) S# p- L- H8 g6 x* f* Q2 y" g$ p# B8 ^! `
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82172
QQ
 楼主| 发表于 2013-12-3 20:59:25 | 显示全部楼层
7 v8 b" \5 \* v: K$ u: [0 H. }5 y- m

9 }$ y2 C- \  d! O: |. POF类型的变量一定要通过MEM_free()进行释放8 e/ _) x9 }2 f: U8 j
void MEM_free(void *pointer)2 e  A" |0 `6 k6 u8 C
7 B& X* z$ J+ c) z# d1 j

' H" }3 J* ~4 j5 [: G% e2 ]; PMEM_alloc()* {9 }; J8 P+ X4 @0 O5 h. A2 a" i7 j
MEM_crealloc()
2 l1 i6 L% M6 Y" p- B* {MEM_free()" D2 @" L) t# }* B& _; j, z' d4 R
MEM_realloc()
; L( H) _3 f6 f( q& r5 S使用以上内存管理函数,也可以使用C内存管理函数
2 g0 ]! w# W6 G. v, }& G; iInclude file: <mem.h>4 M# t; R$ G, |9 r8 H/ o' G. C

0 V3 @+ d1 P8 ]& S; m6 }2 V- v

' s" A% D, l. X2 N& o' ?+ P& |6 K函数返回值不为ITK_ok,则有错误发生,必须进行处理) L+ v& i: o; ~. l
EMH_ask_error_text() 和 EMH_ask_errors()通常用来获得错误信息(参考%IMAN_ROOT%\include\emh.h)  V6 A. j- f9 e' R7 ?# v
可以自定义错误信息编号,可用的自定义错误代号范围919000~919999。# O& C% a" R. u5 Y0 d: G

+ i& p" Y8 T) W  m: _  P2 W; k1 H
5 S. E* _1 d% k: q# o' S4 P% n
% B' }  |9 T- D8 D

4 M7 p/ A0 J( l
  1. status = AOM_save( );7 c& B  b5 K" t3 X
  2. if (status != ITK_ok )5 a' h4 v3 M* M/ s
  3. {& @. R% \: W6 P6 c6 D' V0 \3 t5 M8 Q
  4. EMH_ask_error_text(status, &message);. _1 ]7 I  M7 U" p0 c! ~
  5. printf("Error with AOM_save: %s\n",  message);
    * d" b0 s1 o" q- C: U8 B
  6. MEM_free(message);: \9 E' z1 v1 F$ b; p+ X! D! ~
  7. return status;
    5 o: `( c' W! @- _
  8. }! L) U; n- F* T4 ?
复制代码
  1. status = AOM_save( fl_tag );
    * ]) _8 n- B! _: U
  2. if (status != ITK_ok )# ~: l9 O! c6 w+ b, T+ J  [
  3. {
    6 t  P9 G! \8 _, L$ v
  4. EMH_ask_errors(&n_errors, &severities, &statuses, &messages);
    5 Y' U6 V* s8 Q* Y% r) s
  5. for (i = 0; i < n_errors; i++)( N  n  n& U" R* ?# G7 w8 g3 i1 `
  6. {
    ; L" u' `4 F" e9 d0 K, g! D
  7. printf( " %6d: %s\n", statuses[i], messages[i] );
    & ]6 _- s# o$ X- j$ ]
  8. }* \8 @  r) z, T( A/ u5 T
  9. return status;
    8 j0 ^2 F9 d# ^- J8 J
  10. }4 V% t: x* r- \
复制代码
  b% Q! b% F" j
+ i8 [& A& ~8 J3 t- n

/ O$ S! k7 N+ h6 O  N
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了