|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
z. q+ ~, M7 Q: r
Teamcenter二次开发源码分享:判断对象是否存在在数据库中) o/ ?6 ?- y6 l5 O7 E8 @& p
/ R1 ^3 ?) s/ @( s) g4 H: W
#include <TC/tc_startup.h>
9 u2 G7 S7 X/ n/ Q' v2 v#include <pom/pom/pom.h>3 G9 a |0 S9 z( G* Y! V, A9 i2 f
#include <ITK/mem.h>
3 v" |4 V/ f' S5 a4 _7 k#include <tccore/workspaceobject.h>4 b1 r% d. p7 j: m7 G" l% u
4 ] @/ ^2 F; J# I/ b, S! O5 n* z$ O$ A1 q
logical is_instance_in_database(char *variable_name, tag_t object)5 f4 M0 ~5 Q9 A2 Z# x- P t
{2 z0 R. B4 V/ e: w' C& n
logical exists_in_db = FALSE;8 C2 M6 j% ~3 ^: G# d5 E, b! P
if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);
; a! `: k6 g u6 \5 n; m else* X* r. z' T5 r$ G1 H/ v% X
{
/ @' t" L; S2 `) A' m char *uid = NULL;
4 Z6 t3 q3 Q8 M ITK__convert_tag_to_uid(object, &uid);7 X3 W" [ @) k7 f5 Y0 v3 v5 [
POM_instance_exists(object, &exists_in_db);7 E. L6 P4 _9 Y- {' Z+ L$ |
if(exists_in_db == TRUE), W$ `3 [( M+ _. W e
{/ r3 a+ A7 o* ?7 T M/ O. k: Y1 N! j
if(is_WorkspaceObject(object) )8 H2 Y/ `6 H" K0 f( M1 o
{: g. X6 Z3 n" ]' o% d& e; B- b& x. t
char *object_id = NULL;
) A8 U( W: n5 v( e$ _( K4 P4 B IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));$ e" [5 a! z9 g; q! V1 B; `
char *object_type = NULL;4 Y9 d! ~! D: { |4 ^
IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));
( L0 g3 }# C2 _3 ]( X7 Y% F" W ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n",
7 l, f! c S( |& _# t variable_name, uid, object_id, object_type);
1 l5 h1 ~7 k2 b: y if(object_id) MEM_free(object_id);
$ i: A+ }* r! i+ y; a) Y if(object_type) MEM_free(object_type);
% i& j0 Q8 z# P6 S }- b" D) e! ^: W. o
else ECHO("\t %s: %s - POM_instance_exists: true\n",
6 X$ Y' i4 Y% ?0 c6 P" G variable_name, uid);9 H) P, n0 }) q- G+ u$ L
}3 X+ _& S/ d F9 a. \9 i0 w: W/ y
else ECHO("\t %s - POM_instance_exists: false \n", variable_name);1 `8 V! Q: x1 L6 {2 e L. B
if(uid) MEM_free(uid);
+ H2 k7 H- @: i. H/ X7 L2 ? }
9 l( J4 U; G! a7 S return (exists_in_db);
0 {6 Q5 I/ O. f X# q}
( y2 r1 ^: H l, z! s1 Y |
|