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

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

  [复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
创建零件设计表) U' O. M5 A2 K4 c

1 Y  ?3 v* Z- \* q5 ~: q: ~& {6 E# g//初始化CATICkeParmFactory 工厂. G, X- n$ L" W$ _
CATICkeParmFactory_var spParmFactory = spContainer;
7 l! H6 }$ s, L" f  E8 @//创建设计表的函数如下
5 N" p1 t. V% Z7 r! w6 pCATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,
' W" _$ x, L" P/ F# ~const CATUnicodeString& iComment,; b& G3 K* C* k, r
const CATUnicodeString& iFilePath,
7 U. M0 V- C$ |int orientation = 1,+ d) m" t; C: k% ^6 p
int sheetWithoutFile = 0 );
& r6 O4 @$ R# i函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建
5 A/ V7 F3 k% W' v9 E表的路径。
/ Q* e4 P: M, V8 a  r创建零件族的步骤如下:
0 S; w8 b  z) p8 G" s/ G1.创建参数5 P' i- }- I$ N+ E; g9 V' g
CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);
  }& K; I, ~9 e' jCATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);& c% q2 k2 M+ x1 H" q
CATICkeParm_var spPp3 = spFact->CreateString ("s","");
6 Q( R& O4 a9 |( f: i8 y; mCATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);
/ [4 F& S0 y6 Q% l7 gCATICkeParm_var spPp5 = spFact->CreateLength ("l",0);
% _, w% U% q8 ~8 cCATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);) L+ t0 l, j$ n5 ^( ~1 N& H* X- z. U% h$ _
2.将参数显示在结构树上' w$ b) W- I' B4 ]
CATIPrtContainer_var spPrtCont = spContainer;
; S% T4 T* ?+ x3 ICATIParmPublisher_var spPubroot = spPrtCont->GetPart();2 v- ~  {' B6 @$ ^# w$ O
CATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();
. J! a* W! R" t% _CATISpecObject_var spParameterSet = NULL_var;% t& L( Q8 v! a' ?% _8 I
spParameterSet=, }5 f. u7 h% |; z8 x$ Z
fact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);; ]2 q* K/ q+ A0 F4 J
CATIParmPublisher_var spParmPublisher = spParameterSet;
; d  `5 f( r+ O! ^spParmPublisher->Append(spPp1);- z4 X* E2 J% I' x9 _* f9 h: M
' C& W6 A2 l& R$ e! [
spParmPublisher->Append(spPp2);
# Y; I6 ?! c: WspParmPublisher->Append(spPp3);
( F% n# \" i5 {9 `, e/ p4 sspParmPublisher->Append(spPp4);' y0 J/ t+ N1 b/ w( ^# A( |' \
spParmPublisher->Append(spPp5);
* Q# p7 b3 x/ \% U, E7 j/ t, fspParmPublisher->Append(spPp6);
* T8 _( s) X' R# |% F3.创建设计表
# L$ V) o0 w; \, L. p1 tCATIDesignTable_var spDesignTable = spFact->CreateDesignTable();1 Y# u0 f4 U, d. I4 X) L
4.将设计表显示在结构树上
! Q: p4 y& m  \, JCATISpecObject_var spRelationSet = fact ->GetCurrentSet(
+ s% A3 _5 {" u4 E# [7 ]CATICkeFunctionFactory::Relation,spPubroot,CATCke::True);2 E/ ]& X5 m: E3 J4 A( s4 {% }
spParmPublisher = spRelationSet;" a: I$ L0 R$ g
spParmPublisher->Append(spDesign);
- C' Q! @  [  v; z. J( D  H5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同1 d9 i# O; D: y
// 参数列表
, j8 Q* G5 y) C+ [; h  P% xCATLISTV(CATBaseUnknown_var) list;1 W  L- c/ {* Z, a+ \
list.Append(spPp1);+ `: Q- o9 ?$ W) Q) q" [; t
spDesign->AutomaticAssociations(spContainer, NULL_var, &list);
; `+ l/ h5 M% Z3 ]/ a7 ], B// 添加关联
; Y" ?4 v" |& ^% fspDesign->AddAssociation("Column2", spPp2);: n/ r# z7 E- {$ ~0 W; Z
spDesign->AddAssociation("Column3", spPp3);
6 P" A, D7 U) l, m8 H# _2 T$ jspDesign->AddAssociation("Column4", spPp4);; ]5 M& Q, k! @( l
spDesign->AddAssociation("Column5", spPp5);
; C2 y5 k' K. Q+ }( z2 X& k' U1 x6.设置配置
3 o# C2 O! U" b; I2 h3 fspDesign->SetCurrentConfiguration(1);
$ C5 @4 [6 f, i  A
. }3 E3 ~  s, t8 t0 a
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了