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

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

  [复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
创建零件设计表" e4 C8 Z1 R/ b/ K8 w

! ^5 o5 C' s6 u! F; a//初始化CATICkeParmFactory 工厂
5 }* \& C2 p: d( o9 i) y1 m3 NCATICkeParmFactory_var spParmFactory = spContainer;
3 L5 ^: G0 a, l3 b- `//创建设计表的函数如下: M( R4 v- }/ y  X
CATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,9 d1 `8 Z2 N, n5 \  ^& \" \
const CATUnicodeString& iComment,$ K2 k* y. i) X
const CATUnicodeString& iFilePath,
# I' w, T0 j) u; A' q* S7 ]- Yint orientation = 1,
. K: B6 Z+ W& k3 V9 y: Hint sheetWithoutFile = 0 );8 L3 w9 A7 ?% I
函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建9 ?" f6 p! a7 ^6 H* n5 K
表的路径。* B; F4 ^3 Q0 d8 l
创建零件族的步骤如下:' T- _; A0 q+ w5 V$ V1 k# r
1.创建参数/ L4 J5 e1 v+ F% E# \
CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);0 S1 T* ?% [  q5 V/ ^
CATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);
0 k, S! x# f0 nCATICkeParm_var spPp3 = spFact->CreateString ("s","");: `/ H8 X5 X7 V
CATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);# @# K. D  X1 p; b0 {& e
CATICkeParm_var spPp5 = spFact->CreateLength ("l",0);
9 c- `  g" x+ L6 I, Y$ zCATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);
% r  [2 n+ o/ J+ p7 x  X4 ~2.将参数显示在结构树上; [; ?5 a# F6 c$ n
CATIPrtContainer_var spPrtCont = spContainer;+ I/ e; P( h1 c  a' M1 w
CATIParmPublisher_var spPubroot = spPrtCont->GetPart();  ?$ U, o+ J  f
CATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();
8 i9 b5 C- b' S/ oCATISpecObject_var spParameterSet = NULL_var;% O# F  x, c# H! ~- ], ?. W
spParameterSet=: l  E! _, P4 }4 A) I
fact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);; F  k% z7 J( k% K& R) j* t
CATIParmPublisher_var spParmPublisher = spParameterSet;
& ~- G. a' l/ `" w1 V8 R' d! C' zspParmPublisher->Append(spPp1);
0 `6 k! u: q6 F9 w6 C" B6 `9 }
spParmPublisher->Append(spPp2);
& p6 l) B  @2 f9 N# W' jspParmPublisher->Append(spPp3);
7 W( ?1 p* r0 r  {  {7 QspParmPublisher->Append(spPp4);
- ^! y- r' r* v# ]1 SspParmPublisher->Append(spPp5);( P" c$ Z, c' g) q
spParmPublisher->Append(spPp6);
4 ]$ A) Q1 W8 k' a/ ]( Z; `7 q3.创建设计表, t4 o0 i" h+ D& A/ I: ]- P
CATIDesignTable_var spDesignTable = spFact->CreateDesignTable();' l" v5 a3 ?" E( @: t
4.将设计表显示在结构树上9 @/ |! Z6 s5 a1 e) ~" m
CATISpecObject_var spRelationSet = fact ->GetCurrentSet(
" p* S4 s* X9 H4 }; HCATICkeFunctionFactory::Relation,spPubroot,CATCke::True);0 Z6 w( t6 `) o9 W: D8 m* i
spParmPublisher = spRelationSet;
4 L& q- u3 j1 }1 j3 R7 N% }7 G9 YspParmPublisher->Append(spDesign);7 g$ L0 V: B" L
5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同4 J: ~6 _, p6 l" D$ M( {1 C
// 参数列表1 J1 Q9 u9 d$ d% I: q
CATLISTV(CATBaseUnknown_var) list;6 _7 W6 c+ y" U6 w& M, N- i
list.Append(spPp1);1 X2 }9 j0 C9 E
spDesign->AutomaticAssociations(spContainer, NULL_var, &list);+ D* z4 B/ y" o% I
// 添加关联9 G/ e( i$ q; W3 }# A) n' k# _
spDesign->AddAssociation("Column2", spPp2);$ N2 U0 b( h. X0 F/ b
spDesign->AddAssociation("Column3", spPp3);
( t4 H& v% [3 b+ R9 z  MspDesign->AddAssociation("Column4", spPp4);
" W9 W4 X: r, r9 \& {spDesign->AddAssociation("Column5", spPp5);
1 A) r7 a* N  T; o" c0 D1 `- ]+ ^6.设置配置& q- v! l# l- o1 {* U, B& b
spDesign->SetCurrentConfiguration(1);
: v6 M, ~0 B' i+ w. P* B+ Z( @
9 a( X2 w+ A( x8 s! {
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了