|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
A7 V4 N4 k( b& l* eTeamcenter C++二次开发源码分享:创建item和item版本
6 p9 r8 P. D0 _' N o: Z
8 m3 l2 U, |- Q5 P3 ?
6 S3 R, m& l$ J" H$ {5 f: h' H通过创建businessobject 指定的createinput 完成对象的创建+ t7 `, j, o/ I( q9 w* ]
g/ k+ q" R2 Y' n A7 W7 C
+ r! W8 \9 Y" g& Y. C
- #include <constants/constants.h>
. ^$ ?0 z! f( F - #include <TCcore/Item.hxx>% m# p% `& k0 f p6 F6 M
- #include <metaframework/CreateInput.hxx>% |9 \9 S- Z ?
- #include <metaframework/BusinessObjectRegistry.hxx>
0 ^9 K% L& ^& F. \' R - 6 f3 y% h& `/ c" _5 K
- using namespace std;
) L% A6 X. N* A; C) r! Q6 M
+ Z8 N+ R/ P, |' z7 E- static void createItemAndRevisionWithDifferentNames(void)
2 Y5 K5 q s6 d' i- ] - {
7 r8 M) _! |+ k5 o( k, B - int ifail = ITK_ok;( O) w% y4 A# i6 e8 j6 w; n
, ?. r. A* {/ K$ Q9 w4 I& M/ [( v/ {/ q- char type_name[] = "Item";
) {4 t# f- m" J9 ^6 p4 E3 D - Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));
( C4 z: U) m; s4 K! ]
5 @+ E. I" _* M, Q& L; D! T0 \1 ?3 h7 l* {- //Revision type name is not always <item type name>Revision
0 A7 R7 k5 \& j3 x- |/ [ - char *revision_type_name = 0;
- J7 N7 v0 B1 o - CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);
3 \6 D1 P2 r; |8 M0 s - 0 m# p. M+ j: m% T+ X* e
- Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));4 A* y3 A9 H6 X {3 L( g9 x% {
- ; i( G q: u* ?2 X. F$ P
- MEM_free(revision_type_name);6 k$ L/ I# l2 L( T6 o& C; \
- , Q/ j) V; ^% \: p y6 D0 m
- // set Item properties) U: S" h6 o, K o4 B4 J0 Z2 E% K
- itemCreateInput->setString("item_id", "1234567", false);
2 x# m% G6 r+ A4 F4 Y - itemCreateInput->setString("object_name", "My Item Name", false);& B% I. w; g" u* K; {0 [
- itemCreateInput->setString("object_desc", "My Item Description", false);
) {' h; x( T! D2 ?1 ] - itemCreateInput->setTag("revision", revCreateInput->getTag(), false);! S) M# h% v3 _, v' D( _: |
- - [ q, j G" J( w) p3 D
- // set Revision properties" Y- Y U* S8 l' m4 m! K/ P% o
- revCreateInput->setString("item_revision_id", "00", false);
$ b5 h" d( {0 n* l) _+ \- P: Y2 }, f) u( n - revCreateInput->setString("object_name", "My Revision Name", false);+ K! q4 {5 v Z, I! J5 T
- revCreateInput->setString("object_desc", "My Revision Description", false);
0 ]& }: b- D4 O' F& J5 u( C8 Z
1 f% y5 ?: G7 Z4 c4 v- Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));# D+ t" w% L3 r. a [6 U
- / ~1 W0 b# X: M( k8 Y) M
- ifail = AOM_save_with_extensions(pItem->getTag());
- p7 [; i3 h; l' d# }% M7 q - 3 Y* z1 `9 E( @# b5 i' {" {
- // If the Revision is not saved it will inherit the Item's Name and Description.
+ e4 X# w; ~/ z# G - ifail = AOM_save_with_extensions(revCreateInput->getTag());* W7 E* ]$ y2 q" ~0 T) d3 \
- }
复制代码
# ~: [3 W/ V4 Q' ~9 C7 J0 g& T4 [; ~7 O0 c9 N, h @% j7 f
|
|