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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:21:35

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

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

x
创建零件设计表& `( @4 ^  e* ^' s2 Z

5 h. o) v7 B" Q7 Y//初始化CATICkeParmFactory 工厂
. Q' m( \/ |( ^; [$ Z4 _: A0 {CATICkeParmFactory_var spParmFactory = spContainer;
( s6 l2 Z$ F" i//创建设计表的函数如下
0 {5 v$ u7 _% d' N) u0 |CATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,  K- U: \/ C$ n9 M& \9 a/ p* J
const CATUnicodeString& iComment,* C" n+ V7 p: c0 q
const CATUnicodeString& iFilePath,) h+ M6 b  e) U( r' f
int orientation = 1,
7 M, v( j) o- sint sheetWithoutFile = 0 );- q. V7 C4 a5 R- Y# z# ^
函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建
1 E" p  F- i, A# k2 s  o' B表的路径。
. e. l' f  c& _创建零件族的步骤如下:, q* N; |2 v7 ?' o+ x9 G, {( o1 b% ^4 K9 ]4 u
1.创建参数
% X- x7 a1 G, s3 U3 YCATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);' x* H1 S; Z+ F' C( h7 |2 a
CATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);' p/ B1 E- I# D. q9 F3 }
CATICkeParm_var spPp3 = spFact->CreateString ("s","");
2 K! `4 e/ P  g5 ?3 j) j" VCATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);9 T4 M6 b9 V$ a( s4 e. X
CATICkeParm_var spPp5 = spFact->CreateLength ("l",0);0 W/ T. b$ W/ m" L5 L
CATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);4 \8 T1 X) a- H
2.将参数显示在结构树上
1 o. B4 e% C+ e, M! xCATIPrtContainer_var spPrtCont = spContainer;! ]7 s2 o2 T* G2 ?
CATIParmPublisher_var spPubroot = spPrtCont->GetPart();
: b! K4 a( q" [- [. A# l+ z4 pCATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();& a% k  J6 f, y% Z& h1 z( R
CATISpecObject_var spParameterSet = NULL_var;1 S4 D8 e/ U- O, F% F9 e0 ]
spParameterSet=! |& u$ f8 \5 P# [8 L6 _( Z
fact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);. g" J; H6 X) f" v
CATIParmPublisher_var spParmPublisher = spParameterSet;
+ x" G: Q4 i/ T7 i1 U! _6 HspParmPublisher->Append(spPp1);7 L9 ~! r6 ?0 t- v& u4 b
% D5 L; Y& o7 K
spParmPublisher->Append(spPp2);3 j! z8 F+ G9 u9 j1 ]  x. a
spParmPublisher->Append(spPp3);
. K- ^9 H5 s$ i" ospParmPublisher->Append(spPp4);
  V/ r. i+ P( w0 b" m* s4 w8 espParmPublisher->Append(spPp5);
4 z2 ~# _0 Q/ o6 X: TspParmPublisher->Append(spPp6);
6 g# ~& k/ B; T2 b3.创建设计表9 I3 l" S1 y7 q9 K
CATIDesignTable_var spDesignTable = spFact->CreateDesignTable();5 w2 H. a5 l. M4 ^% P' R
4.将设计表显示在结构树上
0 \9 @6 [1 \& K, \CATISpecObject_var spRelationSet = fact ->GetCurrentSet(
7 @; Q, F; E2 R6 u3 M$ Y% u% C' HCATICkeFunctionFactory::Relation,spPubroot,CATCke::True);9 u2 `( [: r# n: W# |1 [
spParmPublisher = spRelationSet;
& c, [" k  c" N3 k# bspParmPublisher->Append(spDesign);
) `( m6 q6 H, N5 r/ t5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同
6 C! W3 o8 {) ?4 e: y( C- J// 参数列表, P8 `7 d5 j. g+ s# d* N7 Y# P
CATLISTV(CATBaseUnknown_var) list;
" \9 ^! s# O/ r& f. X- Elist.Append(spPp1);
3 a% d) g3 |( T: P! VspDesign->AutomaticAssociations(spContainer, NULL_var, &list);$ a; r/ w0 t# x
// 添加关联
$ O  l8 a* ~: B9 U5 l! OspDesign->AddAssociation("Column2", spPp2);
2 [; U6 ^; \6 {& B5 B! m4 espDesign->AddAssociation("Column3", spPp3);& o" B! B4 b5 k, g( `0 R% y
spDesign->AddAssociation("Column4", spPp4);
% w1 M6 H2 N0 D" L9 p$ T( Z. xspDesign->AddAssociation("Column5", spPp5);' r: v7 Z2 g# h* U
6.设置配置
4 K3 P1 n( `* `- _2 wspDesign->SetCurrentConfiguration(1);6 S9 ~1 m: U# F. Y  y: ^

3 f& ]- e& s# S' }9 M+ Y# [$ Z. ^
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了