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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:21:35

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

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

x
创建零件设计表
' f: T' N& ]9 u" p" E- u& }, G
1 K! F8 [+ L2 N, e//初始化CATICkeParmFactory 工厂% w) U: V2 |3 U( ^6 M
CATICkeParmFactory_var spParmFactory = spContainer;
6 f7 y1 ]" r& z//创建设计表的函数如下8 \( R% x3 G. G+ Z- C
CATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,
$ @8 n  m6 H2 W1 Y9 ^8 D' l. pconst CATUnicodeString& iComment,
, `/ f9 d. U' }- f: E. G$ gconst CATUnicodeString& iFilePath," A8 C- c; ~+ C8 p" h/ w
int orientation = 1,
5 c1 }6 s4 w/ V9 Y: D' W, U; qint sheetWithoutFile = 0 );8 e. g$ R8 P: ^: [* f. T9 C
函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建
8 p& U2 l  V" Z. G表的路径。4 P# q( C! e' ^/ r% `; q
创建零件族的步骤如下:
. t: u7 [$ }" i0 U1.创建参数6 X( t1 y9 i  I0 y# X! ^; ]
CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);6 x7 O6 V$ P5 `. U3 H1 s9 o
CATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);6 Z7 i  Y3 w& f1 H3 f9 O8 d& U
CATICkeParm_var spPp3 = spFact->CreateString ("s","");
, J) N% p7 \: U2 JCATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);6 u. I3 T2 A0 ]: q! b
CATICkeParm_var spPp5 = spFact->CreateLength ("l",0);3 N# y; [* K# F- V9 u$ j
CATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);# Q4 |2 [% ^, |. Z$ v2 M
2.将参数显示在结构树上
- P6 l( R. Y% d7 L8 {% R- t2 t5 j# tCATIPrtContainer_var spPrtCont = spContainer;2 q- B8 s% ~/ N- z* F
CATIParmPublisher_var spPubroot = spPrtCont->GetPart();
; }% \. [& N+ v) a! X+ [CATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();2 E/ c' }! m& c4 `1 t
CATISpecObject_var spParameterSet = NULL_var;# Z" L1 o9 [1 M# @
spParameterSet=
8 x6 S; n: M% W  T0 P( W- ~5 P1 Ufact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);' a7 w% W' Q) L+ }
CATIParmPublisher_var spParmPublisher = spParameterSet;
! r  h8 f5 E" w9 `. D/ R5 NspParmPublisher->Append(spPp1);# Z9 |+ ]) s1 j( l1 F

  i6 i  ?6 L+ f6 y! O. C, l6 ^spParmPublisher->Append(spPp2);
4 f' E+ p5 w4 P8 l, a+ [spParmPublisher->Append(spPp3);
! h* Y: K" I" B! V, w4 lspParmPublisher->Append(spPp4);! k1 I- u$ i2 V' c: }- r5 E4 G
spParmPublisher->Append(spPp5);
5 B3 C+ Y  |( }- h/ W: vspParmPublisher->Append(spPp6);9 e9 v9 y1 m, I3 t# v% Y  L
3.创建设计表
  I3 N& \$ `: P, o- dCATIDesignTable_var spDesignTable = spFact->CreateDesignTable();
/ @+ r  z4 h! y0 |4.将设计表显示在结构树上
5 B7 _, K* E% G# X/ ^CATISpecObject_var spRelationSet = fact ->GetCurrentSet(
9 u6 o" U1 D# G- ]# n8 _CATICkeFunctionFactory::Relation,spPubroot,CATCke::True);8 y2 T' z$ a' n6 l, J
spParmPublisher = spRelationSet;$ M- `# {% Q/ g% y* J& }
spParmPublisher->Append(spDesign);3 k0 c  U2 _6 n, m
5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同
7 V; M8 e8 z+ u; u) Z# q' I2 @// 参数列表
# |2 C/ u  M& S% U2 \CATLISTV(CATBaseUnknown_var) list;
" Y2 G5 b7 h% ]3 D2 ylist.Append(spPp1);
0 s7 T4 S$ U5 o9 M8 LspDesign->AutomaticAssociations(spContainer, NULL_var, &list);( _1 P5 x! l( }8 `, G
// 添加关联6 y( |& e  l' U* a6 @
spDesign->AddAssociation("Column2", spPp2);
: d7 D2 a' h* t/ [) M; C2 RspDesign->AddAssociation("Column3", spPp3);% b2 f0 J- k* b. F3 K0 Z
spDesign->AddAssociation("Column4", spPp4);
2 e# a* n& V% s4 E3 |7 U0 r  g# j  ispDesign->AddAssociation("Column5", spPp5);& I/ E7 L; c% Y2 M( L
6.设置配置+ ^. `6 ]' J  h- B7 u- i9 i, [
spDesign->SetCurrentConfiguration(1);
& D% i1 u5 {$ @
8 ^- a" F2 s  c: ]  N1 A$ X) Z* f$ j
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 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二次开发专题模块培训报名开始啦

    我知道了