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

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

  [复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
创建零件设计表6 w* O6 u4 C. D4 c) a- B4 C

+ v# U2 {) m: f+ V6 ]/ N% {# {//初始化CATICkeParmFactory 工厂/ W- B9 f+ Z, Q, A
CATICkeParmFactory_var spParmFactory = spContainer;
# b. p$ u5 R, s8 C//创建设计表的函数如下- n! x% C, |+ z/ {( p
CATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,
3 c. p5 K8 t) r4 _6 s% ]: I. j7 _( kconst CATUnicodeString& iComment,1 e" w% o& ?+ b3 `# N' z
const CATUnicodeString& iFilePath,& }; K* K% }' f! e1 f
int orientation = 1,3 B( O0 V. \  U' c* z% }
int sheetWithoutFile = 0 );/ m9 L4 p8 y# t+ @
函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建
& p" K) s9 i) d3 I$ X; r, V表的路径。+ D/ v. B1 l) E7 {; [2 \% F$ _
创建零件族的步骤如下:
+ F6 E2 ]( `- @( ~- ]! _1.创建参数
, T; ~' Y' v1 {/ N4 v% L! h# ~CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);
. Q9 r+ X8 |. s  d( ^5 BCATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);
4 Y. b7 P# c3 e+ e8 fCATICkeParm_var spPp3 = spFact->CreateString ("s","");
, H7 t# N3 M9 a; C# s5 v5 u" ?8 |CATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);& \+ R% [1 b0 Q7 \. q' r
CATICkeParm_var spPp5 = spFact->CreateLength ("l",0);
" x/ N" A9 p9 l# \9 ^6 qCATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);' N  y! z3 `$ w2 ^7 [" _9 S  |
2.将参数显示在结构树上9 d& p7 }( ?; {% d. I
CATIPrtContainer_var spPrtCont = spContainer;
6 X. K3 ^- e0 e6 R5 KCATIParmPublisher_var spPubroot = spPrtCont->GetPart();
( F. R% z* a2 }# q1 H  M/ r6 w2 oCATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();
, V8 s6 \0 @4 [4 x0 GCATISpecObject_var spParameterSet = NULL_var;
, T. B6 @( a1 W# \( S7 `1 G! BspParameterSet=) v% Y9 H) c: c* `8 s
fact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);
3 @' `0 l8 M: u8 \! ~. jCATIParmPublisher_var spParmPublisher = spParameterSet;
' W# }& L+ F3 A. @2 ospParmPublisher->Append(spPp1);
+ ^2 G& P8 g% I
' A8 e: `) x) ]spParmPublisher->Append(spPp2);
- b& z% h( L; X" h" J# V7 ~5 IspParmPublisher->Append(spPp3);% G+ H0 Y( H& e' n) M
spParmPublisher->Append(spPp4);# T. S! u* V& b; f1 X* s
spParmPublisher->Append(spPp5);" Q5 N8 [8 P- O% U+ T
spParmPublisher->Append(spPp6);; k$ N' t+ u; F5 [
3.创建设计表+ N" o1 C9 A$ h' w+ U
CATIDesignTable_var spDesignTable = spFact->CreateDesignTable();* s  c$ `, H& {' c( s& y' i5 ]
4.将设计表显示在结构树上
7 W0 p4 s6 E% P# o0 E+ {CATISpecObject_var spRelationSet = fact ->GetCurrentSet(
( M7 `. L. ^1 WCATICkeFunctionFactory::Relation,spPubroot,CATCke::True);9 h3 d0 g7 u6 {; [2 O; x
spParmPublisher = spRelationSet;# b) {% \* o5 I( L  o# e1 M) D
spParmPublisher->Append(spDesign);
+ f# O8 g2 h8 e3 @! c4 `5 ]  Z5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同
& C) x' N' |1 I% o  x// 参数列表1 e( `7 S( y" N6 J$ Q/ [! z
CATLISTV(CATBaseUnknown_var) list;
, I4 M+ h4 ~2 f( p6 N0 F% Wlist.Append(spPp1);" l& B* E  i: T% S- u5 ?
spDesign->AutomaticAssociations(spContainer, NULL_var, &list);# ?' f* C# y4 c$ a
// 添加关联
/ L* O! M: }" y# @! i  S' _4 i4 qspDesign->AddAssociation("Column2", spPp2);7 ]( `# g1 r: V; L: j1 c( b) y
spDesign->AddAssociation("Column3", spPp3);$ V5 G8 C/ S1 ?9 k
spDesign->AddAssociation("Column4", spPp4);
0 w. O% a$ J; Y  ]- SspDesign->AddAssociation("Column5", spPp5);
! e2 F# p# u+ Z1 H6 ?* v# ^3 w. w4 r6.设置配置
0 i$ @& S* s& f% z/ c  @spDesign->SetCurrentConfiguration(1);
- m! F( P! K2 f- d. T/ H& Q3 e2 t7 `) I# q8 C3 v- u7 W
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了