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

teamcenter ITK开发的基本知识点

[复制链接]

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

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

admin 楼主

2013-12-3 20:54:57

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

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

x
Teamcenter  ITK开发的基本知识点
/ @  `# R" S, w
4 Z! E! U6 i3 Y2 i7 d0 t# UITK 函数格式
; U( o: X% v0 V) d8 q0 u        int FunctionName (type vari-name[dim] /* (I/O/OF) */ );  C: E4 W7 _! Y8 J; S, {2 G
        OF使用void MEM_free(void *pointer)释放内存
4 c4 R2 a1 W3 S3 x7 ?) [% [
' t* t* i. m' c" I$ z6 D# ?
# g- T( B8 M: V9 y7 Q3 i9 S. K8 d
Include Files+ m2 D2 }6 E. @8 W
        #include <TC/tc.h>必须+ r" u( D" W- H% l. Q) S
  k3 ^9 ]6 p, P* B4 u, H

/ k8 A3 w2 r, ?- ltag_t data type1 D7 T9 J- |; f) d8 w3 D
所有在PDM的对象都有唯一的识别码,当对象加载到内存中时,就是以dynamic tag 来识别,tag_t 是integer
6 Y: R# v0 v1 K, h5 d- m  e4 j* _' Y, _& _8 Z: y/ u: E# t$ f4 w& Z7 M' D

5 @; \, f$ \7 Z: \7 m+ ~- Z0 u0 vError Message Handler (EMH)" D* Q6 o& [$ w) E
当有错误发生时,大部分ITK functions 都会传会一个整数值,此整数值一个错误信息对应。
6 ?6 }+ f5 d! s7 f3 {4 `! T
. Q! ~3 N: \+ i: H  O' U3 v- a1 T$ E0 W3 d: Q
上海点团信息科技有限公司,承接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

6 X5 R! A' i, R: M
- _; g; f/ F2 g& z, H$ B/ M
OF类型的变量一定要通过MEM_free()进行释放
& ~$ e/ r, n& E1 o6 {6 y' Pvoid MEM_free(void *pointer)4 `8 s+ u0 {$ i! O* z
6 s4 G' ~' ]' C

: e) b% m1 Q6 E3 s2 K  I% SMEM_alloc()
- s/ e- ?8 ?7 V) J' u8 eMEM_crealloc()
& I( H9 P0 g2 Z. {4 R! {MEM_free()
$ f/ b: q1 c5 q9 k. _: gMEM_realloc()
/ _  ~5 Q6 S( l1 T; E+ e: Q0 _使用以上内存管理函数,也可以使用C内存管理函数( B( y/ R. Y- S) ^5 u/ X
Include file: <mem.h>4 R) ^' `$ ~; F+ X- T
$ U5 @5 Y$ l% d7 j1 J- z
  t+ W  k) c7 b
函数返回值不为ITK_ok,则有错误发生,必须进行处理7 w( w8 P1 x3 h! E# A
EMH_ask_error_text() 和 EMH_ask_errors()通常用来获得错误信息(参考%IMAN_ROOT%\include\emh.h)- k8 s. J! X% X" G/ A
可以自定义错误信息编号,可用的自定义错误代号范围919000~919999。
; C) ]7 \3 @5 ]4 r& u  ]8 j( x. ~" w3 {

) v) p* g8 Y/ P
' v3 c1 P, C! ]2 {1 `' P: [

$ W# `/ O2 Y8 F' B
  1. status = AOM_save( );
    ; g; d9 }. r" v6 H
  2. if (status != ITK_ok )
    $ F: Y$ @( l2 q
  3. {
    0 A. u! {2 _6 G) u) ^
  4. EMH_ask_error_text(status, &message);. ^% {9 V. E/ K
  5. printf("Error with AOM_save: %s\n",  message);7 d6 v; P4 L  @- f' S& R
  6. MEM_free(message);+ @. d. I& ~1 ^0 }! ?4 ]
  7. return status;
    ! p6 X) ^' L% N& Y- @
  8. }- L  s8 M$ c& I* b9 {, ]! q
复制代码
  1. status = AOM_save( fl_tag );
    * t. j* i; P% A7 D; }5 T
  2. if (status != ITK_ok )* Z& d4 i& r$ y, a+ N
  3. {
    , H+ L' i9 q( N7 X! F
  4. EMH_ask_errors(&n_errors, &severities, &statuses, &messages);
    * G, \( j+ {  x7 W4 a: p
  5. for (i = 0; i < n_errors; i++)& |' g- e  t  F/ F" @% `
  6. {/ \( E# y- ?  i+ m* k; w" f
  7. printf( " %6d: %s\n", statuses[i], messages[i] );
    7 a5 {2 P* v, j& Q# n( r- C7 \
  8. }
    ' l6 o5 V' x$ k6 F3 r3 ^
  9. return status;) b: `# P2 C7 Q/ y3 ~+ H3 Y
  10. }
      r" B/ v' E/ ~0 w
复制代码
/ Z" q5 I# Y1 n& x; t& ~1 c

3 B7 `% z: `2 Q- P* d
- u7 U7 _' x* b& s  d% w
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了