|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
" |/ X6 ^$ c# C& ]Teamcenter C++二次开发源码分享:创建item和item版本; N; \7 l( A+ [( i% f- K8 P2 c$ P$ Y& c
3 a. N0 Z& L, ] _
5 r( ~1 i- O" F8 N8 b% i% _
通过创建businessobject 指定的createinput 完成对象的创建/ m6 O- R5 {; r6 U* a) H* h- o
" |5 r( D- b( O6 ^% v% T
: U, [3 V: |0 S- #include <constants/constants.h>1 R3 ]$ y5 {$ \+ n
- #include <TCcore/Item.hxx>
& g" t! e: g' B. z9 b - #include <metaframework/CreateInput.hxx>* G3 ^7 ^' v; O8 w! I
- #include <metaframework/BusinessObjectRegistry.hxx>& t- @( z4 g$ p0 e3 S& y/ w
6 r5 _" N7 X7 L% z8 Y4 L2 v' W- using namespace std;: S. Y' z/ b3 ]( s# ^
3 m5 F1 A0 j3 W% @ j$ ^7 k- static void createItemAndRevisionWithDifferentNames(void)
3 q+ d7 u0 }* G: {4 i2 i* u) w - {5 |; v. `7 f$ `5 w
- int ifail = ITK_ok;& x* h5 N8 U0 l# ^/ K% s( O
- 8 g" ?' E( Z! z" |7 X( G
- char type_name[] = "Item";) _3 X2 D6 O s2 J/ K
- Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));
# s5 a; N3 e0 x2 J+ W% ~
! t( R# U4 s7 j. c- //Revision type name is not always <item type name>Revision
+ y8 T) d# S' C# m, N i - char *revision_type_name = 0;
2 o' J# K$ u9 X. J7 l - CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);
# v$ V4 p5 v* ?: ]- |( \+ B - ! B* m4 d- Z4 G0 b+ S# P
- Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));3 L3 T) q0 j0 ^* f$ @7 l
-
0 O& y3 A) K7 [; f4 V$ r1 W - MEM_free(revision_type_name);
2 P+ C+ ]0 A9 U/ B6 A t5 z2 ]) F- M
! E: p7 V! g5 c- _8 r$ W( ~+ P' V) G- // set Item properties
( L; S) e `0 u8 c% g, r - itemCreateInput->setString("item_id", "1234567", false);1 j7 {& @9 `! w n; ~* J
- itemCreateInput->setString("object_name", "My Item Name", false);
3 y. g' Z, t- @ F0 e8 I) I" Q: }2 \ - itemCreateInput->setString("object_desc", "My Item Description", false);, @* N2 F( `( c9 Z
- itemCreateInput->setTag("revision", revCreateInput->getTag(), false);9 A& f, \8 F8 k& O; m& y$ G
- ( n8 _6 ^1 E1 v
- // set Revision properties. |! ?! y* ~' o* r( O! N% O' G
- revCreateInput->setString("item_revision_id", "00", false);
+ |1 z- ?1 R% E( v `, _1 u - revCreateInput->setString("object_name", "My Revision Name", false);
B7 e% H% X4 P5 s- f T - revCreateInput->setString("object_desc", "My Revision Description", false);
& b/ ~! P3 T' H p& J
) Z+ r; O6 G% ^- Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
8 U' \$ G4 b, |6 D& G$ o - 6 l8 m/ I1 x! B% l( q4 A
- ifail = AOM_save_with_extensions(pItem->getTag());5 _% [, X6 y, a8 R. `( v3 }9 |: A( z
- / f+ A; `, z2 r8 k: z
- // If the Revision is not saved it will inherit the Item's Name and Description.
0 \5 h N9 c; F2 C1 X$ E. P& R% n - ifail = AOM_save_with_extensions(revCreateInput->getTag());% w8 c6 b+ u9 C& N9 ^
- }
复制代码
Z% u5 P# K; X6 j& O+ s ?$ `. r# E S, _9 Y2 u
|
|