|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
) V$ _% b$ ~0 W. y% J C+ ]Teamcenter二次开发源码分享:判断对象是否存在在数据库中
4 T4 B. U4 I* |% |% d
; V9 p. `' G; m' c2 H. i7 L; b#include <TC/tc_startup.h>
1 q; K1 r& K. s# T#include <pom/pom/pom.h>. u. A, `/ {6 D# _7 c' x' r+ q
#include <ITK/mem.h>
7 i$ U; a2 F! Z/ e& ^. h3 } Q+ a#include <tccore/workspaceobject.h>* x+ Z" Q* i( D" z
5 U6 h2 G, T3 `; L4 I( elogical is_instance_in_database(char *variable_name, tag_t object)
/ g& ]$ F: A, G8 R( w; `{; \, Q- p: Y7 i7 V3 g6 X c+ a
logical exists_in_db = FALSE;
4 z2 d% L7 d/ B if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);2 H# e% `5 i, E
else
3 W9 n9 S; L3 s- b { @! L! t, a1 i
char *uid = NULL;6 p7 ]' [0 _" a
ITK__convert_tag_to_uid(object, &uid);
2 V! i. [, V/ B I3 O" h POM_instance_exists(object, &exists_in_db);
4 M( t9 e- N7 X( \& q9 n if(exists_in_db == TRUE)' `5 Y* {2 `5 E) a4 @) v$ V I, S6 a
{. q5 ~; r2 W4 u5 N8 N
if(is_WorkspaceObject(object) )
6 }$ J0 J( ?& Q% F {8 d: F d Y' |2 c9 w% l7 j% Q3 J
char *object_id = NULL;+ _& s& ]& B2 G8 a# Q& V# {
IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));( a2 w' k3 h! A2 | \3 Z9 H5 L
char *object_type = NULL;
# h4 Z) E$ z/ y5 p5 ?' D% J IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));
" {# T6 w2 r+ f3 m+ g' j ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n",
4 o5 |4 V' w [& r5 w" F variable_name, uid, object_id, object_type);& ~& ?" [& |$ ~4 O; W, j, p* ?
if(object_id) MEM_free(object_id);7 j) w& y7 U* }1 k. t
if(object_type) MEM_free(object_type);6 ?/ @, M4 I0 b* }# c! d5 ^
}
1 \6 t6 t4 z. ~ else ECHO("\t %s: %s - POM_instance_exists: true\n",
2 y! i, G+ T6 _& t1 t( u# X variable_name, uid);
' H' X' u- Q E7 p' K }& t+ V8 u! `1 @$ U" @" O9 o
else ECHO("\t %s - POM_instance_exists: false \n", variable_name);
& u# q \! M, ^6 m3 Y3 M9 `3 l if(uid) MEM_free(uid);5 j# j; n9 u$ Q' _3 v2 ~
}6 B; W( c+ n5 ]( i
return (exists_in_db);
2 I6 {: D. {- p2 m+ p5 g}' R3 ~+ }' X7 R' h& B3 X5 B
|
|