|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
$ e& Q! D. U! KTeamcenter二次开发源码分享:判断对象是否存在在数据库中
4 V; O9 i5 g4 g% G8 O
, N7 Y9 f' T6 ~5 h. ?- a#include <TC/tc_startup.h>: k/ U; H$ s- G: h" y/ A6 ^4 M; K
#include <pom/pom/pom.h>
2 U, b' E; \ y& x/ I#include <ITK/mem.h>
5 d/ o$ q# k H' O- t: D! f8 }) O#include <tccore/workspaceobject.h>
3 R: F6 | `" e7 @( K0 j
0 s* m9 C/ T! `2 x3 @- L7 tlogical is_instance_in_database(char *variable_name, tag_t object)9 V$ k( Z) b. Y
{
8 Z# U- v7 R! { logical exists_in_db = FALSE;8 s0 O% c! P, a& u/ n# E7 ~
if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);
; H- ?1 T8 k. J/ y% H9 } else [6 x1 ~; ]& a/ v3 u
{" y) }3 {' X- N
char *uid = NULL;+ `& D- U L% S$ M
ITK__convert_tag_to_uid(object, &uid);% V3 z- T0 D, I$ _5 n1 \ k
POM_instance_exists(object, &exists_in_db);
3 B; u: P( ] E0 e if(exists_in_db == TRUE)
, {$ C# S9 Q1 ?3 a {
; |# V8 M" D2 ^2 h* j& a' X if(is_WorkspaceObject(object) )
6 J- E3 I8 U* h5 I- m* x% H {* j7 V1 U. i8 _5 X5 r- i
char *object_id = NULL;1 s6 M: ~# q5 ^9 C. O4 w
IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));
3 W5 s, i+ U0 P! ?5 r char *object_type = NULL;
4 i" U* W" ~* d3 Z& a- v IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));) V8 }8 R0 ]+ c: R
ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n", 8 _/ [2 w+ o8 y* I
variable_name, uid, object_id, object_type);
8 G; r2 ?: W) y9 a0 o if(object_id) MEM_free(object_id);
0 Y! v8 S/ @5 g if(object_type) MEM_free(object_type);
% C5 p7 h$ G N" B }
1 \+ ^# y$ k4 v9 o# Q4 i else ECHO("\t %s: %s - POM_instance_exists: true\n", / \7 d9 E' D( v
variable_name, uid);1 z. q4 Z* P4 n2 c3 A" r, h
}8 S0 Y( o/ M; ]1 A7 b. [
else ECHO("\t %s - POM_instance_exists: false \n", variable_name);
2 Q+ u' c- S+ n( `0 Z$ {$ i if(uid) MEM_free(uid);
# Y6 E3 W% g5 ]% u }
5 s! i6 E4 F' u% r1 a/ E return (exists_in_db);; I7 ^/ r( I- }- A, Y
}
- {; j& L* V t6 S6 v |
|