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

teamcenter ITK开发的基本知识点

[复制链接]

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

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

admin 楼主

2013-12-3 20:54:57

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

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

x
Teamcenter  ITK开发的基本知识点# U8 C+ T" L* O% b& [! |
2 o6 @4 {" ~' z) c* z
ITK 函数格式
. {' \/ t: K1 i( ?: Y$ |1 B, i' y9 Q        int FunctionName (type vari-name[dim] /* (I/O/OF) */ );: O7 W- {3 r: l1 L
        OF使用void MEM_free(void *pointer)释放内存. `# o3 x0 Y8 A/ B# p, q, E

' l' U) d# V( w0 R* {% i
4 d8 ]7 O. G  C3 w1 F& ^
Include Files
; C# v  R' k6 c6 G        #include <TC/tc.h>必须
) P8 B& u$ O  x! {% Y* {* m4 @' G+ |# V
6 A" c  a. X/ j0 U( _8 S
tag_t data type
$ e: g  n/ |! V  U# @3 d所有在PDM的对象都有唯一的识别码,当对象加载到内存中时,就是以dynamic tag 来识别,tag_t 是integer
# i$ F1 K8 k9 L+ A& M
$ B# F0 O) w5 m( n& j+ V
5 c8 ]* L1 F9 _/ D
Error Message Handler (EMH)
/ _' l/ D1 l( H( _当有错误发生时,大部分ITK functions 都会传会一个整数值,此整数值一个错误信息对应。
! m0 b3 ~6 m; x& g* L* I5 @
* s; Y, ~: l' U4 m  D" j3 B! j* g
上海点团信息科技有限公司,承接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

) y( [, Y) l) _( C
) U: {' L9 a1 d: K/ d" n
OF类型的变量一定要通过MEM_free()进行释放1 M) Z% b1 b6 J( `8 j0 g( m
void MEM_free(void *pointer)3 t; N& _4 I4 ?3 `( j4 y' s

; U/ d, E' n) Y& r

- e  c/ d) n; N' F5 YMEM_alloc()
+ L9 e0 T4 d8 u! C, xMEM_crealloc()
* B) ~& ~6 U& U* ~: BMEM_free()- R8 F& F$ ^" A# P+ r. G
MEM_realloc()# `& o$ G- t' m5 b
使用以上内存管理函数,也可以使用C内存管理函数5 o' V! x, T- k2 U
Include file: <mem.h>" ^+ ~2 R. `) P5 Z% D

% Y% }  _6 W2 h8 z% I, B+ l
4 I6 I7 r2 i. W  W  H' m. |
函数返回值不为ITK_ok,则有错误发生,必须进行处理! h' w' `/ q$ m/ @/ D( l5 t
EMH_ask_error_text() 和 EMH_ask_errors()通常用来获得错误信息(参考%IMAN_ROOT%\include\emh.h)
7 R4 N+ [- C" t: V6 b0 s5 J可以自定义错误信息编号,可用的自定义错误代号范围919000~919999。
4 S+ r. R$ M) p: L4 s' N
6 s( c/ L( Q7 a

4 @5 Y( e0 ?, E4 e! u6 c( ^
* |5 ~9 ~2 N8 Y$ W2 W

; T# E7 r5 R1 V7 t
  1. status = AOM_save( );
    ; ^1 B. R3 F7 `! r: ?) O1 N
  2. if (status != ITK_ok )
    1 u- {8 t% t6 D; H3 V
  3. {
    , x( M- u  |# v5 Z
  4. EMH_ask_error_text(status, &message);) R  o. D8 }) A/ j( ]
  5. printf("Error with AOM_save: %s\n",  message);
    7 m( ~0 Z: a; n; @- q7 B
  6. MEM_free(message);& s5 f* O1 }& H; y& u/ k
  7. return status;
    ' D7 e0 a( G! h3 i/ P
  8. }
    - i+ i1 x" ~* [( C5 T- h. f
复制代码
  1. status = AOM_save( fl_tag );
    + r3 k6 o6 S4 a$ F6 C* K
  2. if (status != ITK_ok )7 b! u+ P; i+ d& ^
  3. {' q: k3 E+ s' O. l$ ^" D+ L0 t* U; @, e
  4. EMH_ask_errors(&n_errors, &severities, &statuses, &messages);2 ^/ @* o: P) _2 `, K
  5. for (i = 0; i < n_errors; i++)  l, {% n7 g. o5 I. f2 O* r
  6. {' z' Q  X6 j0 Z. H6 Z% K
  7. printf( " %6d: %s\n", statuses[i], messages[i] );
    , D! u! n/ g9 f, h1 `$ h( C
  8. }/ A2 W3 \$ R, m8 |# Q; y0 W
  9. return status;
    ) F' c2 q/ w. y, q3 s
  10. }
    ; A( n0 w+ T. f3 b" m. S3 I! g
复制代码
. s& [$ I. |9 E$ `7 [1 c  @9 |2 S
; W8 @+ }0 T" y1 R; M! v2 c; R

+ M  @/ S; J) v3 h% c" h- Z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了