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

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

  [复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
创建零件设计表
- V3 ?" q. n. y% k* {1 y* G
5 e' }) D+ L$ g$ ]9 ^: c5 j//初始化CATICkeParmFactory 工厂
9 ?2 p2 @% P5 o) Z* x. QCATICkeParmFactory_var spParmFactory = spContainer;
4 O3 e1 R" A6 ~2 v! `//创建设计表的函数如下3 |* w, u3 o9 x8 h" c
CATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,6 Y! z: ]9 K( A
const CATUnicodeString& iComment,
. v  y0 B" j# [) `$ n+ ?( Q$ E7 Nconst CATUnicodeString& iFilePath,& E4 ]8 v. Q. G/ }% R8 \
int orientation = 1,$ p* o$ J3 `5 P+ X# B
int sheetWithoutFile = 0 );
8 h6 ]: D9 o6 S函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建, s  x6 y0 K: N) K
表的路径。
# r( g3 h) {3 N: @2 H1 r; q; g创建零件族的步骤如下:
0 N& I) r1 t; O1.创建参数
9 G+ @1 u8 |8 m  g- ZCATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);
+ R1 v# |+ g2 K# I  X( q; h5 hCATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);  o4 Q  f& x2 @1 T: I6 g1 w
CATICkeParm_var spPp3 = spFact->CreateString ("s","");& e  j$ H! s9 t' Q9 G
CATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);
6 O0 B2 Y+ k' [: p9 K$ LCATICkeParm_var spPp5 = spFact->CreateLength ("l",0);+ Q5 q0 @4 B# V9 H5 q7 F6 v
CATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);+ W9 W# j% ~% K4 C' ~$ m0 E* l
2.将参数显示在结构树上
" G' g; q! Q% |CATIPrtContainer_var spPrtCont = spContainer;
; m+ V: i/ F! UCATIParmPublisher_var spPubroot = spPrtCont->GetPart();+ q( F# q% O8 b6 \7 P+ a- `# z& L
CATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();
) _% s& E* E  |CATISpecObject_var spParameterSet = NULL_var;- k: B. e' p2 e( y9 \4 E% s; t: S
spParameterSet=2 [7 z- t9 X, q* P0 g1 t* L
fact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);; S9 h! M* x" a
CATIParmPublisher_var spParmPublisher = spParameterSet;
# e$ y  `3 @  m+ fspParmPublisher->Append(spPp1);. ^# t: O5 T  S  l2 S+ q1 k2 Z& ]
; X/ Z- Q3 H' s& S; B: o! d0 |  p; `. R3 p! v
spParmPublisher->Append(spPp2);( f& e( u7 t9 ?( C) g
spParmPublisher->Append(spPp3);
2 [6 S# g3 z" q) P9 Q; z3 U2 espParmPublisher->Append(spPp4);  m1 B- g# X' n2 w( j0 I- y
spParmPublisher->Append(spPp5);
. F/ S3 ^9 q+ `' lspParmPublisher->Append(spPp6);
( B2 {7 y3 U* t& U3 S# |/ T3.创建设计表) k$ m% H- ^$ q. o1 D, g
CATIDesignTable_var spDesignTable = spFact->CreateDesignTable();$ B- Z# T# a/ Y9 d. n
4.将设计表显示在结构树上; ~  j3 ?) `9 n
CATISpecObject_var spRelationSet = fact ->GetCurrentSet(  Y, m& c; o% A: z
CATICkeFunctionFactory::Relation,spPubroot,CATCke::True);( a6 {4 s+ f+ P8 s3 a% j
spParmPublisher = spRelationSet;
3 Y* v: d0 q6 q! mspParmPublisher->Append(spDesign);
3 k  f1 \! u0 B: o6 @( ]5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同3 `9 v/ R* O5 \* y# m  R! V  P
// 参数列表
6 X* V6 c+ I2 E, F; @; GCATLISTV(CATBaseUnknown_var) list;
$ }  `/ _( A/ X. |# B9 rlist.Append(spPp1);; {9 w3 _) ~- l( A5 g
spDesign->AutomaticAssociations(spContainer, NULL_var, &list);$ {, W# h- V# p& y
// 添加关联
8 c+ n+ `* ]: X& LspDesign->AddAssociation("Column2", spPp2);
# r+ g$ K& s3 a9 v" pspDesign->AddAssociation("Column3", spPp3);, O7 n! W& U6 ?+ Z$ ]
spDesign->AddAssociation("Column4", spPp4);
: d. E6 z1 S- h/ y- SspDesign->AddAssociation("Column5", spPp5);1 \2 F! `, P: ~8 `, k$ M
6.设置配置
2 I6 t9 |1 P5 b# @/ ]0 ^; HspDesign->SetCurrentConfiguration(1);& G2 n: P3 L& X- p

% P1 c1 L2 g' E* 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二次开发专题模块培训报名开始啦

    我知道了