|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- j6 @8 Z: S0 l& [; |9 U9 E) H/ H2 n
Teamcenter二次开发源码分享:判断对象是否存在在数据库中2 ~; Z6 @) ~4 I& h4 r' z6 [& O
6 [; x: I8 w- Q: V* B/ a#include <TC/tc_startup.h>
9 y/ s g7 |: _$ O# v9 D1 D& I3 u#include <pom/pom/pom.h>
& G; p- p" P4 }) m1 V/ W#include <ITK/mem.h>
+ L# u8 G, }2 h0 X8 I8 q#include <tccore/workspaceobject.h>
0 @& k% Z2 ?# _2 V/ E2 C, g! p. G h% a, i8 P3 |) \4 f
logical is_instance_in_database(char *variable_name, tag_t object)
9 l% x9 @" z+ j) |6 q# r{
6 Q$ b: D7 c7 W/ r" |8 c1 e logical exists_in_db = FALSE;( `+ X H' c2 u6 D
if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);+ f3 K- p7 }7 |8 X9 k2 K5 U
else" |5 J2 u" A# K8 I3 Q' b: A
{
9 i7 C: S1 T/ b, x0 h+ ~$ O6 I! Y8 X char *uid = NULL;1 W' O& d8 I/ u3 U" B+ w i
ITK__convert_tag_to_uid(object, &uid);1 S# \& }6 Q8 G- B+ N3 H( o# g* [
POM_instance_exists(object, &exists_in_db);
: y# Z/ s; |6 p if(exists_in_db == TRUE)( e) j) j1 X' b$ q3 s% }& B0 V
{
7 h4 x* t/ j$ \$ F5 ^ if(is_WorkspaceObject(object) )# @: N1 D- \0 w3 [. J) x: F; I
{ ]6 j) I* `2 E, Q6 T
char *object_id = NULL;
8 p% Q- s* l$ b. A# q IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));
$ J5 W' {6 A* W* Q. v char *object_type = NULL;
B' k# b$ J" R# H8 `" E) H IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));9 D t$ S4 A; R2 G5 O
ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n",
7 k B4 t- H; Q0 Z variable_name, uid, object_id, object_type);5 @& {2 l. _, g9 Q L) [
if(object_id) MEM_free(object_id);+ }: w. ]& o" z: ?
if(object_type) MEM_free(object_type);
( D4 O' N9 m) ^% j }
6 a. G8 N( {% G4 R4 w* V: E1 v else ECHO("\t %s: %s - POM_instance_exists: true\n", # \- }/ O# ]+ ?1 ?5 N
variable_name, uid); Z7 C7 c4 C3 g: g' V1 \) [$ s
}7 }* R$ d* C7 i) {
else ECHO("\t %s - POM_instance_exists: false \n", variable_name);4 p3 D7 S/ E1 L3 ?* t% l, z' ~* ^
if(uid) MEM_free(uid);
& u4 Y; A# u5 r/ n B) b: w. Y }
* s/ n# t! T+ T# X return (exists_in_db);4 R5 [: t H2 z& q5 y
}3 B4 p- j0 S' ~# n; y: y
|
|