PLM之家PLMHome-工业软件践行者

teamcenter C++二次开发源码分享:创建item和item版本

[复制链接]

2015-1-21 13:16:44 5364 0

admin 发表于 2015-1-21 13:16:44 |阅读模式

admin 楼主

2015-1-21 13:16:44

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
" w- _6 J* j+ D  E7 p
Teamcenter C++二次开发源码分享:创建item和item版本
3 E% n9 ~- b! T  s3 U* d+ M/ v- J: X# ^; t/ z8 I6 P1 U1 Y6 }
& I( k& g2 L4 |2 D! ?$ B2 M
通过创建businessobject 指定的createinput 完成对象的创建; @) S! C1 a% @) M' n9 G
  R4 g9 N* o. Z( j6 r
6 A5 X) q: @& P1 _7 [
  1. #include <constants/constants.h>: S) U  \3 ~/ m! i
  2. #include <TCcore/Item.hxx>
    , Z. }! c( `. z6 @$ J
  3. #include <metaframework/CreateInput.hxx>
    " S  B7 c" e* O% x3 {
  4. #include <metaframework/BusinessObjectRegistry.hxx>
    3 m+ v8 \2 N' F- K, h; ~4 F# J

  5. ; ]7 X& h5 U. D1 ]/ U2 `
  6. using namespace std;( m! \2 G4 A) ~3 m
  7.   q/ m1 C! q5 V  W; e8 q5 u8 q
  8. static void createItemAndRevisionWithDifferentNames(void)  f2 L3 G# T* B, R) P$ S0 {
  9. {
    0 i. T% h; O1 r$ j( [) }
  10.     int ifail = ITK_ok;
    * N0 T& e( t  N! t/ A8 R2 m

  11. ! o5 S! `7 a  W7 G
  12.     char type_name[] = "Item";; ]( P3 y1 O, @6 Z6 ]
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));3 ~7 h3 w8 U9 S

  14. " k/ h- N( }# U3 `
  15.     //Revision type name is not always <item type name>Revision  t- h: e6 g, Q& }$ X: Z
  16.     char *revision_type_name = 0;5 N- C% a6 u7 D$ [2 F0 l
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);" J% a3 d7 g7 z% V4 n
  18. 8 G6 V( ~; K" B- d% ~4 g- V: N
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));$ b/ s! s, j8 C8 J
  20.    
    6 U4 D, H; @& N0 o7 T/ k; f9 w' t
  21.     MEM_free(revision_type_name);. x  \( o$ ^, P
  22. " x/ ^8 K  b+ k7 F0 t+ Y
  23.     // set Item properties
    1 y7 F7 J5 F* [3 R$ x3 R% v
  24.     itemCreateInput->setString("item_id", "1234567", false);
    - B; F  O. g$ M8 V
  25.     itemCreateInput->setString("object_name", "My Item Name", false);
    - c) Q7 U/ W' W! Q
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);6 h" @, F" o3 G7 z) @6 ]; J9 Q' Z" |
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
    ( c9 S3 I/ _2 M/ S
  28. 7 M  H& V2 q& |+ ^! Y
  29.     // set Revision properties, g8 c1 \7 r: P- u0 g6 U
  30.     revCreateInput->setString("item_revision_id", "00", false);1 [  ^; u; t2 Q& \8 Z
  31.     revCreateInput->setString("object_name", "My Revision Name", false);$ L8 j7 r* L  {, P8 [( U3 i# s/ O
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);
    . P, W. l* G2 ~% o& a. g, h
  33. $ N4 X$ E1 E% m. P+ _
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
    + M, C) C: d! u3 x0 i5 y

  35. ( `, C, y" u8 Y5 P0 |
  36.     ifail = AOM_save_with_extensions(pItem->getTag());5 T% N, m; @, _" K

  37. 4 {  f! S2 w! u. h6 c3 H# ?
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.. Q( w; C. R# W6 ^$ l) I
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());
    - b7 S) X: `% i1 Q) }2 S& B; o1 m
  40. }
复制代码

2 q7 e% ~+ s6 S' J( W. V7 C! P8 c" _
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了