|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
! ~$ W. P% p$ M- p7 E
Teamcenter C++二次开发源码分享:创建item和item版本8 K* f6 t) Z z3 v$ O+ g7 K4 x) O3 j
/ X/ s2 V8 G4 ^* c: R
3 e6 u" V9 z0 V% ?3 d
通过创建businessobject 指定的createinput 完成对象的创建' {4 H# j2 j" w# m
+ Q: z4 s( ~" d1 u, v) S3 {/ U
- Q0 |" `7 y/ L! M- #include <constants/constants.h>7 C! q+ z: A! R0 D. {
- #include <TCcore/Item.hxx>$ L6 y' m- U& Y L
- #include <metaframework/CreateInput.hxx>
6 [$ w/ c8 T! j9 u0 o) v - #include <metaframework/BusinessObjectRegistry.hxx>
+ e5 N0 s/ B& G \5 E - 9 v' F' }+ ], G9 V9 r- t2 k
- using namespace std;8 `7 `* s' f2 c+ N4 w1 i6 z
- 9 w+ H3 R x! S3 e" v1 u. D; X$ d1 S
- static void createItemAndRevisionWithDifferentNames(void)# k- x' y' Q% h, p& J( Z
- { s9 y3 Z; C7 s- B
- int ifail = ITK_ok;
7 \+ X3 M5 q. G - - R: j% D+ O, ~3 H% K7 d. W' g @
- char type_name[] = "Item";# n/ v3 d8 y0 A, E& s! R8 Q. W2 _
- Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));$ I; L. }9 O2 A! z
- $ K2 ?3 _' H" \
- //Revision type name is not always <item type name>Revision, e. e+ G& k7 R. ~3 Y6 J7 @' S
- char *revision_type_name = 0;8 @. Y, {; q7 u$ q, c7 o
- CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);0 G( f+ ^; W: d+ j! \2 r
$ U% i* Q5 t1 h. X n- Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));) L; t# R8 B+ p* A4 }7 M+ {
- " `$ ]* P' A" N1 L3 ^9 e' x
- MEM_free(revision_type_name);1 \: R8 w- e% ^' e8 J$ Z+ t
- 2 q7 P3 G1 k* R4 o
- // set Item properties
9 w% x6 i. T* X$ ? - itemCreateInput->setString("item_id", "1234567", false);
. h" M( I8 d" c S' O/ U - itemCreateInput->setString("object_name", "My Item Name", false);
! f; i4 d7 ~$ p0 D% n7 j0 V' ? - itemCreateInput->setString("object_desc", "My Item Description", false);
( K7 I" N( W+ x2 R - itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
; g; ~3 \1 h, o5 [2 B. a
- R! {$ B* O* N, C' C- // set Revision properties
' u0 J+ C% J5 S0 w - revCreateInput->setString("item_revision_id", "00", false);( {0 n4 `$ K! y+ l3 c
- revCreateInput->setString("object_name", "My Revision Name", false);0 u) l9 o8 A; e
- revCreateInput->setString("object_desc", "My Revision Description", false);) T: v6 G! D* j" W
- G2 ^4 |) z: V0 Z
- Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
) k1 T+ o6 R2 l- _# h
* q! T: H& J8 A9 Z* d1 G- ifail = AOM_save_with_extensions(pItem->getTag());2 D; @; Y# S8 L3 @4 E/ A' }
- % `7 z' j5 H# U; t
- // If the Revision is not saved it will inherit the Item's Name and Description.8 z% L3 O* Y2 u- C, \( y
- ifail = AOM_save_with_extensions(revCreateInput->getTag());
) a& z9 y( [: y7 q - }
复制代码 % A2 g2 ]5 _) w, c; ]* m
& Y, [3 Q* f4 N8 G! {
|
|