PLM之家PLMHome-国产软件践行者

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:21:35

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

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

x
创建零件设计表
; D* f* A% x4 Z  J# o! D
5 M1 _' r+ ?) K- `//初始化CATICkeParmFactory 工厂
5 V: _  @- h: K4 t/ `CATICkeParmFactory_var spParmFactory = spContainer;
7 s7 h' d% r& m2 B) M' R4 N/ w3 B! l//创建设计表的函数如下  t6 P, R3 M. ^( I! k# ?' u7 K
CATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,
$ D% Y% l* V# r1 s8 Q; Fconst CATUnicodeString& iComment,
, D9 ]* M8 w) E. c6 s2 n: tconst CATUnicodeString& iFilePath,8 y5 ^2 {5 F  X" F
int orientation = 1,
# C+ {, M0 K" X, {int sheetWithoutFile = 0 );
* o9 q4 m# ]! F3 F: A' K" X函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建
) g5 H, B2 S& _( r$ Z# W表的路径。, k, H7 _( {+ f$ u; q( C
创建零件族的步骤如下:+ j0 @' s; c- |3 y2 E6 |
1.创建参数& I$ d  l* ?1 h
CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);
4 \2 G5 q* y0 \$ @6 f9 k& Y5 hCATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);
1 v4 o/ n( e- Z  Q. YCATICkeParm_var spPp3 = spFact->CreateString ("s","");
4 j% b4 C" Z  r' ]2 h8 X8 dCATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);( Y% M) n) Q6 l. u/ g! L
CATICkeParm_var spPp5 = spFact->CreateLength ("l",0);. @* i* Y; [6 P2 `0 |
CATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);2 D- k2 c' p7 R, f  t$ q
2.将参数显示在结构树上6 `; ]; Q( U1 D/ O* J
CATIPrtContainer_var spPrtCont = spContainer;* |7 E5 e: c0 K5 J( H, W
CATIParmPublisher_var spPubroot = spPrtCont->GetPart();
, s6 G) e% ^4 l/ HCATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();( G5 H" h) G2 V- ^$ F8 b. V0 v
CATISpecObject_var spParameterSet = NULL_var;
# D1 s% T9 w. ]spParameterSet=# Q0 c7 F  B$ p, q2 B3 ^
fact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);5 H0 {# a" u/ x1 x* f6 P
CATIParmPublisher_var spParmPublisher = spParameterSet;
' D; p' z. h+ N* T) UspParmPublisher->Append(spPp1);, M$ q: c0 l- h9 x
: V9 p0 D: `5 W
spParmPublisher->Append(spPp2);
; g4 r& v+ z# k. o1 t: ZspParmPublisher->Append(spPp3);
! ~$ [- V+ T; gspParmPublisher->Append(spPp4);0 o( ^5 [" {& }/ Q8 X
spParmPublisher->Append(spPp5);; d, Q" X5 N/ U, L" n7 a$ M! i9 n
spParmPublisher->Append(spPp6);5 {5 U$ M/ m4 H  `  G- R
3.创建设计表
4 G, }. ]5 z# c- gCATIDesignTable_var spDesignTable = spFact->CreateDesignTable();
" A0 t) y) ]7 s1 Y* J4.将设计表显示在结构树上' |5 ^% R2 \  E
CATISpecObject_var spRelationSet = fact ->GetCurrentSet(
( ]. Z. A; o# z, `& V5 [! \CATICkeFunctionFactory::Relation,spPubroot,CATCke::True);
9 m3 C& E9 v+ Q2 j5 w5 J: P" U* E) KspParmPublisher = spRelationSet;2 j7 V8 T; r9 K8 A+ R# m
spParmPublisher->Append(spDesign);
. o( k6 e+ C* E  F6 }5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同* H) T0 N' R" n1 c4 j9 |
// 参数列表
+ }1 W8 J! j* oCATLISTV(CATBaseUnknown_var) list;# v1 }" p( C2 f: S9 V3 v! v; i" j
list.Append(spPp1);$ I' Y5 b# E- U6 w1 ]2 h, j
spDesign->AutomaticAssociations(spContainer, NULL_var, &list);
) K4 C/ L$ J& I* Q0 Z# l& O// 添加关联
1 w, M, R& M2 I* x5 @5 x/ v" e2 D5 cspDesign->AddAssociation("Column2", spPp2);
, {0 |9 x1 {0 i4 k6 VspDesign->AddAssociation("Column3", spPp3);
+ b: |6 L% X1 i3 [) DspDesign->AddAssociation("Column4", spPp4);
9 k% W1 T# E% E; C( F' g4 ]- dspDesign->AddAssociation("Column5", spPp5);
+ a4 j5 u  \+ c3 y/ {& Z6.设置配置
& @: ]; P3 ~7 ?2 T/ e0 m* V1 GspDesign->SetCurrentConfiguration(1);* E' x/ J: L0 h
6 U/ O. p- t8 J& X& Y) [% i
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了