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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:21:35

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

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

x
创建零件设计表
' D, h3 k) r3 b( u
- c2 p& j# F. q) k7 o  H' j9 E//初始化CATICkeParmFactory 工厂
% [" H% o% P8 S5 V- yCATICkeParmFactory_var spParmFactory = spContainer;
: [5 Q  \/ S2 s. h, O3 E//创建设计表的函数如下
9 w; c. Q$ K2 F& j' q8 xCATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,6 v: K0 {/ s5 f" |# H4 h
const CATUnicodeString& iComment,
+ t( O: A7 ~& R& r* X+ I9 c% I* lconst CATUnicodeString& iFilePath,* H* t1 X" l& x+ X2 s! j, e
int orientation = 1,
8 t/ B/ }/ n2 I; |# mint sheetWithoutFile = 0 );7 T, m: `) {1 U2 K, Y3 p4 M
函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建6 S  J1 R7 ?& B0 ?
表的路径。
9 ~) P5 _/ D. _3 ?! l! j创建零件族的步骤如下:
$ i3 M. V* E) a2 b0 E1.创建参数
1 `) j- [1 B! rCATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);( r% |) s4 _& O# r& F3 A& S
CATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);
7 n) b" P7 j# U" h! x: n7 T6 yCATICkeParm_var spPp3 = spFact->CreateString ("s","");
. j4 y9 O2 I! n: {  \( lCATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);- M0 i  v" K, [% l& X- s! K3 R
CATICkeParm_var spPp5 = spFact->CreateLength ("l",0);5 U, \* \9 D$ U2 e
CATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);6 R3 g% n3 ?/ t6 U/ c
2.将参数显示在结构树上
$ V; R& e+ B/ \/ q6 P% A7 uCATIPrtContainer_var spPrtCont = spContainer;
) [' v1 x4 J' w7 @7 pCATIParmPublisher_var spPubroot = spPrtCont->GetPart();
+ f' u& P, s( ~% OCATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();; n' Q- q3 O% s/ ]/ r# x
CATISpecObject_var spParameterSet = NULL_var;% }5 e3 C$ ~' I4 `% e
spParameterSet=
* U/ g  O1 J; F' h0 u9 _fact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);0 ]+ w  d- @! S; q+ R
CATIParmPublisher_var spParmPublisher = spParameterSet;# Z0 [+ c: m- I+ J
spParmPublisher->Append(spPp1);
* U" n4 L2 T5 h% o6 p( y5 M/ K
6 I. s" Y1 r: }6 R" N6 h/ kspParmPublisher->Append(spPp2);
3 m% T. C2 v/ C4 p$ H- g) B3 YspParmPublisher->Append(spPp3);
  v6 k5 s# t- C! ]; }spParmPublisher->Append(spPp4);* w" c8 w  D- b( x4 s! q
spParmPublisher->Append(spPp5);
3 F( G3 c8 U& ~( HspParmPublisher->Append(spPp6);+ j/ u0 U" S  b' k: R- A
3.创建设计表5 U6 i' Y* w- m. x
CATIDesignTable_var spDesignTable = spFact->CreateDesignTable();
- P" Q% w) o2 G& _8 C4 B) H4 d2 q7 E7 u4.将设计表显示在结构树上
, V2 A* H/ ^( lCATISpecObject_var spRelationSet = fact ->GetCurrentSet(0 e! P2 m) ~8 f2 Y
CATICkeFunctionFactory::Relation,spPubroot,CATCke::True);
! |  O) z4 J' cspParmPublisher = spRelationSet;
1 i+ r" e. m) l, {1 ]. o' CspParmPublisher->Append(spDesign);& F1 Y  v7 l6 l
5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同2 W1 ^3 z: s* y7 ]# l/ p" \7 U% D5 y
// 参数列表/ r0 ^1 \3 S% J# J( D. s; K6 K
CATLISTV(CATBaseUnknown_var) list;6 [) D! L& O7 v1 I# v
list.Append(spPp1);
/ X  y  r- u1 `spDesign->AutomaticAssociations(spContainer, NULL_var, &list);9 a! Z: \* q3 i( [8 k0 ]  F( q
// 添加关联
0 v* x1 ^& M5 WspDesign->AddAssociation("Column2", spPp2);
( ~0 D6 B' V' q& ~% t1 G/ ~# @. FspDesign->AddAssociation("Column3", spPp3);
1 A( d) \0 c. g  C  T/ C  zspDesign->AddAssociation("Column4", spPp4);2 q' k  J' I# w9 s  A& v& G
spDesign->AddAssociation("Column5", spPp5);
" F( W: k7 b6 y6 Z" T) {$ u* O/ J6.设置配置
. E4 g) i# M" B* j% j9 @9 Q+ Q- tspDesign->SetCurrentConfiguration(1);
4 X9 s* Q) @* B8 D- G) u: R) M  {5 `& e
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了