|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
. [' {, y7 p8 | Y
Teamcenter二次开发源码分享:判断对象是否存在在数据库中
3 M! ]. M7 R. f' p9 o x! m1 ]7 u- \
5 M' I) P/ X* F#include <TC/tc_startup.h>2 ?' O- P4 \( A" G
#include <pom/pom/pom.h>
0 b0 b& w2 O2 B1 m#include <ITK/mem.h>
) l" Q" i Q9 c8 f3 a. ` m9 ]#include <tccore/workspaceobject.h>
6 E9 n: n, p9 ^
! o& M' }% ~: N) H; w+ U5 Llogical is_instance_in_database(char *variable_name, tag_t object)& _1 W- n, q p
{& a7 y* k6 ~9 S- |4 H
logical exists_in_db = FALSE;5 u. S' L' }, M8 k: F$ X
if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);
! o9 d& x' u. |, N7 m* z else
/ J9 c5 `8 P: m. l# m4 o2 z {4 V+ `% F8 r8 g# w) ~2 U
char *uid = NULL;. z8 s4 Q! t" e& e9 O
ITK__convert_tag_to_uid(object, &uid);
: l; M0 l! Q/ w5 p POM_instance_exists(object, &exists_in_db);" z! L* P% N4 Z& p- g" e5 Z" L
if(exists_in_db == TRUE)' F) {5 X$ c$ D0 Y
{
( f9 p4 T) ]" P9 f5 |* g if(is_WorkspaceObject(object) )
[# X/ k5 q- e3 U7 n {- |# Y% @* b5 g& l2 C; Q3 f5 |2 V. `' Z
char *object_id = NULL;' H- y* y) i. g( ~& e( M5 a: C+ j
IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));
: ` g* B# T X char *object_type = NULL;6 N' l: D" r5 v& w, F0 C
IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));7 e5 Y' S+ I c
ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n", $ I- v; k& P- k6 ^& c& _
variable_name, uid, object_id, object_type);
; h- _+ G6 Q7 L+ S7 ? if(object_id) MEM_free(object_id);' G; X- P( i# ]8 g
if(object_type) MEM_free(object_type);
) a7 i6 A# ? n* h }
! S: ]' G/ }1 H else ECHO("\t %s: %s - POM_instance_exists: true\n",
7 M: E) v( k9 e6 l: f3 R# { variable_name, uid);1 ?! i. p5 n6 Z! n5 s7 H
}3 w6 P- U0 q0 j: {- S' H" J; A
else ECHO("\t %s - POM_instance_exists: false \n", variable_name);
) n: r2 t; d; f# O9 ~ if(uid) MEM_free(uid);
6 J! g0 w5 v9 v6 T9 Q }( `8 Y# O- U6 A( O0 A: k
return (exists_in_db);( ]/ \ S8 x2 M5 y3 ^
}
& i! M, y* c! I9 I, l |
|