|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
$ @6 L3 X. Y6 j* u6 Z- E% k
Teamcenter二次开发源码分享:判断对象是否存在在数据库中/ U% ?+ x: R& {1 ^; j. K. e
) r- a( E( O% d
#include <TC/tc_startup.h>
t0 k0 q0 _/ U+ g#include <pom/pom/pom.h>
; }4 g9 H" @, u8 w0 _#include <ITK/mem.h>4 }2 ]5 b) x9 m
#include <tccore/workspaceobject.h>
i" Z0 r- F. s( m
5 c# B! D6 ]$ V3 clogical is_instance_in_database(char *variable_name, tag_t object)
, c8 Z1 ^: O0 |0 X6 P{& B, F. o9 p5 t; T1 e
logical exists_in_db = FALSE;
( L+ x) q8 }6 D! P2 }- D if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);( a' a i' x6 V% X3 i8 R
else% e. O1 C4 Q9 q9 L& c9 i
{
: C9 a6 j b7 ^% W char *uid = NULL;, i6 ^- v; ]7 B# \$ Q8 ]' u: |
ITK__convert_tag_to_uid(object, &uid);% \% h3 W; o9 T _
POM_instance_exists(object, &exists_in_db);
4 \. _4 F8 A% r3 c if(exists_in_db == TRUE)
) U) P, k+ ^* I1 r1 J2 I {
3 Z' a; |* m4 ]" x: j$ W if(is_WorkspaceObject(object) )
9 n2 Z* }9 ^5 }# t1 C# @8 A9 `3 X* s* B {
. e9 g2 m! i9 Z& W+ N6 V! A char *object_id = NULL;. U( K/ H1 }% v$ b6 }/ Q' C
IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));
4 b0 y! P; Z9 \; T; l$ p char *object_type = NULL;
& R J4 `% @! g* b) j$ o IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));
, i! X4 W! Z: ?7 r% x: g ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n", . H" m1 ^/ y. ?1 p
variable_name, uid, object_id, object_type);
8 r p% {" u/ x if(object_id) MEM_free(object_id);
& ^) P( C! N3 G2 L8 n if(object_type) MEM_free(object_type);
; D' u1 B+ j4 ^ O; X } N1 E' m/ E3 r* U
else ECHO("\t %s: %s - POM_instance_exists: true\n", 4 P2 B) o$ _' Z& h
variable_name, uid);/ t) @# N/ N0 `( H9 M, d l
}
; `6 ?" o7 t: S: S2 ]: y* I0 U else ECHO("\t %s - POM_instance_exists: false \n", variable_name);
6 v2 ]) B3 f. o$ y4 \& ~6 p if(uid) MEM_free(uid);
- G9 A& K* b3 T$ o# }( f }" T& b* ~+ |0 M+ k, L/ \0 V9 o0 f
return (exists_in_db);* E2 k$ Q& ~. c
}9 N5 i& z* {+ \4 L1 k
|
|