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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:21:35

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

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

x
创建零件设计表
/ X' q( m: s6 U
. Q/ t2 F$ `/ w//初始化CATICkeParmFactory 工厂
+ k4 i  |  {) w6 `CATICkeParmFactory_var spParmFactory = spContainer;& F" l. Y; n! K- C3 y0 J/ s# m
//创建设计表的函数如下
7 O" V5 O( y) N, X8 z  WCATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,4 G9 k6 B0 y! @3 H- t: @
const CATUnicodeString& iComment,% C3 q$ I9 a4 \( E
const CATUnicodeString& iFilePath,* X( N) y0 I$ a: W! O
int orientation = 1,' c  ]( @% f5 y! _
int sheetWithoutFile = 0 );1 V1 m& w& }3 L
函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建
7 \) l  Q: [/ V$ D; G表的路径。/ Z  a& u+ Q' ], C# J2 p
创建零件族的步骤如下:: H  Z( M3 m+ x7 ?$ f
1.创建参数8 F/ O: I) x% Q# S( `
CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);5 m2 |, @1 S; ?3 J# w
CATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);
. w2 E+ i8 v- T( t' V2 r. @8 tCATICkeParm_var spPp3 = spFact->CreateString ("s","");0 d( x$ b, d+ \, a( y; p7 M6 ?: @) w
CATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);
4 S! v7 w6 z+ xCATICkeParm_var spPp5 = spFact->CreateLength ("l",0);
" J. f/ |: l- o/ f0 J& |2 i- aCATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);
3 C7 ]) |/ \7 K2.将参数显示在结构树上; u9 n: k% ?0 D9 R+ }% w8 Q
CATIPrtContainer_var spPrtCont = spContainer;, N0 v, q# N( I( n
CATIParmPublisher_var spPubroot = spPrtCont->GetPart();
$ [' ]# |- \# g" }2 P' a7 ~CATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();$ x0 m! U* H6 D( C3 ?7 W
CATISpecObject_var spParameterSet = NULL_var;
& X, c9 u* r7 R- ^spParameterSet=; Q0 D7 L2 P1 ?5 h
fact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);- t" D4 B0 o) V) S4 ~
CATIParmPublisher_var spParmPublisher = spParameterSet;- _9 @* K" e, v# Z. Z+ \3 e7 U( L
spParmPublisher->Append(spPp1);
( f" }4 D) D0 c9 B7 G1 S
! T4 t; _" D" `5 ^9 c) K) G  B$ B' j9 nspParmPublisher->Append(spPp2);
* t' Q  G, u; hspParmPublisher->Append(spPp3);) n# y4 F% d+ ?1 {( N& [
spParmPublisher->Append(spPp4);
+ `# i2 w7 R' K. n1 CspParmPublisher->Append(spPp5);
+ L/ F$ z! W) o4 r7 hspParmPublisher->Append(spPp6);3 ]2 U( e% t: g7 g4 S( k
3.创建设计表: i+ K+ V  N( g% N2 O8 M/ c3 G
CATIDesignTable_var spDesignTable = spFact->CreateDesignTable();
" t9 l4 O( d6 s  }4.将设计表显示在结构树上& ?- G' f/ p0 X/ ]: [& T. K  I
CATISpecObject_var spRelationSet = fact ->GetCurrentSet(5 F0 I; S8 @! |6 K3 v7 T+ k
CATICkeFunctionFactory::Relation,spPubroot,CATCke::True);( D$ d: X" L" @+ a/ X9 A! l8 S  w
spParmPublisher = spRelationSet;/ B+ d- `0 u- `6 e: c( m+ y
spParmPublisher->Append(spDesign);
/ M; R, ^9 G1 }9 `, Y7 h$ [5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同- l$ W5 X) Q, {1 {  f
// 参数列表
, |( I8 a3 U/ l  QCATLISTV(CATBaseUnknown_var) list;
$ G. p, B7 ^" slist.Append(spPp1);
. X9 h: F; k2 W. _# D+ b7 LspDesign->AutomaticAssociations(spContainer, NULL_var, &list);
! S, i0 }) A# d  w# J3 U4 s3 y// 添加关联+ |+ g3 D6 O0 C
spDesign->AddAssociation("Column2", spPp2);
2 z) p8 e% p$ f: g- l+ @" cspDesign->AddAssociation("Column3", spPp3);
( U( K' F7 F# {$ }- ]8 S7 hspDesign->AddAssociation("Column4", spPp4);: V7 g& r; d1 F2 v
spDesign->AddAssociation("Column5", spPp5);
* |3 C) w0 ~4 M  k- Q) O6.设置配置# w6 @9 ~( L0 {5 K$ S- R
spDesign->SetCurrentConfiguration(1);' x% N# S' T- @

! [0 ?; {* R% q) k( v8 l
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了