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

teamcenter ITK开发的基本知识点

[复制链接]

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

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

admin 楼主

2013-12-3 20:54:57

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

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

x
Teamcenter  ITK开发的基本知识点8 B3 K6 s' T+ h8 K' a; R
0 `0 h! ~# Q3 e: z) `
ITK 函数格式' _. [2 o; ~' v$ o+ P
        int FunctionName (type vari-name[dim] /* (I/O/OF) */ );0 K$ H2 k* Z; r0 P, c( U* Q( x
        OF使用void MEM_free(void *pointer)释放内存
0 D, e$ r. F6 K' V+ i. F; d$ g) b6 W1 @* H, X4 f

7 P0 P4 t8 l* }" Z9 EInclude Files7 N0 S3 v1 [/ H7 ~9 O1 w+ F
        #include <TC/tc.h>必须
) o# B& W. Q' K1 v4 V2 _" {
7 ~3 M, K. r' o6 r7 J& B
. n2 f# l7 z' [- p5 a" v( s& z
tag_t data type- R' C9 P6 x. h8 o) F' W
所有在PDM的对象都有唯一的识别码,当对象加载到内存中时,就是以dynamic tag 来识别,tag_t 是integer. d6 n# \5 ~$ r- D
0 V4 K8 h5 S; L& _' T9 ^
, K4 ~; y4 r2 I$ C# h
Error Message Handler (EMH)- K5 q1 O4 S/ L9 l% E8 X
当有错误发生时,大部分ITK functions 都会传会一个整数值,此整数值一个错误信息对应。3 `3 Z# D/ Z- J
2 f& h1 N" z1 w3 }0 @
, e9 Z" o( [4 }/ N- m
上海点团信息科技有限公司,承接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/ ]( {1 c* u- ~( s% C% Q
/ U9 ~$ S5 ~! z" X) Q2 k, }
OF类型的变量一定要通过MEM_free()进行释放: f. p: Z$ D1 D' {* t
void MEM_free(void *pointer)
6 p' t4 r# u* U3 X, b
- b- p4 r( Q0 D, u- ^; f$ S

6 \7 X$ Z* [  v, eMEM_alloc(). c- O: c0 V2 ]; J8 D( v
MEM_crealloc()2 l) l8 J' B4 t7 r4 b% p0 M
MEM_free(); L: t7 R: q. L. P3 s$ m1 a
MEM_realloc()4 ]) E( N0 p0 r& a& o  ~
使用以上内存管理函数,也可以使用C内存管理函数% j; ?0 V- f# y( @9 T
Include file: <mem.h>9 y9 {( ]8 R. M" I! v+ F' S
" l) x7 }5 ~* }; J9 [( U

: U( K( |3 L+ `函数返回值不为ITK_ok,则有错误发生,必须进行处理) U- o( @: x& |; v0 ^
EMH_ask_error_text() 和 EMH_ask_errors()通常用来获得错误信息(参考%IMAN_ROOT%\include\emh.h)
& s7 c9 n5 M+ s$ J可以自定义错误信息编号,可用的自定义错误代号范围919000~919999。
$ J4 o9 R' k8 M. L& F# N1 G
  {4 ^- ~3 X9 {) R6 l9 h0 p7 g
( y! n& i% x& I, N
. S6 N4 G, e# g# Y7 h. Q
, x' M6 w2 f) _) O3 X+ O
  1. status = AOM_save( );
    1 B8 s( L& B5 Z3 c, @/ H
  2. if (status != ITK_ok )
    7 c' g- h% E4 W# {( r
  3. {
    2 {' b3 B& d7 W7 @9 e1 C
  4. EMH_ask_error_text(status, &message);9 T/ S: ?( U9 p7 n- f8 J1 j
  5. printf("Error with AOM_save: %s\n",  message);
    3 s9 x0 E  Y+ Q2 F
  6. MEM_free(message);( P2 H/ O$ u# o
  7. return status;
    : u5 r3 b9 P) w8 ~4 Z
  8. }
    + x; I: V, @2 F5 N* v
复制代码
  1. status = AOM_save( fl_tag );. t3 u9 f& F% ?/ ]5 ^8 _' `
  2. if (status != ITK_ok )
    & O9 ]- i9 @8 Q  \$ r9 e% U* k( ~
  3. {
    9 K* n- n$ |' }3 s5 Q# @5 m3 l) I) i
  4. EMH_ask_errors(&n_errors, &severities, &statuses, &messages);4 |; ?2 K- H1 U7 i! ~
  5. for (i = 0; i < n_errors; i++)' K0 @, G% q0 S4 T, R  i6 d" O0 c
  6. {1 M! Z8 W1 Y  G: a, t
  7. printf( " %6d: %s\n", statuses[i], messages[i] );
    % O) m$ L3 b0 r+ Q& @
  8. }4 F& h" n7 K- B& k
  9. return status;
    % K& D% g! V& m- I+ [: X! k% ~7 R
  10. }
    4 L  P( g$ X' ^8 S8 e+ N6 ?
复制代码

5 b9 V- B. @4 P, K
& ~) V0 k  {' Y3 h! a7 @" j
  b' x. c$ s* j4 u
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了