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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:21:35

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

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

x
创建零件设计表
( K8 _( ^- T  A" I- v4 X7 q. I, h$ v- N- U5 k
//初始化CATICkeParmFactory 工厂
/ @+ I8 h! i& B' u- }# W7 QCATICkeParmFactory_var spParmFactory = spContainer;
( j7 x/ B7 O# j1 j* Y//创建设计表的函数如下
+ x8 q# |/ w: L( l9 yCATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,2 P& ?5 V2 a1 P
const CATUnicodeString& iComment,
8 H6 L  q' k+ @const CATUnicodeString& iFilePath,3 B1 x4 ]+ U; I) @( C8 \
int orientation = 1,! x1 A( C8 E5 J, I
int sheetWithoutFile = 0 );
2 [2 ]# {+ O* k# E' u, @6 B+ `函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建
% v- r! Z2 @# _/ l& |) [' ^) ~表的路径。
6 ^/ b0 g0 Z2 ]. Y; S! O创建零件族的步骤如下:
& I1 O" ?1 a: c! ^; a; a1.创建参数
# U2 e$ O! s2 M/ A$ q6 T+ P! K" Q- Z* X' gCATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);5 z' A9 H% J, `4 Y* a/ H
CATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);
% Z. [3 W- |$ ?6 eCATICkeParm_var spPp3 = spFact->CreateString ("s","");' X: F3 [: I+ \; S) C; V/ t
CATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);& A$ q1 }% {1 f8 W
CATICkeParm_var spPp5 = spFact->CreateLength ("l",0);
( K5 t5 |2 c6 E! z# g) @) o9 j: kCATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);* o8 x. h, l. x) b8 ?
2.将参数显示在结构树上
! Q" a) B3 o% D2 n! bCATIPrtContainer_var spPrtCont = spContainer;: o; |1 |4 i: }' M- c
CATIParmPublisher_var spPubroot = spPrtCont->GetPart();5 X* G8 ?+ l, N# i
CATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();
8 ^4 t. A* R4 c; o& K9 SCATISpecObject_var spParameterSet = NULL_var;
. i$ w  n. W$ g% A& espParameterSet=
3 w+ w  o* q" c- ]$ X0 l1 e0 Yfact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);; V, O0 {- A' U
CATIParmPublisher_var spParmPublisher = spParameterSet;
9 A. r2 ^& L2 d5 Q7 p) s7 tspParmPublisher->Append(spPp1);& s( p1 ~2 y/ O/ P7 y4 m% v% N
2 T6 K. Z  O( }( h2 _
spParmPublisher->Append(spPp2);
8 ]/ h% M+ s, ?+ W# YspParmPublisher->Append(spPp3);
% {* n- W' g: p3 v7 R+ ~spParmPublisher->Append(spPp4);
9 {; C$ n% m; I, n" `spParmPublisher->Append(spPp5);# k' j1 P0 O( v" t7 p! l) c
spParmPublisher->Append(spPp6);' ]# z$ k' }* a9 k/ ~
3.创建设计表) p0 r- Q9 C( i# ]
CATIDesignTable_var spDesignTable = spFact->CreateDesignTable();
1 T* h& b9 }' ^" |$ b! ^5 R3 W; k4.将设计表显示在结构树上4 ^$ w, H$ E5 |% G
CATISpecObject_var spRelationSet = fact ->GetCurrentSet(2 M3 B& }) k- q( }* V7 R; b
CATICkeFunctionFactory::Relation,spPubroot,CATCke::True);( C, C6 a" j5 b9 i! I
spParmPublisher = spRelationSet;
0 g. x, T1 Z# `+ TspParmPublisher->Append(spDesign);
/ q. e4 }! T; ?2 G* _5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同
* h$ G# y9 P7 ~/ G( R: e# r+ ~// 参数列表
8 q2 Q1 t; O2 F1 Q: m5 Z9 g: z+ NCATLISTV(CATBaseUnknown_var) list;" E# r+ v" B' q$ o$ K
list.Append(spPp1);
: {6 w7 a7 z& ?& }spDesign->AutomaticAssociations(spContainer, NULL_var, &list);: K/ }* x1 U$ ^+ `+ R
// 添加关联
. T% Q/ P" r3 ^' QspDesign->AddAssociation("Column2", spPp2);
0 b/ {& T% x* u' |$ A7 `spDesign->AddAssociation("Column3", spPp3);: h4 ~+ W1 k* s
spDesign->AddAssociation("Column4", spPp4);
. A1 e2 ]8 f! B7 HspDesign->AddAssociation("Column5", spPp5);7 ?, Z* K$ Z) z! @; F. b
6.设置配置
4 I- w' R6 u" A( |: N: uspDesign->SetCurrentConfiguration(1);- p5 C5 u0 b, F/ Y
5 k& N3 C. w( q
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了