PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2015-1-21 13:16:44

请使用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$ {
  1. #include <constants/constants.h>
    9 [2 M, v. T& b! M! K1 O6 D
  2. #include <TCcore/Item.hxx>, L% X$ Y  W# z4 N9 C
  3. #include <metaframework/CreateInput.hxx>/ s6 c6 Z8 {# u* v" F9 u6 |4 {9 J% L& R
  4. #include <metaframework/BusinessObjectRegistry.hxx>" _# N/ r: I; X) a' D% T, s/ }! w1 O
  5. # }+ Q7 C' C2 g0 C
  6. using namespace std;
      ^* y7 e3 c2 g. K' H( Z1 e; e8 E

  7. # L3 F! J. g" |- w) l
  8. static void createItemAndRevisionWithDifferentNames(void)! P) o% \* [9 v: r  j  g
  9. {  p0 F' V8 z- H3 o/ a
  10.     int ifail = ITK_ok;$ t' r, V' A" D- o
  11. 9 f5 C6 Q& _) C; i  t+ j0 V, h
  12.     char type_name[] = "Item";
    , [0 A+ Y3 a% @& q; s4 o
  13.     Teamcenter::CreateInput* itemCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(type_name, OPERATIONINPUT_CREATE));3 Y+ `* ]8 w( x0 s) K! p

  14. ( h; r$ }  h# ^1 t* c9 N
  15.     //Revision type name is not always <item type name>Revision# t% h0 Q6 [( _# e) T
  16.     char *revision_type_name = 0;
    4 L* S" y/ l% q5 v8 K- P  t
  17.     CONSTANTS_get_type_constant_value("ItemRevision", type_name, &revision_type_name);- a4 a% O2 f- i/ p+ M

  18. ; i) W: P) J2 x, k  z  C
  19.     Teamcenter::CreateInput* revCreateInput = static_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry::instance().createInputObject(revision_type_name, OPERATIONINPUT_CREATE));' O8 R0 X: i% B1 a- I3 d
  20.    
    ' k( h1 d+ O6 F+ T( n, ?* i& w% ]% I
  21.     MEM_free(revision_type_name);
    6 F  b. l$ r6 ?* W1 C1 b2 d0 f

  22. ( N/ Z& r/ f# b
  23.     // set Item properties
    6 P3 `) ?% d# W- ^' x; N& o1 y
  24.     itemCreateInput->setString("item_id", "1234567", false);# j$ |2 b1 v; P9 v; i
  25.     itemCreateInput->setString("object_name", "My Item Name", false);
    1 y- h$ u/ a& o. ~$ X* P  N! Y8 I
  26.     itemCreateInput->setString("object_desc", "My Item Description", false);5 k1 H+ I: J5 `' J) G
  27.     itemCreateInput->setTag("revision", revCreateInput->getTag(), false);
    + ]9 @1 q! w7 _* A  V

  28. , J. O2 F6 t& O! j$ v* n
  29.     // set Revision properties/ Z+ c' Q: z% c1 S5 e$ w8 h
  30.     revCreateInput->setString("item_revision_id", "00", false);7 d3 _( R, x8 `" r& j
  31.     revCreateInput->setString("object_name", "My Revision Name", false);0 X# V$ \9 t. S2 o5 L
  32.     revCreateInput->setString("object_desc", "My Revision Description", false);
    , k9 y. p( J7 O; P% @( r! }

  33. ! Y& r$ N6 C. y3 s0 y$ L
  34.     Teamcenter::Item *pItem = dynamic_cast<Teamcenter::Item *>(Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(itemCreateInput));
    9 ^6 A+ n$ ?6 V: H0 Z
  35. ! E1 w( p+ m3 r& Y) G" D, E% M' m
  36.     ifail = AOM_save_with_extensions(pItem->getTag());: k" d+ e" Q- e$ W, y7 u
  37. 7 t, n5 [. n7 D* \( ?3 t
  38.     // If the Revision is not saved it will inherit the Item's Name and Description.- x, Y8 e! M* J8 X8 O" {# O
  39.     ifail = AOM_save_with_extensions(revCreateInput->getTag());0 A9 X( i' m1 X1 u$ C1 ?
  40. }
复制代码
3 o. Z" H! Q+ k- @; q! d3 J
+ F4 [; t& S% U/ S; l
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了