|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
( S& V4 B5 R* x) Z- _1 L. v) UTeamcenter C++二次开发源码分享:创建item和item版本: o; T# Z+ j! Z8 `6 _
# ?, M7 q$ `4 I' N/ l' q+ o# f& i$ u; Q
通过创建businessobject 指定的createinput 完成对象的创建
# }& |0 r* Y8 q0 j- a; N+ u6 q) }1 T! W' v& \# Q c2 w5 ~, |0 M
; X5 d2 a# C- B, f) O$ {
- #include <constants/constants.h>
9 [2 M, v. T& b! M! K1 O6 D - #include <TCcore/Item.hxx>, L% X$ Y W# z4 N9 C
- #include <metaframework/CreateInput.hxx>/ s6 c6 Z8 {# u* v" F9 u6 |4 {9 J% L& R
- #include <metaframework/BusinessObjectRegistry.hxx>" _# N/ r: I; X) a' D% T, s/ }! w1 O
- # }+ Q7 C' C2 g0 C
- using namespace std;
^* y7 e3 c2 g. K' H( Z1 e; e8 E
# L3 F! J. g" |- w) l- static void createItemAndRevisionWithDifferentNames(void)! P) o% \* [9 v: r j g
- { p0 F' V8 z- H3 o/ a
- int ifail = ITK_ok;$ t' r, V' A" D- o
- 9 f5 C6 Q& _) C; i t+ j0 V, h
- char type_name[] = "Item";
, [0 A+ Y3 a% @& q; s4 o - Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));3 Y+ `* ]8 w( x0 s) K! p
( h; r$ } h# ^1 t* c9 N- //Revision type name is not always <item type name>Revision# t% h0 Q6 [( _# e) T
- char *revision_type_name = 0;
4 L* S" y/ l% q5 v8 K- P t - CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);- a4 a% O2 f- i/ p+ M
; i) W: P) J2 x, k z C- Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));' O8 R0 X: i% B1 a- I3 d
-
' k( h1 d+ O6 F+ T( n, ?* i& w% ]% I - MEM_free(revision_type_name);
6 F b. l$ r6 ?* W1 C1 b2 d0 f
( N/ Z& r/ f# b- // set Item properties
6 P3 `) ?% d# W- ^' x; N& o1 y - itemCreateInput->setString("item_id", "1234567", false);# j$ |2 b1 v; P9 v; i
- itemCreateInput->setString("object_name", "My Item Name", false);
1 y- h$ u/ a& o. ~$ X* P N! Y8 I - itemCreateInput->setString("object_desc", "My Item Description", false);5 k1 H+ I: J5 `' J) G
- itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
+ ]9 @1 q! w7 _* A V
, J. O2 F6 t& O! j$ v* n- // set Revision properties/ Z+ c' Q: z% c1 S5 e$ w8 h
- revCreateInput->setString("item_revision_id", "00", false);7 d3 _( R, x8 `" r& j
- revCreateInput->setString("object_name", "My Revision Name", false);0 X# V$ \9 t. S2 o5 L
- revCreateInput->setString("object_desc", "My Revision Description", false);
, k9 y. p( J7 O; P% @( r! }
! Y& r$ N6 C. y3 s0 y$ L- Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
9 ^6 A+ n$ ?6 V: H0 Z - ! E1 w( p+ m3 r& Y) G" D, E% M' m
- ifail = AOM_save_with_extensions(pItem->getTag());: k" d+ e" Q- e$ W, y7 u
- 7 t, n5 [. n7 D* \( ?3 t
- // If the Revision is not saved it will inherit the Item's Name and Description.- x, Y8 e! M* J8 X8 O" {# O
- ifail = AOM_save_with_extensions(revCreateInput->getTag());0 A9 X( i' m1 X1 u$ C1 ?
- }
复制代码 3 o. Z" H! Q+ k- @; q! d3 J
+ F4 [; t& S% U/ S; l
|
|