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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:21:35

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

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

x
创建零件设计表6 O) a6 u! ?( o/ R( t

7 P2 Q! z/ v$ m+ d$ K5 Z" h; F//初始化CATICkeParmFactory 工厂
  b: ?' y) D3 fCATICkeParmFactory_var spParmFactory = spContainer;
& o) ^1 ~- l5 m+ F! r; G//创建设计表的函数如下
$ x  v' c! q  A! ACATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,$ w$ T* r& ]" Q3 \' `
const CATUnicodeString& iComment,
$ D6 v4 t  I! X+ ^$ }. u/ Rconst CATUnicodeString& iFilePath,: p) x7 d6 w; `1 c2 d' C- x5 A8 _; ?
int orientation = 1,% n3 @4 |+ ]' t8 b; T7 c0 }
int sheetWithoutFile = 0 );
* x1 e* c+ ^- [5 ?函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建. d: V5 r: c% t( m. l
表的路径。
& [8 h$ Z4 F8 g: Y: B$ C创建零件族的步骤如下:
# a2 K/ g; _& V5 ~0 M5 i* z5 g; Q! p( E1.创建参数& ], O, Z! O: u0 q- M
CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);
) W# N' p* l8 r' g0 q4 MCATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);1 B7 a: p" M: k- }
CATICkeParm_var spPp3 = spFact->CreateString ("s","");7 Z4 q1 @- q. p+ d6 T
CATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);$ }! v" h+ A0 s2 _1 [: H
CATICkeParm_var spPp5 = spFact->CreateLength ("l",0);0 S" \) ]" V) L" B
CATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);
0 @; Y/ \  ~* }8 }: c  z: p+ m; a3 Y2.将参数显示在结构树上* x* H6 [. ?3 [, T
CATIPrtContainer_var spPrtCont = spContainer;! Q+ T: J, i+ a5 {; E+ x
CATIParmPublisher_var spPubroot = spPrtCont->GetPart();" H7 g: j5 t+ @! ~* A& p; W
CATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();
% a  A* P. I3 Q, f4 d+ ?' S; |3 A! C" pCATISpecObject_var spParameterSet = NULL_var;+ K# p7 ~+ J$ ?' B  W; l* M) w. N
spParameterSet=
' [! \9 t6 l5 s( O2 I+ U) U1 lfact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);# B4 Z0 ]; G+ n2 z  E
CATIParmPublisher_var spParmPublisher = spParameterSet;) G( d0 g, P% `7 w
spParmPublisher->Append(spPp1);
0 v! f" Q5 S4 M/ {  l- a+ J6 V4 X7 C
spParmPublisher->Append(spPp2);
5 V6 p9 C2 B4 z. B1 ^& xspParmPublisher->Append(spPp3);8 L6 i; F  s# s6 B* @
spParmPublisher->Append(spPp4);
5 W  m3 B. L' r8 Y( b6 }spParmPublisher->Append(spPp5);
$ Z! {( A, j0 m4 Q/ j& {spParmPublisher->Append(spPp6);
3 ^  t5 W; q6 G9 i: J. A. Y3.创建设计表8 L% R' B# y1 r0 P7 b# n7 Y1 i" v
CATIDesignTable_var spDesignTable = spFact->CreateDesignTable();
2 W: M* d* ?9 q" k4.将设计表显示在结构树上) m9 q: [% t) p
CATISpecObject_var spRelationSet = fact ->GetCurrentSet(2 E& Z# b* B; k$ n! K3 k
CATICkeFunctionFactory::Relation,spPubroot,CATCke::True);$ a- G6 s& J, _3 {8 ]/ e  ?  n6 `
spParmPublisher = spRelationSet;
5 _/ w  @6 @+ fspParmPublisher->Append(spDesign);3 j, `( q9 \' w0 i
5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同+ P* Z8 }9 y1 v, m: Z# b  d
// 参数列表
$ o0 Y& t9 t! ~1 H8 t) yCATLISTV(CATBaseUnknown_var) list;
* i( z1 Y& i7 x' G: f6 p& Rlist.Append(spPp1);8 n% U# w9 u3 w' Z0 d
spDesign->AutomaticAssociations(spContainer, NULL_var, &list);
5 `' U" i8 z0 G; N( }2 [// 添加关联3 `1 `# n# i" z+ N. g
spDesign->AddAssociation("Column2", spPp2);
. y! P9 G# c- S3 `9 r8 _9 ZspDesign->AddAssociation("Column3", spPp3);$ z8 c" a& l; G. c
spDesign->AddAssociation("Column4", spPp4);! h6 ~/ o. g, ?6 Y
spDesign->AddAssociation("Column5", spPp5);
: Y. a$ \  O9 V8 u5 a2 W6.设置配置
: n; Y2 v; n. F$ {6 F; pspDesign->SetCurrentConfiguration(1);
9 ]  T& c/ \( S& S/ M8 C3 Z8 H8 R; U
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ 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二次开发专题模块培训报名开始啦

    我知道了