PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:21:35

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

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

x
创建零件设计表
- @' t8 f1 e3 K( Q; s+ P' o3 _- u; Z% G- {
//初始化CATICkeParmFactory 工厂
* Q3 `* U0 S, N- u2 Q! V9 eCATICkeParmFactory_var spParmFactory = spContainer;
0 @% ^2 p: [  ?3 \1 Q7 x8 Q//创建设计表的函数如下
8 `5 v; s1 \; ^5 V9 LCATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,) z' y# ?% |/ U- K6 C' f5 b
const CATUnicodeString& iComment,& s: c5 L% r; g5 c. u4 C
const CATUnicodeString& iFilePath,$ D# T6 z3 P4 U" E0 t
int orientation = 1,7 C; R' g5 q- w1 r
int sheetWithoutFile = 0 );( n# J4 s1 ~  L; n4 Y. Z3 ~
函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建9 {. |$ j# K) u1 v, f7 @) S7 x
表的路径。7 v: p3 d2 ^# B& j, i( h- S
创建零件族的步骤如下:
7 I. y& K& N  R) T# J3 O/ E' J1.创建参数
3 o" J" X$ f- a7 u! ~CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);
. f/ j$ L; q, H. {) k. \CATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);, s& y, u+ j9 L% G/ b2 ^
CATICkeParm_var spPp3 = spFact->CreateString ("s","");" v: \. k* S9 @2 ^& }
CATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);
7 y" ?3 L) L$ u# \; {7 LCATICkeParm_var spPp5 = spFact->CreateLength ("l",0);, g8 o0 a, Y7 _
CATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);
" s7 J% `* R% C* l$ p2.将参数显示在结构树上. t1 s. {0 ]# X+ ]9 m3 w
CATIPrtContainer_var spPrtCont = spContainer;" E6 l" Q& K# Q( E; x6 U
CATIParmPublisher_var spPubroot = spPrtCont->GetPart();+ P+ X. m) B; D" K- x
CATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();
5 y6 o6 G0 O% ?! S! Y8 BCATISpecObject_var spParameterSet = NULL_var;
" o2 R# k- c- N5 v; yspParameterSet=" L0 a0 }) O& Z' j9 U
fact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);
, a; o6 L$ ?$ q5 Y$ N) [& KCATIParmPublisher_var spParmPublisher = spParameterSet;2 D2 h) K) H" [$ }' @6 A0 s3 y
spParmPublisher->Append(spPp1);
% N+ S3 }+ d' H5 K1 t
1 d  e) B& o/ f. m: p: [spParmPublisher->Append(spPp2);/ o, |3 f8 R% I! Q; X
spParmPublisher->Append(spPp3);
4 E" M0 P2 J1 n2 I/ qspParmPublisher->Append(spPp4);, [) G: ]* I3 d
spParmPublisher->Append(spPp5);* e. x9 H  W7 o8 i
spParmPublisher->Append(spPp6);
: N& a0 d3 @' H; e% k5 H) X% q3.创建设计表9 W- j7 ^0 u" ~( `( c( q/ e- i$ i) [
CATIDesignTable_var spDesignTable = spFact->CreateDesignTable();
4 t9 B- {4 Y- K/ B9 i6 b4.将设计表显示在结构树上
* j% o- D) G) \( D$ k! c( T+ {CATISpecObject_var spRelationSet = fact ->GetCurrentSet(* w6 m$ h  d+ Q; W9 o& y2 p
CATICkeFunctionFactory::Relation,spPubroot,CATCke::True);
  m. M6 t7 y6 X# rspParmPublisher = spRelationSet;
  d/ r% M2 a1 X/ H' n: A& mspParmPublisher->Append(spDesign);; I* j( Y3 L2 Y$ l
5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同2 g- F3 A2 t0 d/ H* [2 g
// 参数列表+ l* N. Q; y3 t- Q  X: g
CATLISTV(CATBaseUnknown_var) list;
, Y, b, O3 o: S$ c( J  xlist.Append(spPp1);
% O" `6 D3 L) M+ d' B7 j: aspDesign->AutomaticAssociations(spContainer, NULL_var, &list);
( I2 X% J+ Y) Q& b3 x, v' ]. W) I8 q// 添加关联/ F8 p8 `  r! i- z7 d
spDesign->AddAssociation("Column2", spPp2);
; f. A1 ?* x& ~/ I! W% qspDesign->AddAssociation("Column3", spPp3);* L1 K' M$ b. B6 ^
spDesign->AddAssociation("Column4", spPp4);
8 Q9 g  X& @2 ^, [1 G8 hspDesign->AddAssociation("Column5", spPp5);
$ M' G! I; v3 G# t3 X6.设置配置6 J( K3 Y# @" a$ ^
spDesign->SetCurrentConfiguration(1);
- i5 q& B- l3 }( ~1 o; j7 F
/ z7 M& `7 n0 ~7 |3 e! n2 j
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了