PLM之家PLMHome-国产软件践行者

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:21:35

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

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

x
创建零件设计表
) E7 Q: z! {$ _- J- w' f( b: T
* A8 |4 j6 K/ v( w" x( n4 S% `; @! ?//初始化CATICkeParmFactory 工厂
/ b: N0 {# \3 iCATICkeParmFactory_var spParmFactory = spContainer;3 _) ]6 r( {( O0 x; _
//创建设计表的函数如下5 r' A5 o- y, L0 C& Y
CATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,; a8 T' b+ E$ y$ t# C. @, C
const CATUnicodeString& iComment,
1 e8 |$ Q! ~/ Bconst CATUnicodeString& iFilePath,$ f! X! a: Y2 j' J' X7 M2 D
int orientation = 1,
/ t+ q$ x0 y# f( B& h9 \( k! t7 pint sheetWithoutFile = 0 );; `9 R& A8 S+ t- x8 u( \' B2 q
函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建
) C2 z9 n' K- Q' L9 N# e0 T, W表的路径。
1 ~3 i' q- h4 Q0 M创建零件族的步骤如下:
% O6 P. p0 x. r1.创建参数
/ _" D1 F/ C; C$ n- `CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);
, m( ?. R7 |- O& L  a& @CATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);$ d) |2 Z" V0 Q) f
CATICkeParm_var spPp3 = spFact->CreateString ("s","");
- j) U/ R2 M, Q2 ^CATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);
- M8 v1 ^3 J) QCATICkeParm_var spPp5 = spFact->CreateLength ("l",0);
+ q$ w' |: Q6 x4 a; q# u+ g4 O  lCATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);
. _4 @+ J- L9 F2.将参数显示在结构树上2 j7 A! }7 }5 Q* b4 X; @1 a; B4 b% ?2 A
CATIPrtContainer_var spPrtCont = spContainer;
& @! ^8 e% L( R" W6 dCATIParmPublisher_var spPubroot = spPrtCont->GetPart();& G" I9 j: D+ \' n
CATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();
& v# R+ K1 q1 n. W& W, tCATISpecObject_var spParameterSet = NULL_var;
. H6 j. m; i' K1 V6 f  L3 @spParameterSet=9 q) d* T) I) n& a& s; w" p
fact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);
$ a1 h+ @" L& c6 KCATIParmPublisher_var spParmPublisher = spParameterSet;
$ F' b) y3 Z" s9 [$ H( SspParmPublisher->Append(spPp1);
2 K3 R" R: q' `& l8 N/ ^$ I
7 ?( h5 b$ N1 E# _3 i2 o! sspParmPublisher->Append(spPp2);3 p* q. t  @! O8 a
spParmPublisher->Append(spPp3);6 Q6 {/ k" I- \& }) P2 ^$ b7 p
spParmPublisher->Append(spPp4);
7 O: O% ~2 a8 k) N2 {. ~/ \9 y( yspParmPublisher->Append(spPp5);* o$ j0 N0 M) m9 }. u7 l/ K
spParmPublisher->Append(spPp6);
8 ~% A; W3 I6 b3.创建设计表- ]; |+ T1 e$ W1 Y& y+ s
CATIDesignTable_var spDesignTable = spFact->CreateDesignTable();8 ]& P# @0 o' ?) v. _
4.将设计表显示在结构树上+ R8 y+ e1 D! }) W
CATISpecObject_var spRelationSet = fact ->GetCurrentSet(
, O7 V  }! I* G# _, \$ }CATICkeFunctionFactory::Relation,spPubroot,CATCke::True);
3 i9 x& B1 f& N2 KspParmPublisher = spRelationSet;" j4 R0 ?( w% X6 _2 m: \" {
spParmPublisher->Append(spDesign);
3 d4 L2 O3 g7 h5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同! I( U3 m# t$ t6 Y2 U
// 参数列表
1 q( R9 n5 M0 `( A' mCATLISTV(CATBaseUnknown_var) list;) ]" H" U- f7 c8 x
list.Append(spPp1);
& [) R4 Z9 x, l) v& ]5 rspDesign->AutomaticAssociations(spContainer, NULL_var, &list);
, Y. b9 d/ e3 U! \+ y7 N// 添加关联6 D6 S. x2 b3 F3 G3 H
spDesign->AddAssociation("Column2", spPp2);
% B; P1 g& |. `, VspDesign->AddAssociation("Column3", spPp3);
* ^! X0 J) ]9 T  ]/ K2 GspDesign->AddAssociation("Column4", spPp4);
& k2 A  M9 ?, d$ ]7 ~8 C/ l* I& IspDesign->AddAssociation("Column5", spPp5);
- s' K8 l! o% x6.设置配置
6 ^  {. A, Z$ p4 w# ~; m8 b0 `  hspDesign->SetCurrentConfiguration(1);+ H2 C, s- r% V! R" o7 Q; e( d; i

) k* Y! l' D# n
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了