PLM之家PLMHome-工业软件践行者

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

  [复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82166
QQ
发表于 2018-2-22 13:21:35 | 显示全部楼层 |阅读模式

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

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

x
创建零件设计表  P3 V# g( N( e6 A( v8 A
" S6 G2 ?: I/ g# O# u5 H/ H4 J
//初始化CATICkeParmFactory 工厂$ _0 q" u& U% z. p5 o% `! K9 N
CATICkeParmFactory_var spParmFactory = spContainer;
& Q5 N6 \" R, }4 T  N//创建设计表的函数如下
+ M3 N2 C9 {3 FCATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,% C& _* R  k: }- ?' i* n, R
const CATUnicodeString& iComment,
" {) N4 B9 z) ~% Z0 v+ \9 ^const CATUnicodeString& iFilePath,! {/ R% I! F& d" p0 E* f, Y5 @
int orientation = 1,
0 p5 W3 h) N6 W2 T& g( Sint sheetWithoutFile = 0 );  b" @  ~5 L" J
函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建
9 \6 b; o; d* g# x表的路径。- _: d8 m9 T; O, H
创建零件族的步骤如下:
& D# q8 o2 T9 O% Z; w& O- Z1.创建参数( h1 r( z1 L$ H, Q
CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);
  H" b' G4 J' h/ NCATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);0 r$ O( p  r8 {# G" G4 y$ j7 L: U" q4 }
CATICkeParm_var spPp3 = spFact->CreateString ("s","");
/ M4 T$ ?/ l+ GCATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);
( C2 D: R" }% q4 o; u2 p3 x7 jCATICkeParm_var spPp5 = spFact->CreateLength ("l",0);; w  K; Z% o  \) |) J9 f/ n
CATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);# S; K7 I% k4 y; x  ^
2.将参数显示在结构树上
3 b) G" V  Z& |0 V8 B7 n7 SCATIPrtContainer_var spPrtCont = spContainer;: q% y+ [. {) n7 n: S5 D3 C# n
CATIParmPublisher_var spPubroot = spPrtCont->GetPart();" b9 q: Q+ V( ~6 {3 f
CATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();  m3 w& I' H8 E( j
CATISpecObject_var spParameterSet = NULL_var;1 e$ }- }. ^" l6 d; `
spParameterSet=
0 J5 {9 P! H: s$ efact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);+ I; V( a, D: T& M3 M. u) J  Z
CATIParmPublisher_var spParmPublisher = spParameterSet;( w9 W2 f/ ]6 `- W: \4 a
spParmPublisher->Append(spPp1);8 E4 [$ q- j6 @' u
1 _5 f3 Q4 y" ?% R$ l- b
spParmPublisher->Append(spPp2);
3 o' R4 T& T% s) o9 `) K' D/ q4 f6 WspParmPublisher->Append(spPp3);
+ o8 n/ S. a# ?spParmPublisher->Append(spPp4);
) @* [! t" |: f- l- {2 XspParmPublisher->Append(spPp5);
6 E! D8 c& y" c8 mspParmPublisher->Append(spPp6);7 X2 T5 ^) H& f! D
3.创建设计表; m4 ~+ ], L" a3 U5 O& A0 d
CATIDesignTable_var spDesignTable = spFact->CreateDesignTable();
8 D# u0 s  H! H) }4.将设计表显示在结构树上/ l7 u! l& A$ f1 K+ [
CATISpecObject_var spRelationSet = fact ->GetCurrentSet(
  R/ [, C- r* V. n( O  a& ECATICkeFunctionFactory::Relation,spPubroot,CATCke::True);+ Z# |/ u! Y, j; N
spParmPublisher = spRelationSet;$ r8 }& N1 D! X( [/ [
spParmPublisher->Append(spDesign);- j, |. t( |6 {2 j8 a
5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同
( U# j. n6 {/ ^) X2 Y( e; v// 参数列表2 F- _- b1 c, h" r
CATLISTV(CATBaseUnknown_var) list;9 o4 R" V3 S# [9 E0 o+ d9 a
list.Append(spPp1);5 o% T3 c8 B. {" W. P9 X
spDesign->AutomaticAssociations(spContainer, NULL_var, &list);
6 W7 }# r  j* p3 N// 添加关联- @' C' \6 k0 h" n0 U
spDesign->AddAssociation("Column2", spPp2);' m. \+ q! d6 D  z" }% P
spDesign->AddAssociation("Column3", spPp3);5 b- l6 J9 F4 S$ `
spDesign->AddAssociation("Column4", spPp4);  m: B7 y, q: V4 b3 w" m  q! M8 S
spDesign->AddAssociation("Column5", spPp5);
0 Y3 I) @/ _. \# k6.设置配置
1 h. {. e  }- P6 A# C% }spDesign->SetCurrentConfiguration(1);
# ~  }: }  V" ^8 n- F1 t
( V( x5 U2 x2 S9 e& m! [- t8 B
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复3

0

主题

22

回帖

52

积分

注册会员

积分
52
发表于 2021-9-2 13:38:15 | 显示全部楼层
学习学习 ,后面希望自己也能学会
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了