|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
' F) K5 v; U' v2 F: |6 d# u
Teamcenter二次开发源码分享:判断对象是否存在在数据库中
}, L7 K) x. v4 e/ Q
/ w& R- n' }2 y/ L& P. A7 W( ?#include <TC/tc_startup.h>, ^! s) ?; e$ u' H0 p! i C
#include <pom/pom/pom.h>2 V" n+ T2 I# T2 |( @
#include <ITK/mem.h>% f7 i$ F% v4 Q) Z! a7 y& O: e
#include <tccore/workspaceobject.h>
7 X& J' f) A- B# E- }3 d
7 o z8 q3 d" e3 v3 l1 Glogical is_instance_in_database(char *variable_name, tag_t object)2 h/ D$ W' D5 C" }
{; V9 K3 I4 N2 n! r4 \
logical exists_in_db = FALSE;/ I& I2 V4 c! k& h$ T* C
if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);$ l% p. x0 N+ h; [0 [
else
1 \; _# O5 e* }+ `/ R% `' ^! p {
; I" Q+ L& m# p3 g char *uid = NULL;; u; \* n) i! \- n
ITK__convert_tag_to_uid(object, &uid);3 m8 H( G4 [9 a% x
POM_instance_exists(object, &exists_in_db);2 j; U' ^" ]" ?4 b% E/ H; j
if(exists_in_db == TRUE)2 d4 n4 E+ w9 }7 Z- Q
{
0 V9 [' B; H9 C" L if(is_WorkspaceObject(object) )- R0 }( G6 F1 U1 o1 _
{
/ U% H& E6 t7 \ T) a" ? char *object_id = NULL;
7 y% ]4 @8 ^: V9 J* M& s F+ A IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));8 J8 M0 G: I% P6 Q! S- X
char *object_type = NULL;
; H5 C0 T% o7 H1 q# r* k IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));6 b: H X3 {* r4 S4 K5 z- _. F
ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n", 8 u' [8 W" a+ b" _ `8 H- {
variable_name, uid, object_id, object_type);8 s3 B1 T) Y$ S# D! a
if(object_id) MEM_free(object_id);
( n) k6 A1 Y* c if(object_type) MEM_free(object_type);2 K L% T+ `. P! O1 u( |
} N) S4 a# I; Y) \
else ECHO("\t %s: %s - POM_instance_exists: true\n",
4 r; n4 L1 W6 w, |6 Y/ J) G+ ` variable_name, uid);
) E6 [7 Z5 b( v D6 z }
3 Z; P3 G8 t% l6 H8 `3 v3 f1 z else ECHO("\t %s - POM_instance_exists: false \n", variable_name);
' |" Y$ C0 x b3 r- L+ U X4 r5 { if(uid) MEM_free(uid);2 \4 [1 O7 x, W k+ e- u# g& T
}
, g* b+ U; f2 p" T r @; i return (exists_in_db);+ B9 I! @8 A9 _: b
}
+ w+ m, Q2 d+ I! R( ^* J6 k4 f |
|