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

Catia二次开发源码分享:创建零件设计表

  [复制链接]

2022-2-13 11:25:14 3511 2

admin 发表于 2018-2-22 13:21:35 |阅读模式

admin 楼主

2018-2-22 13:21:35

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

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

x
创建零件设计表$ }2 D" @! [% M$ P8 B+ U( F

- d' z* u. S* n" C$ I3 r' y) M//初始化CATICkeParmFactory 工厂
) K4 O! [2 P5 JCATICkeParmFactory_var spParmFactory = spContainer;
( e9 X6 m4 y5 u' X3 ?' {2 v( _: J9 {! e//创建设计表的函数如下
- S$ D. F% r% G" iCATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,0 |; t, n  D8 s5 M% v5 j, d
const CATUnicodeString& iComment,
8 Y% e6 U, l: o7 z$ u% }const CATUnicodeString& iFilePath,
: N# B6 ?* L$ P: R% ~! z3 h3 lint orientation = 1,
' C, l- n* G: C2 B- Kint sheetWithoutFile = 0 );
  |* K4 {& u! J6 ~7 ?$ m函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建, E4 H7 n* D9 a6 Z+ |2 Q
表的路径。
; H$ j# t5 P9 v& t5 ?5 w' \" r创建零件族的步骤如下:- H: w) H9 g" S6 q* a9 Q% K) ]. O
1.创建参数
  D/ l$ {- |9 C( j- h+ _CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);# b: X& X! c: q8 l/ |: i
CATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);7 n+ E+ S+ U, U! U3 h! y5 |3 U
CATICkeParm_var spPp3 = spFact->CreateString ("s","");7 Q) u4 y) s5 s! G7 t4 ]( G9 q
CATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);
* N: m* C8 o/ N3 ICATICkeParm_var spPp5 = spFact->CreateLength ("l",0);+ ^- Q$ }& n' [. _1 F3 l
CATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);
/ }1 I# B4 X2 ~+ c! y9 |( x( x9 V2.将参数显示在结构树上* L1 l8 c0 h& d- w; D
CATIPrtContainer_var spPrtCont = spContainer;
# A9 n; ?, c/ H; a7 QCATIParmPublisher_var spPubroot = spPrtCont->GetPart();4 q! R2 r  I% W! t
CATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();
, i/ w4 d" ~; SCATISpecObject_var spParameterSet = NULL_var;
0 q  r4 V) p) G4 I; pspParameterSet=* g  F  z! Y  I3 u% c1 s; A6 ~
fact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);
$ H$ {  e9 a7 E& x! |- iCATIParmPublisher_var spParmPublisher = spParameterSet;) ^" F4 f/ J. @7 W! J. n; d5 ^2 y9 l+ a
spParmPublisher->Append(spPp1);
2 S* x; }4 E4 a; d( `1 z) @$ D& M& a# a: J
spParmPublisher->Append(spPp2);7 ]; w3 B8 s& C
spParmPublisher->Append(spPp3);
6 P- U9 T; w( w% Q1 OspParmPublisher->Append(spPp4);6 y: d' \5 }& ?  g5 O2 [& L1 t+ Y
spParmPublisher->Append(spPp5);! \, l2 b0 F9 P/ K1 N
spParmPublisher->Append(spPp6);
' Q9 r9 K7 q9 u, B) h" p. N3.创建设计表7 }! m1 E% x. J3 _: \" A; a
CATIDesignTable_var spDesignTable = spFact->CreateDesignTable();; K! ]/ E% I0 W8 R. U) S
4.将设计表显示在结构树上
/ f! w0 ]7 s! i6 K/ YCATISpecObject_var spRelationSet = fact ->GetCurrentSet(
3 s& h) @! M1 \7 [CATICkeFunctionFactory::Relation,spPubroot,CATCke::True);
) C1 B) X: L. d7 I/ bspParmPublisher = spRelationSet;
" S" }; R9 \2 `4 O, l& JspParmPublisher->Append(spDesign);
) Q0 l2 \) r4 V  u5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同8 I. o! w$ P* G1 h
// 参数列表  W* Z  D" ]5 k( r/ }  v/ r% b# o
CATLISTV(CATBaseUnknown_var) list;0 w1 U# D8 \4 T" s
list.Append(spPp1);; A: c" @! Z1 B( y
spDesign->AutomaticAssociations(spContainer, NULL_var, &list);0 e: M  o  j: x" O' g8 G
// 添加关联
, M# `# q% q2 n& {. e& PspDesign->AddAssociation("Column2", spPp2);
) ]( m5 o$ \- ^- Y3 yspDesign->AddAssociation("Column3", spPp3);7 O$ X$ B( ]4 N- _( v9 ^/ ^" F2 j
spDesign->AddAssociation("Column4", spPp4);% h: {5 t- q/ u. \) R
spDesign->AddAssociation("Column5", spPp5);
3 v! _$ M( j/ W2 J, Q& R7 `  P6.设置配置
# M$ x1 E6 J- o4 ^. a6 b% wspDesign->SetCurrentConfiguration(1);
) x+ Y0 q# |% K
2 Z* k: `" T$ _/ [
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复3

zwz 发表于 2021-9-2 13:38:15

zwz 沙发

2021-9-2 13:38:15

学习学习 ,后面希望自己也能学会
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了