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

teamcenter ITK开发的基本知识点

[复制链接]

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

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

admin 楼主

2013-12-3 20:54:57

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

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

x
Teamcenter  ITK开发的基本知识点( \0 `; @) t- N* E
1 ^1 g6 t9 u% y& K* j4 ?- ~/ D
ITK 函数格式, q" u9 j4 [4 [7 |6 \2 A) e6 U
        int FunctionName (type vari-name[dim] /* (I/O/OF) */ );4 B& w) Y$ w8 i6 i/ R- n( J; h  R4 J- {
        OF使用void MEM_free(void *pointer)释放内存- O! x; L8 t: O- ~
8 p4 ?, v7 |! J3 P6 e: Q
& E9 Z  h2 F' r% r! H9 B6 r
Include Files
+ x6 F+ D' r; ?4 X( e/ X        #include <TC/tc.h>必须
, \5 Z* L: }$ |2 N
5 W9 E) \% G, B  K$ t4 l. g

2 b7 e/ t$ j* W5 I# e( wtag_t data type
6 t* |" A9 ?, _. W  n, e' y1 O9 C所有在PDM的对象都有唯一的识别码,当对象加载到内存中时,就是以dynamic tag 来识别,tag_t 是integer
5 [! [5 S5 U4 M2 t5 I) X% n3 T/ D- b" L$ @& g7 e4 E) U( U, b

. F8 z* z- K1 _5 X9 E, ]Error Message Handler (EMH)( z7 D2 W4 ?1 D! e5 d1 ?4 M
当有错误发生时,大部分ITK functions 都会传会一个整数值,此整数值一个错误信息对应。/ o3 |0 ^6 {# |" k# j  v
/ h8 W6 A3 X6 Y* b  ?
* S$ _, q& k6 s2 i# V
上海点团信息科技有限公司,承接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


" J0 F  f* S7 x8 o; m! Q+ `5 s; r
4 x- ?* q8 g# g" _! t( P% v
OF类型的变量一定要通过MEM_free()进行释放5 S% \/ u7 ]# @, t
void MEM_free(void *pointer)
! ?* c8 }: ?: [* K0 ]' |9 Q1 M, Q6 o  j, w; w+ {* R1 s: w
  B( j7 j1 v) I0 p) B. e
MEM_alloc()
  f" S" C$ \) g+ {* f$ X$ ]& TMEM_crealloc()
6 c( z; v8 ]* h8 D5 w8 ]MEM_free()
. ?  g& ]7 g1 Y1 [  |MEM_realloc()) [1 o8 |/ }3 n) j: ^7 a  I
使用以上内存管理函数,也可以使用C内存管理函数4 \* ^$ ^: C' a( R& e, C8 P
Include file: <mem.h>
9 B# d5 {) r1 X2 m  P' q
( d; q- ^! Y" J) E

9 e& C& U0 Z+ O; x4 @0 x; W$ k函数返回值不为ITK_ok,则有错误发生,必须进行处理) c4 A7 o: T4 }! h
EMH_ask_error_text() 和 EMH_ask_errors()通常用来获得错误信息(参考%IMAN_ROOT%\include\emh.h)
/ @7 E1 ~- y* v9 o* t1 `可以自定义错误信息编号,可用的自定义错误代号范围919000~919999。" r; Y8 a+ u6 L4 E! Z) P2 @
; U0 z4 ?2 Z" I( e' Z4 q

$ y2 k9 Z( U1 A2 S; L3 M) i1 y5 O; h& ^6 ]9 z3 P. V" P2 c
! F' ~1 R4 O$ i6 R" `& O' ~- n% @
  1. status = AOM_save( );
    * _7 |. I6 M) R, p7 E
  2. if (status != ITK_ok )1 J2 O2 d$ b; y) q8 z9 `
  3. {
    & ^9 c$ J2 D1 ]# y* S2 b! h; P
  4. EMH_ask_error_text(status, &message);
      Z4 j& b( f- X- t+ I) `
  5. printf("Error with AOM_save: %s\n",  message);
    2 U' s# _7 H  A+ H( T( j
  6. MEM_free(message);' @6 P; _5 a" o' z. D5 B
  7. return status;: y/ `' q- r4 q3 A- O2 Z, z0 J
  8. }1 h6 g* }; @# M2 i
复制代码
  1. status = AOM_save( fl_tag );: H9 x' `& P5 P0 I$ t0 Z6 o/ [
  2. if (status != ITK_ok )
    7 ?8 N, u2 t# k9 `. J" E
  3. {
    ; U; Q. ^8 B+ A  r$ V
  4. EMH_ask_errors(&n_errors, &severities, &statuses, &messages);
    7 e3 {7 @' h% K$ b# l
  5. for (i = 0; i < n_errors; i++)
    * N9 I" b, u8 T' r
  6. {- |9 z7 [; N% k$ p) y8 Q3 I/ N
  7. printf( " %6d: %s\n", statuses[i], messages[i] );
    $ q! l% `! S- a0 C- [) e
  8. }; p$ Z, ?7 R! r3 |9 C
  9. return status;6 F! `- h5 c5 \$ L8 ?3 E" C
  10. }
    6 G& H. q5 I$ j' b& m
复制代码
3 u& f; c. |& N) R

. U) F& }4 _+ d, [- x7 C

+ @4 h+ T4 X) G. a
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了