|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
% y/ c) b9 R- I! \9 I
Teamcenter二次开发源码分享:判断对象是否存在在数据库中) C! C8 L, a8 U
' F& H& R1 l( N: Y W: i% ?6 g#include <TC/tc_startup.h>5 K3 S7 i6 D0 |7 K% o
#include <pom/pom/pom.h>
: K" n% ]/ ~- i/ B# T& E) l#include <ITK/mem.h>8 u1 P% T9 E j+ W. G
#include <tccore/workspaceobject.h>/ F0 w& P& K7 q( R L
: U' {6 u1 E6 I0 c g; h9 J
logical is_instance_in_database(char *variable_name, tag_t object)
) x& T; d* z/ Q8 p7 d5 }8 g{' A* Q+ d7 H1 r4 |4 R/ T- u7 R' P
logical exists_in_db = FALSE;! k- J3 R ^* ?& }" a \' l& {
if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);
: ~* W& E, B9 S else
! r0 U* @( i3 @$ a/ x {, f: {. g$ x# L% ]$ {# b8 j) x) r
char *uid = NULL;% U( e7 A* {1 p
ITK__convert_tag_to_uid(object, &uid);
" h# {9 r: ~ A2 d1 H POM_instance_exists(object, &exists_in_db);/ e& j( u* H; i$ s4 Z3 ~5 @
if(exists_in_db == TRUE)
! E* d0 l3 Q) ]. k( z8 N( K {
; o" n% D2 b' M. u+ U1 e if(is_WorkspaceObject(object) ). `! q {" W, [# z8 p; J- H2 W
{
/ W" K( c7 U( M1 O3 G char *object_id = NULL;8 r: r# a- f2 \5 q; X% O7 _! L
IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));
c. ?0 j L5 |8 m+ i char *object_type = NULL;
5 E& t: u% h. _: l$ ?9 I. ^ IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));
3 }2 t7 C g# B8 ]; y" T: g ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n",
! ?* S, y) U9 O2 t) i0 f$ @4 w variable_name, uid, object_id, object_type);0 o% K# W) \6 p! G
if(object_id) MEM_free(object_id);& c7 c: T- v. [8 ]8 V
if(object_type) MEM_free(object_type); O8 m) z4 H2 J% n h1 F/ I4 h
}0 ?* P( g* E5 L2 t* X U1 a
else ECHO("\t %s: %s - POM_instance_exists: true\n",
& A+ ]2 |9 L# h- _+ T variable_name, uid);: S5 [* z% e k* m! s
}' t+ i* U* }, L6 m4 M( r8 J* J
else ECHO("\t %s - POM_instance_exists: false \n", variable_name);$ y; l9 I S0 }" B4 Q: y4 N
if(uid) MEM_free(uid);
8 [3 G% Z% }) Z* Y" v* h }- {* b6 F5 g/ {8 l( w8 _, x' A
return (exists_in_db);
% K% x# K9 D2 l( ^}
* i9 o7 u) Q8 q' X |
|