|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
, j% }7 [' x' D2 f$ S$ yTeamcenter C++二次开发源码分享:创建item和item版本
# R# A/ u: X3 s' _# L7 N: v+ P* G; l1 L6 b1 t2 r
|% s5 P; Z1 U+ P' L9 |
通过创建businessobject 指定的createinput 完成对象的创建9 A# S8 q2 F6 \8 v
$ ]6 j4 x8 h% M. Q+ J$ R5 I0 k9 G+ ?0 e! k+ z( ?
- #include <constants/constants.h>
; l6 N8 U7 p \; C! } Y - #include <TCcore/Item.hxx>. p; p0 J# O. Z
- #include <metaframework/CreateInput.hxx>" _5 C4 a5 h$ X. y9 V
- #include <metaframework/BusinessObjectRegistry.hxx>
! C- Q! @* r0 b9 a
1 V4 E* R7 L( S9 D; S+ E- using namespace std;
0 |; B5 k- Y/ A( Q; V8 j$ j: n
. N& H( h& |$ S4 C- static void createItemAndRevisionWithDifferentNames(void)" n9 L% v- V9 R
- {
* F G' v! J* K# n3 X - int ifail = ITK_ok;) v5 d4 S! K& R
- . ~) D4 S `/ @# B: ?
- char type_name[] = "Item";+ M w7 G1 s& k5 Q0 y9 R ]
- Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));/ c% ?4 p/ s. X
( c1 H* @, B# f# j. p- //Revision type name is not always <item type name>Revision
0 F6 {+ [- j8 a* _' I& r8 |0 ~ - char *revision_type_name = 0;% ^* R8 b2 Y& Q# K3 b1 G
- CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);/ r6 `& T' @# G3 o3 t0 a4 m
- v2 G) O& _/ p: B% u w; ?/ T# H- Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));; L8 w" F% O; H, }' H$ a4 m6 ~; q
-
) | [; _$ ^' W9 D9 W& H - MEM_free(revision_type_name);
: g1 I9 ]6 d; u+ w
( [, s, O; W$ }7 [( M; k- // set Item properties
1 ?: @; B" j7 z" Q; k& v - itemCreateInput->setString("item_id", "1234567", false);
2 |2 n8 i4 ~8 } - itemCreateInput->setString("object_name", "My Item Name", false);
% U' F: z7 Y& o: b4 k - itemCreateInput->setString("object_desc", "My Item Description", false);) B% x4 G7 b: `" X
- itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
U2 Z, C2 C- h1 F4 M
3 I8 Y& k: S% h$ ]9 Z: a- // set Revision properties& k7 s' X* `0 E- [+ Q
- revCreateInput->setString("item_revision_id", "00", false);+ K' q: z$ S) ~, B+ r
- revCreateInput->setString("object_name", "My Revision Name", false);
, e! ?" U' l& i. l - revCreateInput->setString("object_desc", "My Revision Description", false);
7 Z* Y2 b0 `$ k. O+ k
& _: B J4 G. D* [- Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
* A+ G; w; d; m
9 t1 Z, r0 ~0 _- ifail = AOM_save_with_extensions(pItem->getTag());+ T8 g; L& ?, r4 L
% |8 s5 h9 Y w0 H# b4 N4 _! O: o0 _- // If the Revision is not saved it will inherit the Item's Name and Description.0 x! f# X( F7 G( v: e) t# L
- ifail = AOM_save_with_extensions(revCreateInput->getTag());
" o: m& x, c! W/ ^& f - }
复制代码 $ k4 n l" R+ O& }; ^
6 j& n/ o6 J9 e1 L8 d t# v |
|