PLM之家PLMHome-工业软件践行者

teamcenter二次开发源码分享:判断对象是否存在在数据库中

[复制链接]

2016-4-20 20:54:46 3829 0

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82172
QQ
发表于 2016-4-20 20:54:46 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
  z. q+ ~, M7 Q: r
Teamcenter二次开发源码分享:判断对象是否存在在数据库中) o/ ?6 ?- y6 l5 O7 E8 @& p
/ R1 ^3 ?) s/ @( s) g4 H: W
#include <TC/tc_startup.h>
9 u2 G7 S7 X/ n/ Q' v2 v#include <pom/pom/pom.h>3 G9 a  |0 S9 z( G* Y! V, A9 i2 f
#include <ITK/mem.h>
3 v" |4 V/ f' S5 a4 _7 k#include <tccore/workspaceobject.h>4 b1 r% d. p7 j: m7 G" l% u
4 ]  @/ ^2 F; J# I/ b, S! O5 n* z$ O$ A1 q
logical is_instance_in_database(char *variable_name, tag_t object)5 f4 M0 ~5 Q9 A2 Z# x- P  t
{2 z0 R. B4 V/ e: w' C& n
    logical exists_in_db = FALSE;8 C2 M6 j% ~3 ^: G# d5 E, b! P
    if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);
; a! `: k6 g  u6 \5 n; m    else* X* r. z' T5 r$ G1 H/ v% X
    {
/ @' t" L; S2 `) A' m        char *uid = NULL;
4 Z6 t3 q3 Q8 M        ITK__convert_tag_to_uid(object, &uid);7 X3 W" [  @) k7 f5 Y0 v3 v5 [
        POM_instance_exists(object, &exists_in_db);7 E. L6 P4 _9 Y- {' Z+ L$ |
        if(exists_in_db == TRUE), W$ `3 [( M+ _. W  e
        {/ r3 a+ A7 o* ?7 T  M/ O. k: Y1 N! j
            if(is_WorkspaceObject(object) )8 H2 Y/ `6 H" K0 f( M1 o
            {: g. X6 Z3 n" ]' o% d& e; B- b& x. t
                char *object_id = NULL;
) A8 U( W: n5 v( e$ _( K4 P4 B                IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));$ e" [5 a! z9 g; q! V1 B; `
                char *object_type   = NULL;4 Y9 d! ~! D: {  |4 ^
                IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));
( L0 g3 }# C2 _3 ]( X7 Y% F" W                ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n",
7 l, f! c  S( |& _# t                    variable_name, uid, object_id, object_type);
1 l5 h1 ~7 k2 b: y                if(object_id) MEM_free(object_id);
$ i: A+ }* r! i+ y; a) Y                if(object_type) MEM_free(object_type);
% i& j0 Q8 z# P6 S            }- b" D) e! ^: W. o
            else ECHO("\t %s:  %s - POM_instance_exists: true\n",
6 X$ Y' i4 Y% ?0 c6 P" G                variable_name, uid);9 H) P, n0 }) q- G+ u$ L
        }3 X+ _& S/ d  F9 a. \9 i0 w: W/ y
        else ECHO("\t %s - POM_instance_exists: false \n", variable_name);1 `8 V! Q: x1 L6 {2 e  L. B
        if(uid) MEM_free(uid);
+ H2 k7 H- @: i. H/ X7 L2 ?    }
9 l( J4 U; G! a7 S    return (exists_in_db);
0 {6 Q5 I/ O. f  X# q}
( y2 r1 ^: H  l, z! s1 Y
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了