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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:21:35

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

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

x
创建零件设计表
+ M0 e2 J/ v( V
5 P, ]$ s9 i4 `* W) J; X! R//初始化CATICkeParmFactory 工厂$ W% e' _! s. Z8 R+ }9 g/ D
CATICkeParmFactory_var spParmFactory = spContainer;
/ x6 S; C1 B# f5 Q9 G& d//创建设计表的函数如下- I' R, G# s7 M$ |6 u' j* f
CATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,
( ^& ?, z3 U! w: Dconst CATUnicodeString& iComment,
" u4 G% I6 [2 `: A# y+ dconst CATUnicodeString& iFilePath,+ m" t  w# k" G  J
int orientation = 1,- p9 u' M7 `( j& [" q
int sheetWithoutFile = 0 );
: ?" ~, T+ W: u4 U' W0 V# X! [函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建
+ e+ T5 z* p/ C+ g表的路径。
4 n6 e, R% N5 T# y' }: r" v创建零件族的步骤如下:
5 Z, Z1 R8 j' X' D. r3 H1.创建参数+ W# `, H; Z; Q; M: `9 Z
CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);# o; l( J! }  _+ P% r
CATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);
# U  n% U3 w4 c$ d" p- oCATICkeParm_var spPp3 = spFact->CreateString ("s","");, u1 v1 V: n% N) C0 g- f" `3 y* u
CATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);
+ C" s0 i, g, ~6 {CATICkeParm_var spPp5 = spFact->CreateLength ("l",0);
; E, r9 B3 \! nCATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);
. k1 }! {1 n. g9 \2.将参数显示在结构树上+ X9 A. l+ H/ w+ f
CATIPrtContainer_var spPrtCont = spContainer;
# Y/ B! j' t6 q# {CATIParmPublisher_var spPubroot = spPrtCont->GetPart();
8 b- _6 F7 T0 M5 f/ V/ `/ kCATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();
- j2 H( g5 ~1 B2 N2 _CATISpecObject_var spParameterSet = NULL_var;
1 L% V8 ]$ r- W6 M; X: xspParameterSet=0 ?8 l  W* x7 T- s* ~
fact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);
6 }3 V% `! u0 DCATIParmPublisher_var spParmPublisher = spParameterSet;
/ @/ ^0 ~% Y" Z5 i) l  hspParmPublisher->Append(spPp1);
: M" l( `% G& R1 B3 k" }; X, J8 C5 e  X0 H0 ?
spParmPublisher->Append(spPp2);
* v/ z( h1 ]8 m' |# |spParmPublisher->Append(spPp3);
' {' C7 T/ U6 H0 ~, V+ r7 O4 d! v. {spParmPublisher->Append(spPp4);5 @2 ]. c( y5 [! w
spParmPublisher->Append(spPp5);
6 e( G/ N6 X. rspParmPublisher->Append(spPp6);+ K0 ?8 t9 {  D
3.创建设计表( D1 M1 k" G* ]# P! H, W
CATIDesignTable_var spDesignTable = spFact->CreateDesignTable();8 d/ ]2 u( m5 ~; i( o' z
4.将设计表显示在结构树上
9 m" v9 h6 S# c! _" TCATISpecObject_var spRelationSet = fact ->GetCurrentSet(
+ q9 L: \# w% _2 E7 k7 zCATICkeFunctionFactory::Relation,spPubroot,CATCke::True);8 ~) ~! G! x: Y+ s
spParmPublisher = spRelationSet;9 y% e- G8 f+ y' \; n$ k2 ]
spParmPublisher->Append(spDesign);4 T6 F% p$ i* `7 C# w
5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同) D6 a! a1 f3 `1 R' {) [
// 参数列表" [! O4 p, n$ Q8 a
CATLISTV(CATBaseUnknown_var) list;- a5 S3 _: i* D1 m/ A
list.Append(spPp1);% ?' b2 G, W& f( E7 j
spDesign->AutomaticAssociations(spContainer, NULL_var, &list);
* @  I# O0 D, V/ b6 o# H8 _// 添加关联& W1 i  c8 R, `  a( h% H& E7 L
spDesign->AddAssociation("Column2", spPp2);0 X* O+ O7 F) U; a% @
spDesign->AddAssociation("Column3", spPp3);
; R4 ?- }9 X2 }spDesign->AddAssociation("Column4", spPp4);( J. v/ j+ _% y6 R, m4 g
spDesign->AddAssociation("Column5", spPp5);
6 s* g4 `5 u6 ~; x& U5 u& O& \* L! ]4 U6.设置配置
$ L5 \" [( |& p, AspDesign->SetCurrentConfiguration(1);
0 ^6 D( Q8 ~5 t
5 |* }8 W9 M7 t- p
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了