|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
8 Y6 w, U' _. n) U
Teamcenter二次开发源码分享:判断对象是否存在在数据库中
- ^: W* m* G6 C# ~1 G1 L+ T6 g
9 O% d( Q. U: Y* t [* K- T#include <TC/tc_startup.h># p& n. ]. c+ B. {) P
#include <pom/pom/pom.h>
" k* E8 ]" Z1 j2 h0 f" q#include <ITK/mem.h>4 Q. A, X1 Y0 O
#include <tccore/workspaceobject.h>3 ?1 u8 M6 w% y$ ?
, G$ U& Y5 \5 g' E
logical is_instance_in_database(char *variable_name, tag_t object)
/ r2 _ |* o/ v! v: o8 W{
0 K) Z7 b7 `1 B+ d9 f! { logical exists_in_db = FALSE;
4 \4 q0 U4 G5 p u3 V8 U1 J2 u) E if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);
' z1 {$ j4 Q8 f& o5 w8 @ else9 j5 u/ j& V, ~/ d. C5 j* {
{% I3 A3 \5 e8 t& V6 b' K5 D$ y! f
char *uid = NULL;4 w( W& k% D* ]2 F- ^' U3 H
ITK__convert_tag_to_uid(object, &uid);
& U9 q2 a' g0 [% C* f POM_instance_exists(object, &exists_in_db);+ a# w! u! o Z5 B" G
if(exists_in_db == TRUE)
! d9 T4 H; R* l2 W% y8 V; l! ] {3 F1 X5 L4 p6 q, ^$ V) c
if(is_WorkspaceObject(object) ) H" ~. P) R* f( |2 h* R" G- `
{
* K( [; q8 M% N) E! o char *object_id = NULL;* S* a* ~& C0 b6 I7 q
IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));
+ A/ k0 Q, E; A+ H char *object_type = NULL;" b( y) A! m0 l. ~* x! N
IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));. E" z4 h1 I# V+ ^9 D' v& \
ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n",
& B0 i6 [' R$ \ variable_name, uid, object_id, object_type);) q; c0 t0 }! x/ q
if(object_id) MEM_free(object_id);: | o) ^7 H [& s3 v- l+ X7 F
if(object_type) MEM_free(object_type);
4 b0 _1 L0 h n( P0 i }
* C# P5 o0 O) O else ECHO("\t %s: %s - POM_instance_exists: true\n",
5 O O+ x3 c. z3 y h& L variable_name, uid);5 a7 ]' x$ o$ u* M
}
3 w: x, L7 B. \' h' H& U7 C6 k else ECHO("\t %s - POM_instance_exists: false \n", variable_name);$ y, P5 E$ {: a( Y/ D J
if(uid) MEM_free(uid);9 Y1 d/ }' K( A# P
}
$ X0 G0 A; v2 ]% o1 ]& z return (exists_in_db);
! W$ k, m0 X" I& P X}
7 G3 u! S8 b) j4 E- U$ u |
|