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

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

  [复制链接]

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

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

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

x
创建零件设计表7 o, c' u3 o/ V3 E3 o. z

$ w$ U4 x: B1 [* |9 W; t9 g# i: V//初始化CATICkeParmFactory 工厂0 A/ c' Z0 Z" H
CATICkeParmFactory_var spParmFactory = spContainer;
' t1 b7 N. z( b9 k! ^//创建设计表的函数如下5 Z3 w% p+ e$ O0 _  Z# |& Q3 ~
CATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,
+ W/ g/ ]- W. I% y5 M: Bconst CATUnicodeString& iComment,
0 M( G4 O& i: L: D" iconst CATUnicodeString& iFilePath,9 V6 i% }2 u/ |4 j2 n% }2 t
int orientation = 1," Z$ b9 z. F6 H8 t: a
int sheetWithoutFile = 0 );
( O4 w8 }# @2 C" s" ^: z$ h3 G函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建
5 H! N; l4 Z; s: G, ?! E0 B表的路径。
- D/ \: I/ a" r- W" R) e/ @创建零件族的步骤如下:
* J2 J& K& O( G) R% S8 d7 b1.创建参数
" M, x) S* e" y3 X4 W9 `CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);
' j. ~% A- l+ c7 x, R: gCATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);9 j' P# B' A0 I/ B8 r
CATICkeParm_var spPp3 = spFact->CreateString ("s","");
6 `3 o8 U7 V3 v# s! a; x( ]CATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);
( k) R% |. `* v: ZCATICkeParm_var spPp5 = spFact->CreateLength ("l",0);% p2 D% l8 j& {. p6 a
CATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);8 ?4 \) w3 U. `. B
2.将参数显示在结构树上) h0 j+ Y' C% @' w- Z. n3 t* o6 A
CATIPrtContainer_var spPrtCont = spContainer;
" J/ B. M9 u! l" ^( i0 fCATIParmPublisher_var spPubroot = spPrtCont->GetPart();4 X( i% l2 K4 R! N0 z" [
CATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();3 h% V, ]% H* Q) ~
CATISpecObject_var spParameterSet = NULL_var;
( E+ ^4 {8 p4 B( `+ BspParameterSet=* {7 }: w- ]& W& J( S6 v9 ^% M  c
fact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);
8 ?, h( I" ?5 @, p# t0 BCATIParmPublisher_var spParmPublisher = spParameterSet;
- f7 ~, z- h2 S% g! _spParmPublisher->Append(spPp1);
" X1 E2 {3 \' r1 Y% c' G; @
# R$ W7 I/ ?6 N$ lspParmPublisher->Append(spPp2);4 K  f- c& K5 I# i. x1 Y0 H3 Q; t
spParmPublisher->Append(spPp3);
" V8 c4 G3 E; b: F+ E) x- FspParmPublisher->Append(spPp4);
6 ]+ I5 y9 v: K8 e6 AspParmPublisher->Append(spPp5);3 _8 Q: F; M9 i* y
spParmPublisher->Append(spPp6);
  q0 ?% v, {) X3.创建设计表
* l7 W0 a  D; B" j6 @5 HCATIDesignTable_var spDesignTable = spFact->CreateDesignTable();
" [4 i7 ~$ {7 M' R. D* X2 Y. c4.将设计表显示在结构树上  G# q  G. f0 e! r4 b1 K$ F
CATISpecObject_var spRelationSet = fact ->GetCurrentSet(
* L4 i0 g; Q* a" g+ {, t: yCATICkeFunctionFactory::Relation,spPubroot,CATCke::True);
* B4 i3 }4 o8 q+ XspParmPublisher = spRelationSet;
; T- _; u( _3 k; u- l" XspParmPublisher->Append(spDesign);
# V4 a) k; _' {" a5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同; }. ^( P2 o6 `: E/ u- x# ~# H
// 参数列表
7 x" K9 ^3 s9 |8 g" n, j) @* mCATLISTV(CATBaseUnknown_var) list;2 B  Y8 v- `) ~: q! R4 ]5 o% ^! `
list.Append(spPp1);
8 \  x+ e* `2 g4 gspDesign->AutomaticAssociations(spContainer, NULL_var, &list);
  n2 `( s- H! J7 h: a. y// 添加关联% g+ @  n3 u5 b% e) j0 Y) t5 y
spDesign->AddAssociation("Column2", spPp2);
: w% M7 M* h. R& }4 K1 R1 wspDesign->AddAssociation("Column3", spPp3);: z9 b8 l6 _+ q$ u5 c" S) M
spDesign->AddAssociation("Column4", spPp4);5 f7 x0 k5 P" n% E/ J0 T8 D% b: R& a
spDesign->AddAssociation("Column5", spPp5);5 z& D1 d- f2 w. ^
6.设置配置0 Z6 t2 ]  ^: R
spDesign->SetCurrentConfiguration(1);
, [6 E- M# u/ n" L1 M
4 }* r& @1 b* y9 D
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了