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

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

  [复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
创建零件设计表/ w) D3 \) S  O( s) M7 q8 ~! z8 N
+ Y* C" E. S% W) N. {7 i
//初始化CATICkeParmFactory 工厂" h3 U! e7 R" @9 R/ W  F
CATICkeParmFactory_var spParmFactory = spContainer;7 N7 K$ F' L7 x" o8 M
//创建设计表的函数如下$ Q3 v# v3 A' U5 O) I8 d; q0 d. v
CATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,
( D3 |- [2 F* r% F& Yconst CATUnicodeString& iComment,
; U4 r9 u; Q3 p3 b  H) a' s1 Nconst CATUnicodeString& iFilePath,/ r0 _  q/ A7 H% S
int orientation = 1,) s# s7 M5 s$ m5 ~6 P- j3 b8 f
int sheetWithoutFile = 0 );
* `& [6 K/ l; Z% Q0 V函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建
1 i/ p5 e6 b& z0 K4 i7 p表的路径。8 }% T! B5 _) m: v0 a6 w
创建零件族的步骤如下:/ s+ W- Z9 L# C# m+ f
1.创建参数
9 t5 p7 r& D4 }+ k: t- oCATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);
% v6 O& b6 J/ j/ g8 D# WCATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);% ~7 i' c. V2 {0 q
CATICkeParm_var spPp3 = spFact->CreateString ("s","");+ e6 C3 R5 c. b) y6 R
CATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);
( F+ y+ F- \8 t+ n: x6 `CATICkeParm_var spPp5 = spFact->CreateLength ("l",0);7 g' E% o# t0 W* i* G; o6 H! @
CATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);- G+ z: o! y2 N; Y7 O
2.将参数显示在结构树上
$ s1 Y; \+ n# ?6 F: d. O3 m0 GCATIPrtContainer_var spPrtCont = spContainer;, m1 ~# k: v& o; ]
CATIParmPublisher_var spPubroot = spPrtCont->GetPart();" g1 d& F6 i9 I4 t. U9 @' M' B4 Q
CATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();. R$ g8 z; A" X6 l3 ?! V
CATISpecObject_var spParameterSet = NULL_var;
8 O& M+ @) Q" p8 x1 FspParameterSet=
# w: A" w# G* ]2 ]8 p* Sfact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);# Z5 s7 l) O. x/ j8 e  F3 I
CATIParmPublisher_var spParmPublisher = spParameterSet;
- J+ \& _: c* J' ^3 g/ C. ~spParmPublisher->Append(spPp1);# K# j$ T6 k7 d; ]8 Z

; x! K- T( j6 D4 ]4 G# yspParmPublisher->Append(spPp2);( P' G6 ~" E7 \- z9 G. s8 l: D
spParmPublisher->Append(spPp3);3 H- O2 {$ @8 d# O
spParmPublisher->Append(spPp4);0 N% M9 g* L' Y2 _. z% D" Q
spParmPublisher->Append(spPp5);9 y7 V( }( r* R+ ?9 C6 ?5 F* v8 ?9 A
spParmPublisher->Append(spPp6);
  H5 F6 o" L4 W* z7 x3.创建设计表
8 c+ Z1 t6 S8 m" d3 k8 L7 u. GCATIDesignTable_var spDesignTable = spFact->CreateDesignTable();
2 E- y# B4 o, b  E7 Z) j4.将设计表显示在结构树上
: H% D1 ^- V! E8 A/ P2 v0 vCATISpecObject_var spRelationSet = fact ->GetCurrentSet(
* C* E  M) F  k4 x# n, ]CATICkeFunctionFactory::Relation,spPubroot,CATCke::True);4 P- f8 {. Z% }7 H! c& @# s* `
spParmPublisher = spRelationSet;
. ?+ R5 m4 ]- C2 }& p  SspParmPublisher->Append(spDesign);
( T  |5 c) _) Y1 \4 `5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同$ Z: B8 U/ V+ ^3 ?) w0 y
// 参数列表! A8 _- q$ J- M
CATLISTV(CATBaseUnknown_var) list;
" b2 [% {& d1 q4 D4 O& N) ]- Plist.Append(spPp1);
4 V8 [7 I" F* R8 k8 ispDesign->AutomaticAssociations(spContainer, NULL_var, &list);
- T4 _; `' i4 L: j// 添加关联) Q" A) W  T" H  h& c* A& X: M
spDesign->AddAssociation("Column2", spPp2);$ ^/ N( K$ O+ V5 E  [) U
spDesign->AddAssociation("Column3", spPp3);
; t# w1 d4 y  i; D) Z  v6 nspDesign->AddAssociation("Column4", spPp4);7 N8 ?( V) l! x: G( b' m( ~
spDesign->AddAssociation("Column5", spPp5);
' e7 ^) i! A+ s- X- J. U9 @6.设置配置
" b( d, S, N) f. b: x4 AspDesign->SetCurrentConfiguration(1);
7 D' v3 m: L5 O& m. [: Z# s& {7 l% I2 F$ h* G4 k
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了