|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
( Q$ m* z' h0 V5 z+ g* R2 K
Teamcenter C++二次开发源码分享:创建item和item版本3 |6 p3 T8 R& Z, |8 ~
; W% r v* X" |: c3 D+ K9 ~- O
: ]) R' p# p! z# u通过创建businessobject 指定的createinput 完成对象的创建
, ?( @, R. h5 H" W
0 v9 V: Z- z* K3 B8 E& B
1 m) _: [4 @+ X$ T& N1 y- #include <constants/constants.h>8 N9 A0 I# T: W: K3 y( l
- #include <TCcore/Item.hxx>
3 |1 c; }1 X1 E3 q/ X8 T - #include <metaframework/CreateInput.hxx>) i" d$ d0 a- t1 j# f
- #include <metaframework/BusinessObjectRegistry.hxx>: m v- N: Q: K* q
- i4 h7 c9 I N- using namespace std;3 x) o; {, M0 g. F7 t8 J( W! [
- ) {- d4 d1 I7 b( K2 y. ~
- static void createItemAndRevisionWithDifferentNames(void)
0 E, S, ]6 W; E0 i, Z - {# a6 t3 U" Q5 l
- int ifail = ITK_ok;7 g, B4 O+ `+ q: j
9 ^! _& y' x8 |6 C* Q5 Q; s- char type_name[] = "Item";
7 z1 w* W) t& p* B0 Q/ N' { - Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));
; l' b; x5 w2 Y$ t" J* D
2 N2 \! r& L! K Q- //Revision type name is not always <item type name>Revision0 b) n$ z4 A$ c& ?( s S0 [
- char *revision_type_name = 0;0 A$ T; H3 |$ i* V8 p# j
- CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);8 W) w2 ]' g* H H0 Q- b: i
- & n5 t% v0 ~' b
- Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));. I# K" U% x: M: \0 J' S- R
- ' j2 |# x+ }5 E: q
- MEM_free(revision_type_name);
4 l( a- O/ N2 d# C- `9 H; {6 [* f
7 x$ L- l# x4 F: h1 x- ~6 d- M8 E- // set Item properties; \3 w2 |! S, a* x2 L
- itemCreateInput->setString("item_id", "1234567", false);6 {* }# F* p) t( R- ^4 E: u- O+ F
- itemCreateInput->setString("object_name", "My Item Name", false);0 F6 A6 c1 C& ~9 c
- itemCreateInput->setString("object_desc", "My Item Description", false);
, A$ X6 ?# ^/ A8 P& I* M+ i - itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
- W0 A4 o0 a5 R. R - 7 g) J5 p8 O& c+ s$ ^) d
- // set Revision properties, V0 B! S- a x8 u
- revCreateInput->setString("item_revision_id", "00", false);$ o8 f! B6 T; D$ P P$ u7 n# D, n; {" [
- revCreateInput->setString("object_name", "My Revision Name", false);$ P+ y" d p* p6 R
- revCreateInput->setString("object_desc", "My Revision Description", false);( x8 m+ d2 q7 c8 B5 v9 W f9 k
o+ A4 W ^3 o$ {, K- Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));! a- ~( N( m$ I6 G+ n3 b* S
3 {( B+ j/ v) f& y- ifail = AOM_save_with_extensions(pItem->getTag());
& o. K, k, Q, p' C. e - ( u2 [+ q# G" @. n& {
- // If the Revision is not saved it will inherit the Item's Name and Description.2 P/ q# Q+ H, z6 m
- ifail = AOM_save_with_extensions(revCreateInput->getTag());
7 {$ q( ~% l/ V4 |; f - }
复制代码
3 }7 _ K( I. ^7 f! ~) U) H. @. O0 A( c" n2 I8 ]0 e( R& X
|
|