|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
2 ` M2 s' v9 l0 sTeamcenter二次开发源码分享:获取下一个Item ID的方法- n# k4 e1 Y9 ~! ]2 U: t
! G/ |$ E( c& @' @0 q" J2 z0 G8 _
[mw_shl_code=cpp,true]#include <iostream>4 b% n, y* R( v8 V7 {% H
M* X, R' ^" |8 A! w( z
#include <property/nr.h>$ k$ ]6 w, W, l" E4 M- [2 x
#include <TC/tc.h>! N5 L. ~9 v% x
#include <tc/tc_startup.h>
. z: ]9 i0 K- {/ R. @% a& ]; T#include <tccore/item.h>7 b: N' t( f; j, `
#include <tccore/tctype.h>* ^1 E/ {# V2 @# B2 C# |/ Q
#include <base_utils/IFail.hxx>4 X6 O& u0 @. W3 x7 g
#include <base_utils/TcResultStatus.hxx>
( U+ _. J7 ^2 Z; i* J( C#include <mld/logging/TcMainLogger.hxx> J0 h" ~1 w# @$ B' y& C
+ O) Z, k8 E5 {5 v
using namespace std;) p( y( L' \# a
using Teamcenter::Main::logger;4 s3 v' N( W: v% H
# x& v v, S! J; s9 Q% i+ `
int get_naming_rule_next_rev_id(tag_t item_tag, char **next_rev_id)* L+ i5 W1 w: F2 m5 t% x1 v k8 j. N! _
{0 f1 m7 @. q) ^, R
int ifail = ITK_ok;$ v2 @9 {6 Z b+ {5 ]2 A
ResultStatus stat;
+ H+ k' x1 {# H, V# t2 o3 { try, v& G5 q7 `$ `) [1 N
{" Z/ z6 X3 f4 i* Z7 Y+ u+ X/ T* K
tag_t item_type_tag = NULLTAG;7 B% c2 @8 S, @$ t5 g& e
stat = TCTYPE_ask_object_type(item_tag, &item_type_tag);+ h4 z, h$ O' v* a: i
1 {, [: C, k: Q& J& _5 u- h char *item_type_name = NULL;
4 J5 ] E$ s" p6 ^ stat = TCTYPE_ask_name2(item_type_tag, &item_type_name);
& `+ @' l. I( s2 h! F' W" L
1 ~' l& g* Z* q9 f- Y* T stat = NR_next_value(item_type_name, "item_revision_id", item_tag, "", "", "", NULLTAG, "", "", next_rev_id);2 H: P' y4 d3 ]+ O% F
if (item_type_name) MEM_free(item_type_name);
9 g, `0 y& d) B Z! q: X }
( M. j+ [. _( m- n9 v. y catch (const IFail &ex)$ K8 y' ~0 b! O% v4 r8 ^$ w/ s
{. ^7 E) z" M i' m1 b
logger()->error(ex.ifail(), ex.getMessage());
3 S7 B/ c5 `" m; r9 @8 q cout << ex.getMessage() << endl;
' x" J. l, S4 B& d! k cout << "error " << ex.ifail() << endl;
g# E' Q% G1 q# ?1 B$ X/ ~$ D }
9 O5 y. ?" B. u& d1 d return ITK_ok;
& G) R. h: K1 |) z$ ]( v& V}[/mw_shl_code]6 z: G4 [ u0 J$ }$ w) M
|
|