|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
, ]) q: y1 y) ?$ pTeamcenter C++二次开发源码分享:创建item和item版本; b" V* g# F4 o
2 ]+ `/ n& V* T0 }: y6 V
; o" U$ D3 E7 _ V) e; K* _4 H a通过创建businessobject 指定的createinput 完成对象的创建) t, r0 \# t0 z' o3 l/ S
! m; V2 r" `# P: p3 s2 X5 {1 N5 E
3 A+ d$ u0 p% B) I o; e0 k: e- #include <constants/constants.h>
& j9 n3 E z5 n6 e* W }) ] - #include <TCcore/Item.hxx>1 P9 Y+ D/ A/ s0 [( S* V
- #include <metaframework/CreateInput.hxx>+ R$ m+ A& j4 W. v, c7 R
- #include <metaframework/BusinessObjectRegistry.hxx>% ]) E- [1 J. j7 o X) D# b9 M' }, u
" V2 L0 Y3 |% Z, \/ }( `6 ?- using namespace std;# S* D) h) I. r$ ]/ p
& q7 O u4 U. n& z- static void createItemAndRevisionWithDifferentNames(void)
9 s u- l5 g p% M - {, X" s* A% ]4 U4 L
- int ifail = ITK_ok;
: ?2 _) ?% F6 a1 v) Q3 D* s$ W - 6 N F2 ?/ }) J
- char type_name[] = "Item";( G1 o, J4 P% t( q" w9 o
- Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));$ Q/ u5 [- R& w! [8 B& u( U
- 9 t! H. t( y) X
- //Revision type name is not always <item type name>Revision
$ b+ l' T6 R& X( g) k3 C - char *revision_type_name = 0;
4 L) Y% Q# q' O" g2 D" _ - CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);
7 v, z! h8 c0 b) k# i6 |
5 Y. H i9 r) o- Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));3 ?: n) D, n G- J- y0 X
- " Y u: n6 l0 z" F0 i! u
- MEM_free(revision_type_name);9 H) T8 {6 k ~, O! ^
* }5 U5 R% n1 `& @ w/ n& B9 ^- // set Item properties
: ^) H# m; N5 q& W ^0 u - itemCreateInput->setString("item_id", "1234567", false);! Q( Q( A/ d5 S# M! L/ e) ?4 |
- itemCreateInput->setString("object_name", "My Item Name", false);* k9 N/ r) V1 a, l w# u) Y/ ~1 G
- itemCreateInput->setString("object_desc", "My Item Description", false);$ M% o6 _$ o6 z2 _* P
- itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
, j" b5 z6 q4 z1 h4 o
5 e, v$ J, ^* M, H2 K: W- // set Revision properties
% e" d% F, u* n+ N Z& G2 H - revCreateInput->setString("item_revision_id", "00", false);
- j; Y+ Z2 u7 G# o B1 T" J - revCreateInput->setString("object_name", "My Revision Name", false);
8 r8 O2 M, u/ `0 L+ g! ]3 ]. h - revCreateInput->setString("object_desc", "My Revision Description", false);
4 f- F* ?1 O# a8 }3 E/ Q
/ C) f5 x# d$ s& v- Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));# R$ O7 l P; o
3 r' {; p$ \$ P! ^- ifail = AOM_save_with_extensions(pItem->getTag());" o6 k; X7 G' t8 L2 f0 B
- 3 y. x( ?/ j/ A: o
- // If the Revision is not saved it will inherit the Item's Name and Description. m# A4 P ?7 E6 V' F+ ]! z
- ifail = AOM_save_with_extensions(revCreateInput->getTag());& l$ O- r9 f. y9 G
- }
复制代码 O1 ~% I8 i- O/ y
& R) @6 H% s& z; R |
|