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

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

[复制链接]

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

admin 发表于 2016-4-20 20:54:46 |阅读模式

admin 楼主

2016-4-20 20:54:46

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

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

x

# a6 r! y6 o8 H* o6 T# G3 D9 F4 bTeamcenter二次开发源码分享:判断对象是否存在在数据库中, a. g0 `, @! D2 ^2 X

! @4 h# ~. L) U8 V+ M2 `#include <TC/tc_startup.h>
1 s* `- f% h& S! B#include <pom/pom/pom.h># Q0 U* `) d* w2 e( _
#include <ITK/mem.h>
/ e$ I& R" `  a2 D1 q8 w2 g( W. H#include <tccore/workspaceobject.h>. B) k- h( x) L: J4 l/ n, ~

' p7 h) i" W+ plogical is_instance_in_database(char *variable_name, tag_t object)
/ X( R4 A6 t4 D7 ~5 x0 @{* `: h7 a; Z# [+ g" ]
    logical exists_in_db = FALSE;
' Y& L& Y; L+ v; i, i  _# J    if(object == NULLTAG) ECHO("\t %s: NULLTAG \n", variable_name);
5 @0 f5 \, c- `1 {    else
' M' @% X7 `+ i2 @& T    {
- e- G: [% n" |9 Y        char *uid = NULL;
  C$ X2 H( W& Z+ l4 G4 t' H/ a        ITK__convert_tag_to_uid(object, &uid);! c6 i! H# e8 P1 \1 r
        POM_instance_exists(object, &exists_in_db);
8 I1 g, d# c. q: R* Y0 o        if(exists_in_db == TRUE)
: k# Q7 k+ d2 [* m- q, T        {, f3 J& c" R3 W
            if(is_WorkspaceObject(object) )
8 o: {$ Z4 f$ F3 X: F* v/ }            {; x# p5 k3 o" g% Y. l; P& b
                char *object_id = NULL;* r" |# j% E8 p% x4 |+ m
                IFERR_REPORT(WSOM_ask_object_id_string(object, &object_id));2 ?/ d8 T9 z5 A' @# p
                char *object_type   = NULL;# I, A& N3 R" ^& L5 p/ O6 X+ m6 l7 n
                IFERR_REPORT(WSOM_ask_object_type2(object, &object_type));
; ]+ n8 I" M' R5 w                ECHO("\t %s: %s - POM_instance_exists: true %s (%s)\n", % D( u! y0 F/ p& E# F0 W7 e
                    variable_name, uid, object_id, object_type);0 t0 M) G7 D0 W) M
                if(object_id) MEM_free(object_id);$ X5 f5 `* G& ?$ W+ P/ u
                if(object_type) MEM_free(object_type);; W% C6 q9 e3 g; A' ]- n
            }; l, f7 o5 _3 M8 t" A4 K& U: \3 f
            else ECHO("\t %s:  %s - POM_instance_exists: true\n", : D7 f4 g$ Q5 c6 V% B
                variable_name, uid);
4 G  X+ H2 C2 y- L( J! ]6 j  Y        }+ k0 H7 C6 {2 L9 h3 V% Z
        else ECHO("\t %s - POM_instance_exists: false \n", variable_name);
' t/ R- k3 k+ u! y$ o0 u        if(uid) MEM_free(uid);" Z# X$ c- w/ s5 h
    }# ~' ]2 S2 T) m. _* w! X  V
    return (exists_in_db);
4 Y5 a4 b% j! _  G: E8 Y}9 n" {" W( w$ P
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了