|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
K( g: L! K" H& T. K5 q
Teamcenter二次开发源码分享:获取下一个Item ID的方法
! }9 s/ c& j" m! d1 K0 R8 X+ C; m* c) |+ }* N$ ?
[mw_shl_code=cpp,true]#include <iostream>
/ P2 Q; D8 i0 K2 F3 w/ H8 {7 O5 _- ^8 i& M% P
#include <property/nr.h>/ c1 K7 ]" P2 }9 h p- @2 g4 \
#include <TC/tc.h># ]" p2 l3 z; F9 a0 H4 }2 S1 L
#include <tc/tc_startup.h>
3 L" _( z& B5 E#include <tccore/item.h>, G2 ]8 n/ I* `1 L2 D) L+ n0 V
#include <tccore/tctype.h>
, H8 }8 ^" r# ] C; A0 {% R3 R3 j#include <base_utils/IFail.hxx>: U; Q5 e- H, w
#include <base_utils/TcResultStatus.hxx>5 a9 e4 n. |- {5 ], d# H0 S
#include <mld/logging/TcMainLogger.hxx>
@ }. n3 H. S. }+ I/ b, D; H X# I6 {6 E& L4 s% N1 T
using namespace std;) ~1 d/ Y- B2 Y* p
using Teamcenter::Main::logger;, v/ [5 b+ J- J
' u7 r4 b' a) K: ]4 e3 w5 _# F
int get_naming_rule_next_rev_id(tag_t item_tag, char **next_rev_id)
$ [+ {7 s6 v& X) B' P! |{5 [7 f+ _/ K* m% C4 A
int ifail = ITK_ok;# U: W8 N5 G2 G6 v) f+ ~
ResultStatus stat;/ k. C9 s/ j9 I( [! l0 j$ c( L
try8 k+ T) V u* }2 z; z0 {- ~6 p
{
, Q3 M" p2 h% Q+ Z/ s tag_t item_type_tag = NULLTAG;/ ~/ R6 Q" a9 n
stat = TCTYPE_ask_object_type(item_tag, &item_type_tag);7 t( y X! G7 ?% W
5 ~& ]& A; X8 {5 w6 i
char *item_type_name = NULL;: a8 D8 ~- ?; W; b. i; z( _
stat = TCTYPE_ask_name2(item_type_tag, &item_type_name);& N; v, ~, G' p2 Q9 E& {0 |
: A( C4 H, F0 R7 F* K7 J stat = NR_next_value(item_type_name, "item_revision_id", item_tag, "", "", "", NULLTAG, "", "", next_rev_id);! y3 }: N6 R# } G# f7 P/ f
if (item_type_name) MEM_free(item_type_name);
+ P7 d* d z8 o1 o) ~: w }0 g4 V) I4 P2 M: ]( o) F7 v
catch (const IFail &ex). s( q v: H2 c( D
{
6 O2 r0 r6 }4 \ logger()->error(ex.ifail(), ex.getMessage());- e+ Y( }, m2 a/ l- e6 L' G0 }
cout << ex.getMessage() << endl;5 {$ W7 k& V4 s3 ^8 r1 ]
cout << "error " << ex.ifail() << endl;
$ z% t' K4 Y" J; u% Q- A }
4 E8 V, ?6 o/ J# Z& c return ITK_ok;) J$ ~3 H& i' L( m2 T u' b+ l7 B
}[/mw_shl_code]
& }+ e7 h! A6 I$ F6 }5 g |
|