|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
; P! Q7 S& o- F6 M9 a, E8 gTeamcenter二次开发源码分享:判断对象是否存在在数据库中
; ]2 u7 b. [. J# ~8 r' ?
: b& z9 U5 K" l' |/ f! M#include <TC/tc_startup.h>, W. G, ` M" y$ [+ c6 d3 ]
#include <pom/pom/pom.h>" M/ [9 l1 {8 K& r8 J5 q
#include <ITK/mem.h>
8 J. ^5 V( L' n( k! }#include <tccore/workspaceobject.h>
# [7 n( d7 l2 V/ M1 @. t+ F
1 I3 V* r% R, M. F2 j) B1 G+ \logical is_instance_in_database(char *variable_name, tag_t object)
8 Q* I! w& M9 j* U( ^{" [+ o/ f8 l7 F9 F6 u% H
logical exists_in_db = FALSE;
: [0 X9 x" J+ p3 I' j5 G if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);) z& L, d1 \6 x' h: c! `; F8 p
else
4 z/ G4 N3 X3 O1 x# [; G) ~2 U {0 d8 p: A3 c* J5 r3 X
char *uid = NULL;% C' A" S M$ @
ITK__convert_tag_to_uid(object, &uid);! g- s* S5 Z% x5 A/ f# `: Y5 g
POM_instance_exists(object, &exists_in_db);- |3 L$ V+ X3 C9 k' R
if(exists_in_db == TRUE)
$ e e& x6 K7 D {
4 x% D5 _3 F1 R, y" W if(is_WorkspaceObject(object) )
% x8 n8 A* {& w" K {9 @$ v/ C; _; L- _
char *object_id = NULL;/ w( U( ^ M4 c! A4 r3 ~) z v" d
IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));" z, i; w$ P( J, R4 i. |. P
char *object_type = NULL;
# ~7 S& w& o' ^. n8 `, v8 N IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));& @$ k. S. p& j3 a" X+ Y- k9 ?
ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n", & r$ Q1 z) F& r( Y9 v
variable_name, uid, object_id, object_type);
) r1 ?/ M" U2 G+ U: L$ v# H if(object_id) MEM_free(object_id); {8 \7 e" u. c, V6 {
if(object_type) MEM_free(object_type);
8 H6 H/ G9 f. J/ o8 } }( ~; m; Z: e$ M' @$ |5 i, c
else ECHO("\t %s: %s - POM_instance_exists: true\n", ! K- j# r) j1 Z6 p0 b+ X* ?9 O2 W
variable_name, uid);5 ?6 ]% c4 [8 q* x# Y
}, @" o* y7 G' H7 Q6 t1 w' X
else ECHO("\t %s - POM_instance_exists: false \n", variable_name);' I* z( J7 s, \, O( g% z f I- d
if(uid) MEM_free(uid);
Z) R; [2 d$ Y. ?' l7 C }
0 G, t. t' k/ V# ? return (exists_in_db);
- R0 ^8 ?, a s* s4 t6 k}
L% Q }" c" d |
|