|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
3 q" j; A. R i3 [, BTeamcenter C++二次开发源码分享:创建item和item版本7 b6 L/ N2 l1 T+ W8 k
8 I# }& h# k# [2 K
; u" Z0 j6 C J% u; J; K( _0 F! q通过创建businessobject 指定的createinput 完成对象的创建8 Y- D0 ~; y1 `4 m! e; s6 N$ { q$ J
8 C) k! u# T1 C4 a& i* x
' b1 ?& ]. N( c+ \2 ^7 h! ^* a/ U0 S
- #include <constants/constants.h>6 P7 c2 o, Y7 e" D W( _8 W* Q
- #include <TCcore/Item.hxx>
0 o/ a) Y) a1 h - #include <metaframework/CreateInput.hxx>
% Y$ G/ H: B' \" u - #include <metaframework/BusinessObjectRegistry.hxx>
' B# @" I) R3 K }
3 F7 _$ |* M7 D7 H- using namespace std;, e& w# t' e: E% v9 ~' c3 w% h
- ' [6 F# e7 t6 O. l% v! _3 H, W
- static void createItemAndRevisionWithDifferentNames(void)- t3 h, x' T: {) d" s0 Z: f
- {
. s1 |* e% \7 R0 X4 | - int ifail = ITK_ok;& N: W m; |; @, F' C6 Z2 ?: c, y
- ; I( w2 e$ E# N5 Q
- char type_name[] = "Item";% c2 x; y2 J/ H& K/ q0 X+ V4 P
- Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));
5 @, [4 e' _& g8 @& H! e - 5 B O( J) t/ D- Q5 B5 N) F( ?0 Z/ X
- //Revision type name is not always <item type name>Revision C" j( {: p( M z8 v8 i
- char *revision_type_name = 0;
4 V; L' c M% s+ N9 Q - CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);
% I% ?' ?) Z1 ?- Z - , `/ M3 }% a9 h
- Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));
) ~; l/ d9 C& F -
5 l7 y7 }* x; b0 k - MEM_free(revision_type_name);9 L# a* a4 S- f7 U7 h- s9 b& l
- 6 c2 F6 G) G' z4 J
- // set Item properties
( y9 l6 C# C5 `- ^7 q; n* i - itemCreateInput->setString("item_id", "1234567", false);
' ^, m$ e6 U+ P2 T$ d - itemCreateInput->setString("object_name", "My Item Name", false);
+ ^4 M4 F% U: m6 @ - itemCreateInput->setString("object_desc", "My Item Description", false);
" P$ P# @' ]; i M - itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
- N' K3 \& t3 o# v - # i% {: [5 U$ U& A6 {
- // set Revision properties0 W/ \- [ O0 j( W1 a4 d
- revCreateInput->setString("item_revision_id", "00", false);
& Q( R& x8 M* G; m1 x! \' Y% r - revCreateInput->setString("object_name", "My Revision Name", false);! p2 [5 H. B& L/ J% p! W
- revCreateInput->setString("object_desc", "My Revision Description", false);
1 y9 B3 M. E7 Z. _* J' ^5 e- u* O( r
% \3 b; q G; c C0 E2 l( j- Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput)); u- N2 ?- k* R: b. R" Q* u7 p% P2 x# U
. \/ Q# C G; Q5 v& |- g" E- ifail = AOM_save_with_extensions(pItem->getTag());
* T: [1 H" U! u3 x2 T - ; D8 T& z5 @) \( B! V
- // If the Revision is not saved it will inherit the Item's Name and Description.
$ n8 V+ ~/ W: e: u; [2 n' ]1 \( F: L - ifail = AOM_save_with_extensions(revCreateInput->getTag());
1 E+ I$ c5 D0 k1 d' D9 f! j - }
复制代码
0 B+ H: F% o) ~2 d2 [9 ?3 o
% c- B3 |( x% u: y' U |
|