PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2016-4-20 20:54:46

请使用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
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了