|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
0 Q3 @! w; a" s$ ~ a$ J8 k& Q2 z
Teamcenter二次开发源码分享:判断对象是否存在在数据库中6 V5 a+ ^: t# ^$ \) r: z% E7 \: a/ F
* L. L2 V2 ^: h/ t1 y# q6 { y* p* J- D1 F
#include <TC/tc_startup.h>
4 Z, a, e0 d* ~3 q5 H& g Q#include <pom/pom/pom.h> N! V3 K+ |* Q8 W" w5 [
#include <ITK/mem.h>0 B( J) M# F6 ?# u( X0 |* }9 H
#include <tccore/workspaceobject.h>
% o# Z/ N- H% A$ Y) l3 i, q2 N j) s# `$ A
logical is_instance_in_database(char *variable_name, tag_t object)
. Y2 l) z# M9 {% ~+ A. l) Y0 ^5 J{
5 b& Q2 T% U# u+ d! ^( H logical exists_in_db = FALSE;
$ ?( [) D1 M) s5 ~+ ~1 _ if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);; D5 n+ |; y3 E5 v9 S% l
else5 g4 ~. C3 `/ y7 d! k
{
1 n; A; l5 B/ l2 w0 x- M. ?: d8 } char *uid = NULL;9 M( o# C' s3 D" P9 N* l
ITK__convert_tag_to_uid(object, &uid);
1 h) a5 z2 I* ~0 V POM_instance_exists(object, &exists_in_db);% N6 w' x5 C7 o2 V* j: H5 s1 Z
if(exists_in_db == TRUE)1 U. I$ V3 W( u6 i# Y
{
u1 i. j; Q+ z$ e& t8 g if(is_WorkspaceObject(object) ). T! D. S, z. X* _
{
; A& }4 W! {2 ]5 _% u1 E char *object_id = NULL;. g' \' }! g: V4 J% `+ z1 |
IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));
9 }8 P/ r% {, j- C0 C1 ] char *object_type = NULL;
/ Q" r7 V" w; k4 K! u& N4 e: N7 c IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));
2 N* I2 x4 T5 G6 d* W+ g+ ~' @ ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n", 0 {' D% b: L1 D0 j0 X
variable_name, uid, object_id, object_type);+ e) \; H& B B9 D+ B1 m
if(object_id) MEM_free(object_id);2 D" n$ y/ _5 G* A' r' s
if(object_type) MEM_free(object_type);
' U( u( n! G. B7 ~: y4 G" J }
0 t) D8 M. s s3 W! f9 y. `9 @ else ECHO("\t %s: %s - POM_instance_exists: true\n", ; ~7 c5 ^5 S5 i- C7 b& ^! i1 J
variable_name, uid);$ {3 C w0 K! p, n" F9 P" }
}' n4 M j4 d! M
else ECHO("\t %s - POM_instance_exists: false \n", variable_name);
3 A3 q8 \! g) M) [ g0 u6 F0 [ if(uid) MEM_free(uid);
) r0 N' [ H/ o0 t5 B/ q% b+ h }
* M% P! X) i6 \0 f" J return (exists_in_db);3 W4 M+ R$ Q( ^4 ]9 X
}
9 e5 L3 l7 h8 K( T |
|