|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
8 C" q" |' i$ h5 }* [$ xTeamcenter二次开发源码分享:判断对象是否存在在数据库中
' Q/ ]3 G* Z a) m& ^- m) m! d' D' _3 C. o* y
#include <TC/tc_startup.h>. S/ P* f" z6 ]
#include <pom/pom/pom.h>5 ?$ n( Z, a* G# s& ^
#include <ITK/mem.h>
- o; X' v+ D W. Z# I% A#include <tccore/workspaceobject.h>
7 N0 E, f& t u/ ]- u& y
# p8 m0 ~$ E* p0 blogical is_instance_in_database(char *variable_name, tag_t object)8 n' {4 X! b4 X: k
{7 v8 M, i& N8 s7 i
logical exists_in_db = FALSE;
$ y; p+ \! r1 l if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);; L x4 |8 D( Q: x p
else
( v- ^) {2 A# I9 q7 t) ` {4 s# g9 a, I9 {1 c+ E' k. }
char *uid = NULL;
! e* {* v# y O$ d8 K7 l ITK__convert_tag_to_uid(object, &uid);
/ ^ D! y2 p# M4 Q. i POM_instance_exists(object, &exists_in_db);
% D" ?& w. I! Y! j4 F' i1 _ if(exists_in_db == TRUE)* L+ _" c* x" [: `5 l8 [7 s
{
% A' S. c: I0 b6 R! v- |0 ^ if(is_WorkspaceObject(object) )! a# e% U4 r+ v# W" l
{
5 u+ {2 P1 ]5 e% t2 c2 g/ B char *object_id = NULL;5 |5 U3 @0 p6 ~
IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));
* p4 ^6 T+ X$ w$ N7 ^0 u char *object_type = NULL;& E7 M' ^0 q8 V' R
IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));6 L. T1 v- q- j! s7 E
ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n",
9 l6 c+ W |5 e0 J, @- P4 Y2 | variable_name, uid, object_id, object_type);4 G6 Z- J8 O7 O/ }& V; X
if(object_id) MEM_free(object_id);
0 J! b+ U# n- M( A if(object_type) MEM_free(object_type);3 v t0 d" Z( Q! ^2 [# v. a
}
* u1 F) ~8 x: w1 p7 ?6 h* H else ECHO("\t %s: %s - POM_instance_exists: true\n",
6 \, {1 }3 h b- u. D7 ]0 Z v variable_name, uid);
4 o4 _% b- c9 ]5 W }
; P; y- Q- c% u" U. S, \ else ECHO("\t %s - POM_instance_exists: false \n", variable_name);
. o5 k, E9 t% _# {' a6 p+ y if(uid) MEM_free(uid);( |) R4 ], R3 ^+ R$ q' f
}
; _6 u9 E0 A: z8 x: v* C return (exists_in_db);0 V: q# y) |" E
}% t* L N3 d6 {* y
|
|