|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
: ^8 P4 s z: k. C N) z/ k6 ZTeamcenter二次开发源码分享:判断对象是否存在在数据库中
4 Q2 G% @7 [& i
) u, [, G4 ]) }( x6 r2 ?#include <TC/tc_startup.h>
9 l6 B& ^: S! o- S- ?. s2 j; q#include <pom/pom/pom.h>
1 p' E5 h( u8 B" ~1 H#include <ITK/mem.h>4 x9 u0 V. `/ U J2 ]. N: j. C% [
#include <tccore/workspaceobject.h>
1 R) ]- `+ q- n1 q* d+ E; p ?0 y8 z$ B7 j- @
logical is_instance_in_database(char *variable_name, tag_t object)
7 M0 q/ h! o% @: \{
4 j. z% Q2 x9 m% }' Q2 S logical exists_in_db = FALSE; Y! O$ l0 O2 y# d! j1 V
if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);
2 e7 { z' g; l. H. h* k else
* a; i. A# l& j- J/ l% } {; ~7 C" K& R) J. d
char *uid = NULL;
7 Z+ y7 P' t( F. U ITK__convert_tag_to_uid(object, &uid);
" Y+ E' q! V( W1 P6 ^# A POM_instance_exists(object, &exists_in_db);! v* h- h; h! U2 Z
if(exists_in_db == TRUE)
- b! L5 O# L* A8 P; D1 p {! V7 W# U0 p2 }, q. Q& q
if(is_WorkspaceObject(object) ). l, R- D5 y- p3 H E# a
{
3 q( F6 j9 m5 a char *object_id = NULL;& |3 `8 C" M. l% a* ^2 h& ~' w! Y
IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));
% k# o% e9 f2 \( D/ V2 K' D6 E& d9 v char *object_type = NULL;3 [! X7 Z2 B, w, O4 N. X L
IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));7 S$ a6 N3 g( l- L0 V. {
ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n",
7 X# o3 @$ f4 z" A6 J* F. K2 [# d variable_name, uid, object_id, object_type);
! [$ }8 Y, k) J if(object_id) MEM_free(object_id);! W& C' s2 E! _5 J' v. K" c0 M7 c, a2 _! H
if(object_type) MEM_free(object_type);' }$ d3 x% D8 o; I8 R
}* H8 h$ ^% C# q$ A
else ECHO("\t %s: %s - POM_instance_exists: true\n", - b" L; n u1 u+ X$ x, s( _; a
variable_name, uid);
( h$ O' t; J7 x6 w! ^ }8 q: q4 I4 c) Z7 z# [- m! [* U
else ECHO("\t %s - POM_instance_exists: false \n", variable_name);
5 r; |8 }- |8 F$ @6 X6 k" m1 }4 t if(uid) MEM_free(uid);4 f4 _+ @# Z& ]: f: g5 o
}2 s9 X7 A* G0 U1 B3 X! G. S) S
return (exists_in_db);
3 l0 M% }+ m/ }" Q! u5 v; s) Y, S7 y}4 o0 [, X$ ~+ f( [0 j) L
|
|