|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
5 B+ R- m- g9 ]8 K0 t
Teamcenter二次开发源码分享:判断对象是否存在在数据库中3 r5 ?# J: f( R* M' ^
7 S" [' B8 o7 Y/ ?$ Y" _
#include <TC/tc_startup.h>
7 r1 ~1 a4 g4 z+ ~! ^1 {. E3 S7 t: |#include <pom/pom/pom.h>
+ H" _: W( K6 P* Q6 y5 L" O#include <ITK/mem.h>5 S* c( J4 Z3 |7 c$ i" E
#include <tccore/workspaceobject.h>; s3 Y* B4 K& Z0 A7 ~
3 z' {( Y0 J4 Q$ |1 [logical is_instance_in_database(char *variable_name, tag_t object)# f( K' _# A4 O- b2 b5 p; Y$ t
{& q; w- Z$ W1 I, m& n
logical exists_in_db = FALSE;- G- c" N5 d" d0 u0 z: @
if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);/ X0 v, W$ B8 N' l
else4 I! P9 c/ ]( j% W
{5 `5 T/ S" u1 o; }2 i) ]
char *uid = NULL;
$ D2 P' H. c/ F' Y' Y" e, Z ITK__convert_tag_to_uid(object, &uid);6 U* D7 C! T7 k* }. c
POM_instance_exists(object, &exists_in_db);
8 p* V7 T. p0 S8 c7 I8 E if(exists_in_db == TRUE)
7 r3 E& B0 _. t& q4 I- S {
* m" g4 e; p# @( G% T6 `2 v if(is_WorkspaceObject(object) ), m9 o# l4 B1 P, z2 O
{
) G. X0 ?6 x3 k& O! Z0 p char *object_id = NULL;* ~6 C# b' @3 J* R- Z& `
IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));
9 a1 t/ f9 D, [' v; V0 k' O char *object_type = NULL;$ O0 p5 M/ [& f7 H$ v2 [
IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));, I* l8 A- P4 r+ P: c% s
ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n",
) @$ J2 p( x8 }5 }+ B variable_name, uid, object_id, object_type);$ }+ K4 V) N! U
if(object_id) MEM_free(object_id);
; J) l8 v2 u5 j+ L6 D$ h if(object_type) MEM_free(object_type);; f6 \4 J* |' k
}
! w# i% ^. i9 H0 { else ECHO("\t %s: %s - POM_instance_exists: true\n",
! C. _( c% o- P: ` variable_name, uid);
, |+ h' h1 A( b, V }: Q! o. K6 c E4 ]2 v8 w8 X
else ECHO("\t %s - POM_instance_exists: false \n", variable_name);
7 M% w2 A# k# w8 k; C; F. L if(uid) MEM_free(uid);# c3 i% O% h. y+ v! w
}
. F2 Z( L7 y4 i" N2 e+ ?5 f return (exists_in_db);
1 P5 T1 E# i- [ w# \* H2 f}4 P# K/ n' j4 B' w8 e
|
|