|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
( p# W+ _% O2 G* RTeamcenter二次开发源码分享:获取下一个Item ID的方法
' `1 s; R' s) C `8 z/ N" F0 W# o
[mw_shl_code=cpp,true]#include <iostream>, \+ X. w) E3 I8 M5 F
* B4 K1 x0 }5 l, ] f
#include <property/nr.h>
+ h: _9 L4 U. i0 m% Z#include <TC/tc.h>
) h) [( e0 H' f( M4 s3 E#include <tc/tc_startup.h>% I# z) ~+ A3 A6 f; q' }7 ~
#include <tccore/item.h>
2 a' J4 R2 Q4 L* O#include <tccore/tctype.h>' E7 C( f4 v+ A/ J! G9 `
#include <base_utils/IFail.hxx>
0 i, q# c4 g$ @% m1 j+ D5 ~#include <base_utils/TcResultStatus.hxx>
* K. u/ w2 S9 g! N: W7 j5 t#include <mld/logging/TcMainLogger.hxx>
3 ?9 q" [( C+ C. n" m/ R# q' K
* R2 [! w0 B( A- i0 R4 W. a3 musing namespace std;
0 ]' I' P; b8 a& }; e7 ~2 U3 V# Eusing Teamcenter::Main::logger;
% T& J5 O2 G. {! B' N. g6 Y2 I' T6 y1 h1 y: n, f3 U
int get_naming_rule_next_rev_id(tag_t item_tag, char **next_rev_id)
k+ v+ U2 W1 c5 R% T" f{
5 o* M) D! K$ g; u int ifail = ITK_ok;
$ U" ^# d1 J* `2 [4 X* I- i* X3 u ResultStatus stat;$ `7 e2 p6 o7 i7 f8 { f
try
! j/ P/ k; S1 T' K$ j s { j6 V* n- N0 h `7 W, X
tag_t item_type_tag = NULLTAG;, B4 q* o5 M( X# a. D
stat = TCTYPE_ask_object_type(item_tag, &item_type_tag);& D0 Q+ u, m4 Y' c
3 `0 Y+ K3 ~7 }' [ char *item_type_name = NULL;7 _: Q% A& R# L, A5 \* h
stat = TCTYPE_ask_name2(item_type_tag, &item_type_name);
: |1 p, p: l* u. }4 `# Z( D, J8 C4 b3 e" y
stat = NR_next_value(item_type_name, "item_revision_id", item_tag, "", "", "", NULLTAG, "", "", next_rev_id);
! V: i4 L4 m0 j* d if (item_type_name) MEM_free(item_type_name);6 O( G* k# O2 c4 j9 M
}
$ B2 z5 D! p- x/ M4 O; e1 z7 U. a- l catch (const IFail &ex)
7 B9 F G: ^- x1 d5 W8 L2 Z {7 [2 z, j* O. ~' \% p
logger()->error(ex.ifail(), ex.getMessage());# q- _" B1 D. q2 Q" w; p* w- }
cout << ex.getMessage() << endl;
- Z- S+ a6 ?, ]' [, @% p cout << "error " << ex.ifail() << endl;
5 N$ A+ V# h$ [1 v) I) d* k1 X }
v/ T, O+ g8 b+ n, a% q! |/ r0 i& j return ITK_ok;9 Q6 X1 U' V4 I
}[/mw_shl_code]
; |- n8 ^7 z* M; K; D& _! Q- u |
|