|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
% r+ G1 a: y" }Teamcenter二次开发源码分享:判断对象是否存在在数据库中
; L# c/ A& [4 u) Z# B- ?! z/ [
5 D) N. O& T4 i5 e- K' Y+ o#include <TC/tc_startup.h>- N" g3 |' [8 U; ^- n8 m8 r
#include <pom/pom/pom.h>
; s" {; S! l: ?% o#include <ITK/mem.h>
2 Z2 E) H/ F& p#include <tccore/workspaceobject.h>$ y5 R1 G( \0 C% `4 L
# P0 c0 F! }4 Hlogical is_instance_in_database(char *variable_name, tag_t object)) y$ D L3 s; w8 b. I& _
{- u5 P% o( g% T7 v
logical exists_in_db = FALSE;9 N& K: x9 w6 j7 S8 B5 o+ m
if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);6 y$ M/ {' H/ ]2 Q7 O, R: G( h! Y
else
2 g& R) }; ^5 e# g9 H4 ? {1 ? }& O8 N+ q+ }4 f# t
char *uid = NULL;3 U3 o" _, A1 x7 ]" N8 E
ITK__convert_tag_to_uid(object, &uid);
7 Y+ ~# Y$ o0 O8 v0 D4 e+ P POM_instance_exists(object, &exists_in_db); ]# w# E2 Z- }& e6 Q
if(exists_in_db == TRUE)4 u$ V* j7 Z2 M4 x: l3 K# V% j
{
# @2 ^4 |8 M. W- D if(is_WorkspaceObject(object) )
+ n5 q: @6 l, S$ e l9 E {
: g( O- ^( W) S" G char *object_id = NULL;/ e* ?+ ~4 o2 _0 x' r6 U6 A; ~1 O+ z
IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));
9 i& }! x; p4 W9 S1 _5 D char *object_type = NULL;, i4 H v2 Y; C6 `
IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));
7 V, b: W6 j& n. j; a2 N- e9 Q" K5 k ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n", " d3 B m1 w6 U" O) l
variable_name, uid, object_id, object_type);) s" Q1 A4 ^1 w$ S# g! l2 k: l) x7 w
if(object_id) MEM_free(object_id);
3 _+ ~+ M2 C( U2 k# o/ Y! {0 c if(object_type) MEM_free(object_type);
1 G" ?9 ^" W0 k' O9 Z } J* F; ^7 j9 Y0 @7 h* o2 n4 b. L" {" Z
else ECHO("\t %s: %s - POM_instance_exists: true\n", 3 c; D) y" X9 G8 T
variable_name, uid);
, E$ X- Y8 i: Y$ q4 y }% M8 G. h$ }) v" D; t7 o4 O# t
else ECHO("\t %s - POM_instance_exists: false \n", variable_name);) [2 _2 _6 u- T/ c& e
if(uid) MEM_free(uid);+ e& F& I% H0 @* G
}
2 @$ o& g6 \ q2 u return (exists_in_db);" M R. v8 X% o$ I6 [4 c4 }
}
. }' K, T( U' U4 X& D6 H Z |
|