|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
, g5 Q) ~9 U$ z2 `
Teamcenter二次开发源码分享:判断对象是否存在在数据库中
/ m( p! ^2 W& P* o- j3 O3 ~
% o z2 L* |3 F' t#include <TC/tc_startup.h>4 C0 {& x ?0 u2 x& I
#include <pom/pom/pom.h>- q" |! n4 x; ?
#include <ITK/mem.h>
# o6 ?) i7 j8 X/ J' g- [% S6 P9 N#include <tccore/workspaceobject.h>
# H, Q7 n" _! N: ~4 M; M3 e
( @" _: G/ _' t8 N" t( ?logical is_instance_in_database(char *variable_name, tag_t object)" W6 x1 r2 d7 g7 s+ \
{9 p+ o5 {' ^9 c
logical exists_in_db = FALSE;
. M8 A H I" d2 Y if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);5 r ? R8 W4 Y- Q E+ }
else
& a; q/ s0 ~! l/ s* | {4 D. H8 T2 I5 Z- V$ m( m5 j, r
char *uid = NULL;& E+ |, u+ i: N& ~, B
ITK__convert_tag_to_uid(object, &uid);
; H( k C2 M0 F9 ] POM_instance_exists(object, &exists_in_db);4 Y' g* b' q2 L2 g, V ^
if(exists_in_db == TRUE)9 ~1 ^. P- i! }& L4 x; o
{
. J$ B# e& s! T0 |* n0 N, Y1 b if(is_WorkspaceObject(object) )3 W; q# g6 I* z, r9 l
{
. `. r* t Y# S" U5 Z& Z. ? char *object_id = NULL;. F8 S! S& D4 L# Y% _3 J
IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));5 v# J2 l7 j4 s5 c$ s6 V" M3 P
char *object_type = NULL;
3 |8 [ m3 G6 e* ]: v( x9 A IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));& i2 i+ F4 [- D% `) `5 c1 x" g, w( |
ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n", 1 U3 C& Z5 f/ ~# e v" D
variable_name, uid, object_id, object_type);
+ L. k! I9 `. B% D; t. E' @ if(object_id) MEM_free(object_id);
, c- d9 P+ L( O/ Z; N2 }$ f' @ if(object_type) MEM_free(object_type);: F; L& W9 O" \- d9 r6 C$ n
}
0 A1 o8 L- t. f! q/ ?/ L7 L else ECHO("\t %s: %s - POM_instance_exists: true\n", x" i" {$ o* X" s: m7 r
variable_name, uid);% I" W* P* h5 A) z( L4 W2 C: L* ^
}* d0 y+ {, ]" ^9 o) @
else ECHO("\t %s - POM_instance_exists: false \n", variable_name);
# G) _6 R1 f/ t3 E) D# t0 S! V/ O if(uid) MEM_free(uid);# Z3 _* s8 T* b) T, w% g' m
}$ v% }! J- W1 _! ^2 j2 O( C" K. [
return (exists_in_db);$ | h, q6 D2 E( `' y
} z! b+ D' i# E4 [. y0 x: |
|
|