|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
) v% ?: O7 S9 _Teamcenter二次开发源码分享:获取下一个Item ID的方法; D9 I) [* K# C! t) Y
3 ^6 I% H+ w7 I( P( c: k
[mw_shl_code=cpp,true]#include <iostream>% a0 @* o$ b8 [& q: {- g' X7 b% {
# j9 k0 d8 R/ ?& P1 n2 {7 m6 A5 D#include <property/nr.h>
& t% x/ x1 i: \#include <TC/tc.h>
, x/ C! Y; o( A$ K; }#include <tc/tc_startup.h>* S: @! h, R, D* g( |
#include <tccore/item.h>
' ^, H0 D$ n4 z" v9 l+ ^. d#include <tccore/tctype.h>
+ R; H6 w, m5 o#include <base_utils/IFail.hxx>7 O+ b: w/ {: h9 [" S
#include <base_utils/TcResultStatus.hxx>8 p( l5 K% s% K7 h: B- |; c1 T1 {+ A2 H
#include <mld/logging/TcMainLogger.hxx>8 }1 z9 r( x" M8 [
- _2 S6 w+ O( ^( m' L& O9 C
using namespace std; R8 Q. |9 M3 n8 T) V' i' Z
using Teamcenter::Main::logger;
1 [5 Y+ d* `$ r: l$ a
; [2 m7 E5 P, P" e. s& O: b& t4 ?int get_naming_rule_next_rev_id(tag_t item_tag, char **next_rev_id)
% L2 v; _5 c# W{5 }# s F. X! p0 r, F( l+ y; S
int ifail = ITK_ok;) b$ T4 E5 E- T6 O# ~! }
ResultStatus stat;
9 }. T/ }& i; v! l# m1 o+ i% Q try" p, R* c. a0 @1 `% w3 A1 m* w3 T
{
7 R: H7 ]1 o5 l6 k: V tag_t item_type_tag = NULLTAG;
/ [. q" d" o) H, o! a% k stat = TCTYPE_ask_object_type(item_tag, &item_type_tag);
A: ]8 G3 P, n: Z. e- P3 S' \
$ m/ v5 a I% @ char *item_type_name = NULL;# L: g# n: O9 m, X1 N5 j4 n
stat = TCTYPE_ask_name2(item_type_tag, &item_type_name);
1 @' w# o* a! a9 j: _( z: n( e3 ^9 d1 n
stat = NR_next_value(item_type_name, "item_revision_id", item_tag, "", "", "", NULLTAG, "", "", next_rev_id);
/ ^) M L, p4 {4 C* v: O7 B% ^, O' h" J if (item_type_name) MEM_free(item_type_name);& N$ e! f/ G+ F8 b5 j5 A9 E
}
@. G: g' J3 d catch (const IFail &ex)7 g" m8 @ y% C. `, x
{6 v% w) Q2 @7 n9 d
logger()->error(ex.ifail(), ex.getMessage());: T2 T" G& f+ j9 A& A1 I# G
cout << ex.getMessage() << endl;
) C6 m9 r B% J, l cout << "error " << ex.ifail() << endl;$ I: [ p! _% a4 r
}; h; ~* P3 m; O9 I! k+ L
return ITK_ok;
2 j* E; j1 L: s! h+ k, D3 X# J}[/mw_shl_code]
3 k( E1 k# R& x- G+ a3 s4 {6 K |
|