PLM之家PLMHome-工业软件与AI结合践行者

teamcenter ITK开发的基本知识点

[复制链接]

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

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

admin 楼主

2013-12-3 20:54:57

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

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

x
Teamcenter  ITK开发的基本知识点
( b. `9 c$ R) M! B. s$ [: o) R. T
ITK 函数格式$ S# Y+ y  p' R; n* c! p
        int FunctionName (type vari-name[dim] /* (I/O/OF) */ );  t" K0 [! Y! _$ D6 ~
        OF使用void MEM_free(void *pointer)释放内存
9 w  i# j$ j1 k" L/ q. I3 k7 j  |6 {1 Y
& ?; e: e$ V1 V2 E6 N# c5 o1 d4 m2 {
Include Files
/ N  c9 I. ]* Z; }1 C: O        #include <TC/tc.h>必须/ t: t, o3 c. d6 i; z, o& ~) v

( B% W# X& u) v
) M7 r" M# w; X8 @0 N- h
tag_t data type
( D3 ^  R6 |) P3 Q9 |4 L所有在PDM的对象都有唯一的识别码,当对象加载到内存中时,就是以dynamic tag 来识别,tag_t 是integer
( R# m$ @' U& P; w" p* K3 G' [) V9 [5 t& J

4 g' C  ~6 a& f* R5 W; G( B  mError Message Handler (EMH)  q5 a" C3 u- x+ N2 e
当有错误发生时,大部分ITK functions 都会传会一个整数值,此整数值一个错误信息对应。
0 D2 D- ]8 E, v/ X) _& C0 }! E& u, G) _* B+ j
% g4 l; t4 N3 u3 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


( A/ v$ x; R$ G; H- k9 f% [
1 V) X; W7 m* K4 A$ H$ ~! G
OF类型的变量一定要通过MEM_free()进行释放
' K: i6 C. H8 Cvoid MEM_free(void *pointer)
  j8 V# t0 x+ T. X+ B/ H
. }6 d1 N6 e+ m3 {, Q4 X% `% v

/ t) x) d, X* ?" T& l5 l, C4 _* C) jMEM_alloc()3 |( r3 P% v( d( ~1 a1 t
MEM_crealloc()/ |3 ]+ I  @# o8 F, c: ]0 ]
MEM_free()+ V  d# m2 N. T4 s; |4 {6 x
MEM_realloc()4 j# k( t# Y" W8 B0 m6 O4 N7 W* K: m
使用以上内存管理函数,也可以使用C内存管理函数
  E) l, I3 }- O9 vInclude file: <mem.h>2 T# c6 E0 N1 I

4 s6 F# c$ X, l% x' `& R
9 k4 R+ }" Z9 Q  v
函数返回值不为ITK_ok,则有错误发生,必须进行处理, d3 ^; P# l( b
EMH_ask_error_text() 和 EMH_ask_errors()通常用来获得错误信息(参考%IMAN_ROOT%\include\emh.h)  h* x3 j. [. h3 S8 S4 s
可以自定义错误信息编号,可用的自定义错误代号范围919000~919999。
- @$ j% G" C( ~9 O
) D' [# B" B" _7 a& }: k: Y
$ l/ W: Y0 i8 N# ]: h1 X9 W
! J! _" w5 b# R/ v6 R. J$ u
& M% z% r6 {0 @0 ^- {8 f$ q
  1. status = AOM_save( );5 h+ L" k) n2 |$ W& {
  2. if (status != ITK_ok )
    % X( o2 Z+ W% u+ u4 r; f6 ]
  3. {% B) B9 F; D" X) G9 M. h0 a
  4. EMH_ask_error_text(status, &message);
    - _6 B- f+ Q1 n
  5. printf("Error with AOM_save: %s\n",  message);9 Q# u5 i# [8 v' v% J, n0 l& o
  6. MEM_free(message);
    7 L. L- U. j* A/ z3 o- O9 K9 F
  7. return status;
    6 n5 W! t8 w; g+ k. }
  8. }
    * G8 |  _4 ~. }
复制代码
  1. status = AOM_save( fl_tag );, z+ {( M, M% u5 _! y
  2. if (status != ITK_ok )
    4 b/ o* u/ G, a! P* O; ^- e
  3. {* ~  a/ Q# L: Q4 M- |) Z; F0 H
  4. EMH_ask_errors(&n_errors, &severities, &statuses, &messages);& ^6 x$ G; \# \, u( D
  5. for (i = 0; i < n_errors; i++): A- l4 h( K+ X) f2 d5 z7 q! t
  6. {
    # d5 B( c* S4 Y& ^4 f* t
  7. printf( " %6d: %s\n", statuses[i], messages[i] );  i" E5 \6 @6 J0 {. z
  8. }# j2 b& z6 A3 a$ ^% ^% L; n" `
  9. return status;4 [5 ?- W" f( a$ I( n
  10. }, T3 c; W9 j. a  F4 A& V  Y
复制代码
1 O2 z6 Z  U: e- s
2 M+ [; f- Z4 d7 y

- P# I' O: L8 [5 W1 C
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了