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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:21:35

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

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

x
创建零件设计表0 d! u1 B; F  a( ~' M* w1 S6 E

7 I# y* T0 N6 s# ^  ]' x7 L+ b//初始化CATICkeParmFactory 工厂: h- M  k( a( a/ v
CATICkeParmFactory_var spParmFactory = spContainer;
0 m- S* O! y/ Z/ s- H//创建设计表的函数如下8 z& v( w+ x& V; Z, r' K9 H2 U- `8 s
CATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,
* n& ?3 [7 N/ Q$ |9 W' n% d- @( jconst CATUnicodeString& iComment,0 x; G, D5 `1 |8 O$ H, \& k
const CATUnicodeString& iFilePath,  Y* d" z7 o6 l3 M' V" [* u- S
int orientation = 1,
6 {! {8 ?7 t5 Wint sheetWithoutFile = 0 );0 j3 f- h4 k% z# D1 M  Y$ g
函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建" ]' [& e/ N6 ?0 a
表的路径。
' U  L: g% }. t" \+ h7 F创建零件族的步骤如下:
6 Z- K5 K/ k* e4 P9 U1.创建参数$ R9 |' C; H" c  L7 G5 A5 ~
CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);, [% p7 y0 q- r: \0 {
CATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);
1 Z; x0 \. V5 y, F" ], eCATICkeParm_var spPp3 = spFact->CreateString ("s","");+ y  A# P# S+ v: L+ f4 k" m: ^
CATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);1 u! T( b  F& [9 E/ `1 C1 }1 ^- I2 g
CATICkeParm_var spPp5 = spFact->CreateLength ("l",0);" Q* Z6 h4 @' \& ^6 d
CATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);/ t  I/ _; ~9 g- Q6 J5 p% L2 K
2.将参数显示在结构树上
8 F! t8 {. z9 a( F% N& k8 K/ s, [CATIPrtContainer_var spPrtCont = spContainer;
' j9 P( k. o5 c) xCATIParmPublisher_var spPubroot = spPrtCont->GetPart();% b5 _' W) t( G
CATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();, r7 ]- ?1 L; A8 o" l1 A' w
CATISpecObject_var spParameterSet = NULL_var;
/ k6 r# ]: j; z& i# a) W1 |spParameterSet=! K0 Q7 R  c7 D
fact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);
6 N& F2 j, }6 |3 ^4 B7 c0 ?0 I+ O" P6 tCATIParmPublisher_var spParmPublisher = spParameterSet;
/ ?( Y  f- o6 E1 M  H1 E+ M9 FspParmPublisher->Append(spPp1);& N$ n- l% G* ?. v* _
1 e- V8 T& E5 ]8 d( |9 ?
spParmPublisher->Append(spPp2);7 _, Z" l9 f5 _+ k, p. D
spParmPublisher->Append(spPp3);6 s8 |( {& r6 e- L
spParmPublisher->Append(spPp4);
, D9 F/ x1 j# l5 s4 U! `7 R; ], gspParmPublisher->Append(spPp5);
% R6 B4 k2 }9 r& J! H! `spParmPublisher->Append(spPp6);9 [' W' ?& n& V0 o) K+ e
3.创建设计表
6 p0 h& J/ @+ d! ~8 H( c/ pCATIDesignTable_var spDesignTable = spFact->CreateDesignTable();! V! ~2 {* a+ k! b7 \& s
4.将设计表显示在结构树上8 {3 P7 L+ Q3 O8 a
CATISpecObject_var spRelationSet = fact ->GetCurrentSet(
8 }& Z% u6 E* ^4 k( cCATICkeFunctionFactory::Relation,spPubroot,CATCke::True);' H/ ^3 ?" Z+ C/ b
spParmPublisher = spRelationSet;
0 {& S3 m% Q: `, |4 rspParmPublisher->Append(spDesign);/ ]7 @8 T& r8 L5 a
5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同
- C: P" E. C$ ]// 参数列表
% ^7 G. d8 x8 E6 n6 oCATLISTV(CATBaseUnknown_var) list;
$ d2 n2 [/ r- O" C3 \) ?: Plist.Append(spPp1);$ o4 h+ t  F% u8 Y6 e. }
spDesign->AutomaticAssociations(spContainer, NULL_var, &list);/ x7 H( n/ m! K2 Q+ l
// 添加关联
  P3 Q4 P6 [, U9 h; ospDesign->AddAssociation("Column2", spPp2);
/ Q* C! X3 x) tspDesign->AddAssociation("Column3", spPp3);
- e- O& m: Y7 fspDesign->AddAssociation("Column4", spPp4);
4 k4 e4 ~! o. @3 yspDesign->AddAssociation("Column5", spPp5);
$ n9 j2 f7 U' V- t* n) T* v& X. O6.设置配置
, G8 N3 H2 w/ s/ g  lspDesign->SetCurrentConfiguration(1);
4 x$ l$ P3 R+ p3 j4 V1 ^. c1 u
2 q# _  M1 c1 H) k% {/ R
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了