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

teamcenter ITK开发的基本知识点

[复制链接]

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

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

admin 楼主

2013-12-3 20:54:57

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

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

x
Teamcenter  ITK开发的基本知识点
  n  S5 _3 U) [# @' ^
# P* _" P6 h( R8 [ITK 函数格式2 s) R( C* }* u( f2 @* B2 G! P" J
        int FunctionName (type vari-name[dim] /* (I/O/OF) */ );' j+ P* w; `" w/ Z5 X$ Z" X
        OF使用void MEM_free(void *pointer)释放内存1 i1 ?5 J" M8 E6 A

3 [) u$ `( A% C( |
/ b# u8 f6 y  {8 O& @  P4 b
Include Files
8 u. w5 s8 d& R0 T- w/ }' x        #include <TC/tc.h>必须
* j9 t, o. L/ `, O5 s
2 y- W* d; o' L) ]% C" `6 c. s
* m4 Y3 g* v8 k! D$ s
tag_t data type( E/ [; ~2 g9 |, A9 g6 t: V; z
所有在PDM的对象都有唯一的识别码,当对象加载到内存中时,就是以dynamic tag 来识别,tag_t 是integer
& V; D. l- h! b9 @5 X0 v: S  D6 R: C0 k
, p1 `$ x! I3 B( L4 |
Error Message Handler (EMH)
6 f' z! O/ l4 \/ k- n7 C! \9 P. i0 V当有错误发生时,大部分ITK functions 都会传会一个整数值,此整数值一个错误信息对应。! D7 @' H, n; @! i

+ W8 |# J0 D3 j' Q- z- o3 s* m! @# N7 b% s% G% s3 \" u2 |
上海点团信息科技有限公司,承接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


/ ]* G. N* M* _
3 E; F8 m2 s  ?  S2 ?2 Z( N7 y8 @: n3 r
OF类型的变量一定要通过MEM_free()进行释放  }' |4 d8 L$ ~$ x% J
void MEM_free(void *pointer)
5 E7 H) V, W% z! M( I# {
: w4 T: B5 `6 R

9 _1 _7 `4 _# l% b( SMEM_alloc()
  I: j5 k: S2 O/ K7 YMEM_crealloc()
6 U6 v% u) g- e! zMEM_free()
; n4 `( `6 g3 P# Y- a% s% [) ?MEM_realloc()
- ^1 a% Z( F/ f+ ~7 e使用以上内存管理函数,也可以使用C内存管理函数3 q! C, S/ G- c- D/ e6 e
Include file: <mem.h>
4 a. q4 \% _% Y* @1 D' K1 k1 F

  w; q4 A1 v  U+ A  X: L8 ?+ z' }函数返回值不为ITK_ok,则有错误发生,必须进行处理& d$ [, \% m, ]2 d' \2 y( O
EMH_ask_error_text() 和 EMH_ask_errors()通常用来获得错误信息(参考%IMAN_ROOT%\include\emh.h)
% x0 _7 Q9 n' ~$ z可以自定义错误信息编号,可用的自定义错误代号范围919000~919999。
: a0 y( B2 }; O$ C+ Z& z. W" I1 V9 B) r: a0 \0 v
5 E. j8 K* i0 H6 d4 V! f% O8 V
& c4 U! n# ]2 J7 e

* r& `$ Y- H5 Z2 z0 A
  1. status = AOM_save( );
    , _5 I  Q- C8 k% s2 f
  2. if (status != ITK_ok ): i5 p7 P# s+ d4 y9 N, J9 q
  3. {; A) k* k, ^- c: q- x
  4. EMH_ask_error_text(status, &message);
    ) {& V+ f) P6 C+ U9 N+ l: x( X
  5. printf("Error with AOM_save: %s\n",  message);
    " H! m  n4 e3 G1 t6 H& |$ k4 b6 F
  6. MEM_free(message);$ r( I9 z4 J& w4 d! ^% R) g% a
  7. return status;
    / l: I0 `% B6 |) w- ?- @) n; k
  8. }1 B# j7 P# b- \; b* y$ S% F
复制代码
  1. status = AOM_save( fl_tag );
    ) F  s9 H' _2 v" a+ V) b
  2. if (status != ITK_ok )' z0 M; G5 x: t) q
  3. {/ g4 L/ f; K, \% Z8 u' b
  4. EMH_ask_errors(&n_errors, &severities, &statuses, &messages);8 o* @0 ]! a, \- S  r2 z
  5. for (i = 0; i < n_errors; i++)
    , {" D/ H) b% ~) r- I
  6. {* S$ Z; b2 }" B
  7. printf( " %6d: %s\n", statuses[i], messages[i] );
    0 E" H+ H; y. h" L  D
  8. }) u6 K  `9 ^6 w- a. E
  9. return status;
    , H5 ?' }' ]0 ^
  10. }
    . J7 L0 l2 l6 `  N/ e" i! t, ]
复制代码

3 s' a8 r5 Y2 p3 s+ \  z' p
- \+ e& ~* O8 W- s  C# ^

8 w$ d7 }. v% _( b8 u: I, I# O
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了