PLM之家PLMHome

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

2018-2-22 13:21:35 989 0

[复制链接]
admin 发表于 2018-2-22 13:21:35 |阅读模式

admin 楼主

2018-2-22 13:21:35

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

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

x
创建零件设计表' O5 @. j5 [. ?7 ?, `! ~

6 r2 G' V/ l7 U" M//初始化CATICkeParmFactory 工厂
# x/ T- h1 Z$ U: I) |CATICkeParmFactory_var spParmFactory = spContainer;9 _" K+ S3 g* y0 N. x
//创建设计表的函数如下
0 s8 q5 ^' A. h# X3 G6 N1 ICATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,
4 x) ^; C1 M7 F" k1 x. p  qconst CATUnicodeString& iComment,
8 V, B; ^: `8 ~, H. S5 t1 gconst CATUnicodeString& iFilePath,
8 o9 G- ], G$ H/ S! W, @  dint orientation = 1,, G% }& t7 A: t. ~
int sheetWithoutFile = 0 );
, [7 L+ T5 O0 m1 X- a; J3 u* i函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建# l* l, |7 k6 D+ F3 j3 l: g
表的路径。( `0 r3 Y+ O: G1 G* O" g3 |. f
创建零件族的步骤如下:
4 n1 f. d% `$ d1.创建参数+ T" o8 a0 Y! S9 `" _: s3 f5 W
CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);4 |& O5 ~! J1 B
CATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);
+ E7 A% f4 O! n7 g# P$ qCATICkeParm_var spPp3 = spFact->CreateString ("s","");7 K/ P! J- m& o9 X) P7 z
CATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);8 o% u3 J6 g3 a4 ^; ~$ I
CATICkeParm_var spPp5 = spFact->CreateLength ("l",0);4 V" z/ C  n% S" [* H& U  d
CATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);
; g2 F4 Y1 }7 d2.将参数显示在结构树上
- [3 P5 d3 F# W# ], C4 O1 ACATIPrtContainer_var spPrtCont = spContainer;3 f2 v6 e! q% a) u, B# e& x
CATIParmPublisher_var spPubroot = spPrtCont->GetPart();
% }1 e/ k2 k7 R! sCATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();7 s- u3 k' x0 c
CATISpecObject_var spParameterSet = NULL_var;
: S6 X9 M, F- g  f* @2 sspParameterSet=
+ i+ ~8 \6 G* A% `9 J" C" A. a, Dfact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);! B7 V. b- v; Y2 s+ E5 ~3 h* C* T/ i
CATIParmPublisher_var spParmPublisher = spParameterSet;4 ]% ?4 K8 |, e0 O( z9 ]
spParmPublisher->Append(spPp1);, R" U6 A0 {- x% i
7 y; a* E8 Z' E+ P
spParmPublisher->Append(spPp2);
9 Q3 u8 Z: u5 Y/ Z* u5 m+ hspParmPublisher->Append(spPp3);& {5 [5 Q7 }; U5 }$ l/ w
spParmPublisher->Append(spPp4);1 F3 I. w8 N+ U9 G) D) H
spParmPublisher->Append(spPp5);
& M  |% i. I" bspParmPublisher->Append(spPp6);- Y% X$ ~8 @2 F, X7 M& B% O
3.创建设计表
8 _2 S# Q  x  W) ?8 d& TCATIDesignTable_var spDesignTable = spFact->CreateDesignTable();& s; X7 m3 ^2 t1 C
4.将设计表显示在结构树上0 ?) l; j3 F4 e5 r+ A8 n5 N
CATISpecObject_var spRelationSet = fact ->GetCurrentSet(; J, f, Y' {% {
CATICkeFunctionFactory::Relation,spPubroot,CATCke::True);
- b: S. M$ _9 H3 }3 S, \, cspParmPublisher = spRelationSet;
$ O  O' |) \9 A. d1 f1 h- _/ ?1 [spParmPublisher->Append(spDesign);$ l& D. V' t5 M
5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同
# C1 k, x$ ?; m& X// 参数列表
6 z8 G4 I6 p+ E( n! eCATLISTV(CATBaseUnknown_var) list;
6 \0 Q) S3 N! T* Z7 \0 R1 s* vlist.Append(spPp1);& v3 ~- k1 Y' K7 f8 Y" N5 o9 t
spDesign->AutomaticAssociations(spContainer, NULL_var, &list);
% l# N+ i5 m* R( V; f# e// 添加关联- Z- y0 Q/ D/ y$ |* a; V
spDesign->AddAssociation("Column2", spPp2);) r3 A* J) Q& j0 F9 d3 P& B+ {
spDesign->AddAssociation("Column3", spPp3);
- q. x2 P# d1 O  S2 q/ h' rspDesign->AddAssociation("Column4", spPp4);
% P, O+ ]+ T% B) Q$ g; H3 W( H$ N* TspDesign->AddAssociation("Column5", spPp5);+ G/ a( g0 t+ h+ Q8 h& J
6.设置配置
5 ?# K" t' s+ a' I! i- r& K# xspDesign->SetCurrentConfiguration(1);3 y( b. d  Z( I  ]6 Q5 x
# R: g5 c' n; C' M, n
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

关闭

站长推荐上一条 /1 下一条

  • 发布新帖
  • 在线客服1
  • 在线客服2
  • 微信
  • 客户端
  • 返回顶部
  • x
    火热推荐

    PLM之家(plmhome.com)提供专业的实施开发培训

    NX二次开发基础培训 | 已 80 学员 参加

    NX二次开发高级培训 | 最高性价比

    CAA二次开发 | 值的一试

    Teamcenter用户基础入门 | 虚拟机赠送

    限时优惠,原价3000,现价888

    哥已知晓