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

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

  [复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
创建零件设计表+ n; y1 r  f2 h3 O/ G, u0 H6 q( }* k
! f! g" N! s8 i# m  p3 X
//初始化CATICkeParmFactory 工厂' ]0 w# j4 I# q! O
CATICkeParmFactory_var spParmFactory = spContainer;  A" Q& Z- r$ n
//创建设计表的函数如下
! u+ U/ k/ L$ V. u+ _) bCATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,
& Z- J# \7 J7 o+ N/ }; T6 j) kconst CATUnicodeString& iComment,
  P6 G2 h7 A9 [* Kconst CATUnicodeString& iFilePath,
$ O0 y1 H; k1 j8 Mint orientation = 1," }' t& q9 Y& D# U% f
int sheetWithoutFile = 0 );
; g$ Y' v/ ]6 e! U9 H函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建
& {( |) |2 c7 j6 o. X3 B* V* v, P" ~表的路径。
6 M# I& X; q4 h( A% c! U, t) k创建零件族的步骤如下:
( ^, p, A, d7 T. ~  F1.创建参数$ o4 a6 f* t; B1 n. e/ ^
CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);  p' z8 R( y# B% v. M7 j0 O
CATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);) Y; X6 A1 v1 o' x
CATICkeParm_var spPp3 = spFact->CreateString ("s","");
% r: K8 g3 a- K- W5 }' x6 c5 lCATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);0 ?6 o5 t4 f: r: a/ Q& M3 l3 r
CATICkeParm_var spPp5 = spFact->CreateLength ("l",0);
/ X8 B" M+ T" f6 \! U% VCATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);
# u7 M* E; Q+ ]* ^2.将参数显示在结构树上
$ A* H; {0 d( ^3 ~9 z* a# Q* s7 iCATIPrtContainer_var spPrtCont = spContainer;
/ o0 J, i8 P: C& KCATIParmPublisher_var spPubroot = spPrtCont->GetPart();5 T1 S( f2 }5 Q- l! m7 B
CATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();: O7 e3 Y1 A5 {! V& r: k0 b- n8 `$ n
CATISpecObject_var spParameterSet = NULL_var;0 X+ D8 e4 H# K; ~$ U: z+ G
spParameterSet=# w$ |9 C  o* Y9 m3 ~& }$ M
fact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);
% {: ]% m7 [3 T6 rCATIParmPublisher_var spParmPublisher = spParameterSet;0 M& p4 l8 _  S: r( m5 t5 u7 W+ f
spParmPublisher->Append(spPp1);9 V+ `! u" y. B* f; a
7 o' _9 W9 q% b
spParmPublisher->Append(spPp2);5 R- o% }& T$ N& `( a9 y7 ]/ U
spParmPublisher->Append(spPp3);
8 |# x6 e+ y+ _' F4 e# _( L, ^spParmPublisher->Append(spPp4);" {" x; a! Z# E( r. |
spParmPublisher->Append(spPp5);
- D; m; _/ c; _spParmPublisher->Append(spPp6);
. e5 c: z8 |4 n+ @* U  B& D3.创建设计表
+ f' i2 B% r" JCATIDesignTable_var spDesignTable = spFact->CreateDesignTable();
0 ^2 r+ B9 t  o+ D4.将设计表显示在结构树上
& T  I5 G& |; k: t$ ?8 F7 WCATISpecObject_var spRelationSet = fact ->GetCurrentSet(
! Z/ {; F% u5 ?9 J2 k2 vCATICkeFunctionFactory::Relation,spPubroot,CATCke::True);* e& L7 y$ x  ?- W4 k
spParmPublisher = spRelationSet;% e0 G( l! H" R0 ?: F& g
spParmPublisher->Append(spDesign);0 M( @- Z' N5 Q2 N
5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同
# N; ^9 w  {3 Z3 a: O) l. V// 参数列表
- j6 `6 N! G( `7 NCATLISTV(CATBaseUnknown_var) list;
/ h8 T3 @3 p7 Alist.Append(spPp1);
7 ~; S& |3 i0 R5 OspDesign->AutomaticAssociations(spContainer, NULL_var, &list);. w% M  e4 r, Q6 I; n
// 添加关联+ o4 Q  F5 D8 [, z5 ^) W, K
spDesign->AddAssociation("Column2", spPp2);) M. n  Q2 A7 g5 p
spDesign->AddAssociation("Column3", spPp3);4 Y! s# b$ E6 h5 y( k7 {" r5 D3 k
spDesign->AddAssociation("Column4", spPp4);1 K/ B2 P* l; y
spDesign->AddAssociation("Column5", spPp5);
9 d6 K8 d0 G) p3 U6.设置配置
7 V# [; U% j8 V6 B2 m- aspDesign->SetCurrentConfiguration(1);, m/ e0 ]! _+ c2 v

& G* }- N- j) n/ k, i: |# a/ 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二次开发专题模块培训报名开始啦

    我知道了