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

teamcenter ITK开发的基本知识点

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
Teamcenter  ITK开发的基本知识点: R( E: Y$ |; ]& L
! A0 r5 R" c. m2 W' D  P6 u6 E
ITK 函数格式
: S0 V) I% G0 w! x$ E6 Y        int FunctionName (type vari-name[dim] /* (I/O/OF) */ );
. S  o- ?$ G1 y        OF使用void MEM_free(void *pointer)释放内存3 l% T5 n* t2 S$ |6 f, ?9 |

* u( K& C; w- I

9 C- f9 i7 Q& x. J) e) ~Include Files9 n5 `  ]6 `) a+ N3 I
        #include <TC/tc.h>必须. A/ P7 Q" ^* X. a7 T3 n
7 |' @4 x8 S0 c) H2 w

# h) K/ J! R- l; V- k& {+ r9 @tag_t data type+ Z. |) d+ V- A6 b* J: D
所有在PDM的对象都有唯一的识别码,当对象加载到内存中时,就是以dynamic tag 来识别,tag_t 是integer' [1 `% Z" y6 c

, r# p6 m' x& c* c

" ^1 T( b! I& R& f2 vError Message Handler (EMH)
/ D+ A- z8 V. ~当有错误发生时,大部分ITK functions 都会传会一个整数值,此整数值一个错误信息对应。. p( Y5 Y1 m* a* \2 @$ m4 X, [9 n
: y" _& O8 D5 F2 q" `) D
$ q8 Z1 a+ z5 a5 x
上海点团信息科技有限公司,承接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 | 显示全部楼层
* F4 W5 {0 e- p1 y1 a; H
/ C1 f$ D8 `7 N; V6 K1 ~
OF类型的变量一定要通过MEM_free()进行释放, b& X6 U9 r. E" g) ^- u
void MEM_free(void *pointer)
7 k/ ~( k* d+ x: s8 e* v
0 G9 a* n/ I; U( u
, m* y. T8 i% J. Z
MEM_alloc()1 u( |& d% b" ^& ^; l- }
MEM_crealloc()
1 z& t( c  r# d- s# s8 SMEM_free()
6 n2 a& L) Q& h* bMEM_realloc()
0 v! u+ h+ o; E6 y使用以上内存管理函数,也可以使用C内存管理函数. g7 S; {- t  r! T1 W3 X
Include file: <mem.h>
6 `8 y- x! Y/ |3 {* }4 A
. h5 j7 A  o7 a" r6 O. y
8 q- O* e  E2 [5 X/ }" Z2 ?, F: a8 s
函数返回值不为ITK_ok,则有错误发生,必须进行处理
( L3 i: a2 E  c5 u+ A+ @5 mEMH_ask_error_text() 和 EMH_ask_errors()通常用来获得错误信息(参考%IMAN_ROOT%\include\emh.h)# C& M( |. Z* \
可以自定义错误信息编号,可用的自定义错误代号范围919000~919999。
: u) B( K4 c: |. q* `! b( N# Z2 `0 ?* D

7 I9 X% O* W- G7 y: a$ q- h) t/ {$ Y8 N; ^! R( p

% \/ a. q) d! M1 U
  1. status = AOM_save( );
    ) s8 T: R% j$ C7 @' B; j0 n/ [' `$ X
  2. if (status != ITK_ok )
    ; k! x" Z: @! r
  3. {& ?0 N' d6 C* e' ?: I: t
  4. EMH_ask_error_text(status, &message);
    + f8 g  w* x7 I1 e5 Q- E4 T) r
  5. printf("Error with AOM_save: %s\n",  message);+ k3 p0 m. ?( \) a9 r  X6 ?
  6. MEM_free(message);
    & ]! I) h/ J9 X+ }
  7. return status;
    + t9 d- d, E# a5 c& r
  8. }! ?# d- R" C. z) `
复制代码
  1. status = AOM_save( fl_tag );
    " H6 z1 y' O4 q8 ~
  2. if (status != ITK_ok )! e5 j0 u+ c4 W3 k9 G4 x# n/ d
  3. {5 i- D! t) C* s$ J1 V' r
  4. EMH_ask_errors(&n_errors, &severities, &statuses, &messages);: \- U0 Z% U8 B$ b' W9 ~. q
  5. for (i = 0; i < n_errors; i++)
    % W. b6 `: L: {) |$ {5 J
  6. {% N* A3 F) H# U: R- c
  7. printf( " %6d: %s\n", statuses[i], messages[i] );( N) p- j2 I/ _( `# ~4 l5 p& e
  8. }
    3 \0 H" ~9 N; U/ x% |
  9. return status;/ J% o4 I3 _( ~1 S& U
  10. }7 v) Y" X8 ?, ~- J+ Y7 R' j, y) M
复制代码

! X& S) c( e0 q& j
( M/ U9 T4 a! S! }3 n4 ~! _

& s" y. C% L" `  T$ H( ~
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了