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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:21:35

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

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

x
创建零件设计表
2 }$ a2 ]/ T5 g# g8 E" [/ I4 _
. g' d6 @2 ^( [2 X5 ~& j//初始化CATICkeParmFactory 工厂
* C" e( O* U8 J! RCATICkeParmFactory_var spParmFactory = spContainer;3 Z+ o2 B9 H6 V" m0 y! F
//创建设计表的函数如下+ w0 [+ y  a8 ]0 I" G
CATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,
; ?4 ]: U$ F. }  T8 V+ Yconst CATUnicodeString& iComment,  p0 `6 U6 Z- O1 P
const CATUnicodeString& iFilePath,) G7 q1 q# p9 B
int orientation = 1,: M, ]3 ~" s, e9 j8 w
int sheetWithoutFile = 0 );9 C# ^$ |) s/ P! t# K
函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建
* W  V- O8 j- {$ k7 p& M/ A: `表的路径。9 N% ]3 D; L/ J4 D  E( v# k$ ~
创建零件族的步骤如下:
; m5 T) l6 W$ }" {1.创建参数
# o5 k  \  y% kCATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);$ k4 H! d0 c; w# W6 J
CATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);
- Q1 {& K: N, m* ^9 g; sCATICkeParm_var spPp3 = spFact->CreateString ("s","");
* w9 F# }' X( X2 F2 y- [3 Z* \2 QCATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);
3 x/ g# [) `8 B! K4 vCATICkeParm_var spPp5 = spFact->CreateLength ("l",0);
8 o* ~. f1 P  o, u  B/ u1 vCATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);
$ l% M* Q7 F+ |' O( R' v& T2.将参数显示在结构树上
4 r0 Q' e+ }7 I  R# J$ qCATIPrtContainer_var spPrtCont = spContainer;2 x( l$ O. Y5 A
CATIParmPublisher_var spPubroot = spPrtCont->GetPart();
7 ~7 |6 V. l: v" e; y' I, h% s. i7 BCATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();9 k# }2 B0 ^! z: o/ D
CATISpecObject_var spParameterSet = NULL_var;& ^( K) ]6 Z" [5 {
spParameterSet=
# l0 y' W: W) F  I1 O, a2 R  ~: ofact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);$ M, O3 t8 J, w, f7 y: y
CATIParmPublisher_var spParmPublisher = spParameterSet;! ^# h2 A) R; c' E
spParmPublisher->Append(spPp1);
; C8 t4 x5 u  t: k/ o2 j/ o3 ^
8 {. \4 i4 w8 S& g6 KspParmPublisher->Append(spPp2);" o: g9 N- T( J7 s7 F
spParmPublisher->Append(spPp3);
) k$ L- P, B5 O% RspParmPublisher->Append(spPp4);) s+ w" m+ v! B9 D9 W1 r7 ]
spParmPublisher->Append(spPp5);
- k& P) p1 Y6 f$ I; }$ }+ p' VspParmPublisher->Append(spPp6);
: m! t5 [6 Q4 {; s+ b5 }! k- j3.创建设计表( Y  i  l/ N0 M, O; s7 v
CATIDesignTable_var spDesignTable = spFact->CreateDesignTable();5 r) V" s# T! s
4.将设计表显示在结构树上( `8 h- \4 [6 p) g4 Y
CATISpecObject_var spRelationSet = fact ->GetCurrentSet(
. K. r: W4 r( `CATICkeFunctionFactory::Relation,spPubroot,CATCke::True);
  @( x. }3 \* p- }* U% b3 c! wspParmPublisher = spRelationSet;
2 Z5 ^. V: R2 i& \- D9 o* xspParmPublisher->Append(spDesign);
# T( T- \) p4 n2 O" \. ]1 o& t5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同
: H, C2 q/ j9 G5 F( v# F, g( t8 M// 参数列表$ ^4 _7 {* p+ \3 K8 A' a
CATLISTV(CATBaseUnknown_var) list;
, s' [( }: `4 B+ [2 [0 Ulist.Append(spPp1);
+ x" Q4 e2 T/ T$ r+ ]) I5 y9 R" H) RspDesign->AutomaticAssociations(spContainer, NULL_var, &list);. @& D" E9 ~& ~( X" }
// 添加关联
0 p7 n1 j% W" W) W" `% u, x1 K0 bspDesign->AddAssociation("Column2", spPp2);
7 W5 r1 p/ @5 jspDesign->AddAssociation("Column3", spPp3);( L" {/ d( \5 c/ \( m! t, ~! G5 F
spDesign->AddAssociation("Column4", spPp4);& _1 k1 `' E& |3 l- M5 n# [; N6 ?6 o& j
spDesign->AddAssociation("Column5", spPp5);$ T0 Z* N7 l3 N+ ]8 s
6.设置配置, m- H/ l( A; o- F' @
spDesign->SetCurrentConfiguration(1);* J0 y9 A% b6 i' o" n# B
& S, g$ e9 d2 \" a1 N7 o; y$ c
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了