PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:21:35

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

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

x
创建零件设计表* d, L: H: z, Y6 A( X
! w: v; J6 {0 l3 _1 S3 m
//初始化CATICkeParmFactory 工厂
% i9 g5 S" n" F4 e+ D+ HCATICkeParmFactory_var spParmFactory = spContainer;8 O; F# B) g! c: T+ w& |) X
//创建设计表的函数如下8 N( ?2 d- v4 f! [# B* G( J
CATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,
3 p' g5 l3 e! W/ e- V: {+ Tconst CATUnicodeString& iComment,
8 [, Z) E& w2 b, c5 E- [const CATUnicodeString& iFilePath,
) E' X. v! x8 M* g2 Hint orientation = 1,1 w5 Z5 Z8 ]3 p; @, W1 K
int sheetWithoutFile = 0 );
4 ]3 ]" H4 w3 L函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建
4 N$ |9 [9 V" K3 {" M表的路径。
3 i7 y. Q9 [/ H& |) @0 D创建零件族的步骤如下:
7 [: b0 U7 s" ]% ]0 q/ M! @1.创建参数# ]5 @; M% S3 N" |& J2 c
CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);, Z) d! M: F) |# Z* w. W
CATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);
+ S2 C. V. c, R. [. ~CATICkeParm_var spPp3 = spFact->CreateString ("s","");5 i5 H( f% }' P8 k$ i0 X
CATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);
( _8 [/ Y( m* R% k+ rCATICkeParm_var spPp5 = spFact->CreateLength ("l",0);
, m" [! O- X/ `# tCATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);/ T; k6 T" ~2 r
2.将参数显示在结构树上
9 C& z. u( I  t& oCATIPrtContainer_var spPrtCont = spContainer;
$ }! k. Z5 n! i  B2 WCATIParmPublisher_var spPubroot = spPrtCont->GetPart();
; Z" e/ `  Z3 f$ R- UCATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();2 N' ~, s+ U( e
CATISpecObject_var spParameterSet = NULL_var;
" @- z" D4 s3 pspParameterSet=
# F/ l( D- Q& w3 F9 mfact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);" \2 S9 Q6 x& ]2 U
CATIParmPublisher_var spParmPublisher = spParameterSet;3 W, l6 X- k+ w& d7 q' x3 v6 h5 W
spParmPublisher->Append(spPp1);
5 I6 i/ |; w8 R" J1 Z7 j# A3 U
9 ]4 R$ N  w* g+ e) d: j2 I  a( pspParmPublisher->Append(spPp2);
; J9 n  `& L( F0 u3 }spParmPublisher->Append(spPp3);) [/ g, F; J% m) m
spParmPublisher->Append(spPp4);% R$ K* {' |  l7 X
spParmPublisher->Append(spPp5);
- P: L) A% P0 U, r4 zspParmPublisher->Append(spPp6);- D7 y+ q1 U2 w& R! D9 L& A
3.创建设计表# O' n; E8 @7 M5 b' c
CATIDesignTable_var spDesignTable = spFact->CreateDesignTable();* c- v% c6 U( Q6 _2 @9 V/ y
4.将设计表显示在结构树上- D# l7 b2 f3 m8 V
CATISpecObject_var spRelationSet = fact ->GetCurrentSet(0 L) K4 l( \) o# @2 b1 _
CATICkeFunctionFactory::Relation,spPubroot,CATCke::True);" z: g3 c! h# [4 P$ D- l, W( K% {
spParmPublisher = spRelationSet;* J2 S5 C7 J7 ]8 X0 P. H! W
spParmPublisher->Append(spDesign);8 n8 e9 O, Y  ~$ N3 D$ z1 c
5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同/ H7 ^' q0 x1 t: L' \  A' R
// 参数列表
7 w/ Q; B5 h! t/ |% g6 c, ~CATLISTV(CATBaseUnknown_var) list;
& ?7 C' ?% X9 A7 @list.Append(spPp1);
- V* K) t9 f0 q8 }/ e) Z! BspDesign->AutomaticAssociations(spContainer, NULL_var, &list);1 a* x4 s9 o/ d
// 添加关联/ R5 |$ A" w0 t" Q0 W# b0 D; R
spDesign->AddAssociation("Column2", spPp2);
; R7 a( t' Z; VspDesign->AddAssociation("Column3", spPp3);' r6 Z9 g1 O7 m! A; ~! `  W
spDesign->AddAssociation("Column4", spPp4);5 i* o+ ?) Q) a0 k
spDesign->AddAssociation("Column5", spPp5);
6 G- A. y( L3 O8 h- I  _) N6.设置配置% b% R& _: q! c) R7 z. Z
spDesign->SetCurrentConfiguration(1);" M4 _  k% E! w" s- S9 I8 l

% E! ?3 i& m3 u% t
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了