|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
5 O; G8 \7 S. D$ l1 \Teamcenter C++二次开发源码分享:创建item和item版本
5 _/ J( t' P C/ ?* Q* G' c6 e$ g" i
9 u! x5 h1 R) n. \通过创建businessobject 指定的createinput 完成对象的创建
/ x `0 X2 _/ H' X S3 |
9 n4 d1 ~4 E5 K5 M# s8 |: p, n( G" u( O8 Q' W! N
- #include <constants/constants.h>' s$ g n) Y. w& \' X# d; |1 F
- #include <TCcore/Item.hxx>
2 o+ P: K9 U2 W; J( Z# N k* b. R - #include <metaframework/CreateInput.hxx>. w% z3 F: l4 Q
- #include <metaframework/BusinessObjectRegistry.hxx>
7 v4 z+ q' t" n; ^' J6 C& Y$ v O
6 J$ h! i! X( @2 \3 a4 X- using namespace std;7 x/ I% g( D% @8 y' F
+ {: Y g% R0 S$ p9 }$ B- D- static void createItemAndRevisionWithDifferentNames(void)) r8 u; L. q/ @ n$ \
- {
, ]' c* D, r" A) @ - int ifail = ITK_ok;
8 g9 g9 r# F3 k+ b
. F' b; ^" c. E, {( v/ l! Z# u- char type_name[] = "Item";2 K6 N2 c5 l7 X! j& ?' W, d
- Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));
) |$ l* D- K) O% A2 c7 P
# c& z4 |. H6 @- //Revision type name is not always <item type name>Revision
; K7 t( S; `2 \ - char *revision_type_name = 0;$ H8 ^- R& M* x/ ?0 o3 ]
- CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);
2 E3 h8 Y/ Y/ [" ], o' _: _
% B- K4 c; q! E- Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE)); b% p3 s S' w5 |. N" e
-
1 h: C5 D0 Z1 z: Z3 | - MEM_free(revision_type_name);9 [3 B% S h/ x% b) W8 b( a# }* |& Z
; u9 g0 f1 d. w: [' D- // set Item properties
[: o1 c( I1 L5 T2 `3 ~ - itemCreateInput->setString("item_id", "1234567", false);, j5 H3 r+ h! j X; \$ c& z/ c+ T! B
- itemCreateInput->setString("object_name", "My Item Name", false);2 M3 g0 {% z2 |& {
- itemCreateInput->setString("object_desc", "My Item Description", false);
4 ?9 \8 f3 Y1 P1 a/ o6 `+ F - itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
+ a; X- K) u9 D/ J2 V: k9 l - & U2 q! S& {4 h6 I6 Y" c$ j9 |
- // set Revision properties
1 ^; r# J% e7 B2 w - revCreateInput->setString("item_revision_id", "00", false);
# e& T- l) Y0 i* B: W - revCreateInput->setString("object_name", "My Revision Name", false);
* g3 Z% l/ `6 i - revCreateInput->setString("object_desc", "My Revision Description", false); [( f3 ]2 f- b: C
7 q$ F( A* _+ C$ O D0 B3 k- Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
) Q6 Y T- I- `
8 u1 }2 r, i+ |# V* J- ifail = AOM_save_with_extensions(pItem->getTag());( g3 Z; B0 Y, |- w
- & O) `! u2 C0 Q& D. z6 t& W
- // If the Revision is not saved it will inherit the Item's Name and Description.% G+ J& ~& W: n. c% w
- ifail = AOM_save_with_extensions(revCreateInput->getTag());' s# c- H0 \; {" P9 L0 A4 @
- }
复制代码
; \, @' Q! m$ M8 k& l; i$ Y2 Z- [" C. F7 |5 R/ k- f) ?
|
|