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

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

  [复制链接]

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

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

admin 楼主

2018-2-22 13:21:35

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

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

x
创建零件设计表
' `: v$ v, n3 ~4 \1 B6 p9 D/ F  p; T7 n$ e9 L) H5 Q
//初始化CATICkeParmFactory 工厂! A5 K8 I% j2 P2 U
CATICkeParmFactory_var spParmFactory = spContainer;
* Y* W+ d) N" f6 N7 O//创建设计表的函数如下
1 R7 r, P6 W% K% [CATIDesignTable_var CreateDesignTable( const CATUnicodeString& iRelationName,; w, e3 D" P7 N/ O
const CATUnicodeString& iComment,1 N% v; P* }/ m; S
const CATUnicodeString& iFilePath,
8 _: ?9 m' i6 ~+ s- p' g+ j- C$ w& f! e; fint orientation = 1,
. K( o) Z% |9 T  H5 l' Pint sheetWithoutFile = 0 );
9 f+ e. o. y. G! N函数说明:iRelationName 为设计表的名字,iComment 为设计表的说明,iFilePath 为创建1 i- A. w3 F8 ^) H. u+ D; o( a7 u+ a
表的路径。
% J! H0 O# u; }3 N  v+ h! b; G2 J创建零件族的步骤如下:
+ R) c" P$ F! [) ^1.创建参数, ]: C4 O/ C0 A& l
CATICkeParm_var spPp1 = spFact->CreateInteger ("Column1",0);* X; v! X, c3 T2 d0 O+ H) x
CATICkeParm_var spPp2 = spFact->CreateReal ("r",0.0);
4 ]. @/ W: O  \3 Z  [8 pCATICkeParm_var spPp3 = spFact->CreateString ("s","");
( v) b! d1 ~  o5 Q4 K( UCATICkeParm_var spPp4 = spFact->CreateBoolean ("b",CATCke::True);) o# ^: p2 l. i* z1 y
CATICkeParm_var spPp5 = spFact->CreateLength ("l",0);
& W! s$ |* B/ o# s- pCATICkeParm_var spPp6 = spFact->CreateAngle ("a",0);
3 U  R  R7 T% I1 L, \* Z* R6 s4 p2.将参数显示在结构树上
1 G( I/ f7 y& k& u, }5 i2 {CATIPrtContainer_var spPrtCont = spContainer;
1 }' C3 Z- A' p  P6 l: V# @CATIParmPublisher_var spPubroot = spPrtCont->GetPart();
9 p/ o7 {8 T* X% j0 T& x" A5 n& iCATICkeFunctionFactory_var fact = CATCkeGlobalFunctions::GetFunctionFactory();5 l: B& ~9 e* f( h% r
CATISpecObject_var spParameterSet = NULL_var;
) L+ U0 f- ^& ]3 DspParameterSet=
0 h4 }8 V% Q- Q, H3 X& H- bfact->GetCurrentSet(CATICkeFunctionFactory::Parameter,spPubroot,CATCke::True);+ [3 Q3 {' A( |8 X6 G. t1 w
CATIParmPublisher_var spParmPublisher = spParameterSet;! Y  w& B% o  R' A, r
spParmPublisher->Append(spPp1);( L9 a1 y6 y' A2 \2 _# @4 O. f! r
! z/ f* y/ O; R; Z$ t5 k6 I2 v, v/ }
spParmPublisher->Append(spPp2);
) }. Q4 U: ?, sspParmPublisher->Append(spPp3);( ^/ A7 g: A- u) I
spParmPublisher->Append(spPp4);
! r5 s+ ?2 q, l' NspParmPublisher->Append(spPp5);
5 W/ W8 `- e( c. h5 UspParmPublisher->Append(spPp6);
8 Y$ x3 j/ K: G3.创建设计表
4 A5 R1 a6 \" sCATIDesignTable_var spDesignTable = spFact->CreateDesignTable();
7 t) T+ K; {" k1 w4.将设计表显示在结构树上
6 [; h% _. |+ u" x# T8 u3 `# ICATISpecObject_var spRelationSet = fact ->GetCurrentSet(
! a) v" @- q2 U2 ~$ u/ _) xCATICkeFunctionFactory::Relation,spPubroot,CATCke::True);4 @# y7 ^. @1 S+ N- y# {8 N
spParmPublisher = spRelationSet;
- s, J/ l% c: W! yspParmPublisher->Append(spDesign);
  H1 X; L8 `- I, L! n6 T9 l5.将参数与设计表关联,注意参数名字与设计表的列参数名字一定要相同
6 j+ G" ^2 H& |5 j% s4 O4 _// 参数列表
' f" L7 ^$ e. Z) @  i2 K1 @9 \# `CATLISTV(CATBaseUnknown_var) list;& t# [& G2 c2 c- L, j: V+ z% i8 D7 c
list.Append(spPp1);9 E2 j( g+ J7 L% V( ^  L' j
spDesign->AutomaticAssociations(spContainer, NULL_var, &list);
/ q' n$ V% D0 K/ S8 {// 添加关联7 e( a+ i. u, H3 Q( E3 w
spDesign->AddAssociation("Column2", spPp2);
" D8 g$ y& X4 A# o8 N/ d0 \spDesign->AddAssociation("Column3", spPp3);! B% U' j4 x( @) H) F; H
spDesign->AddAssociation("Column4", spPp4);
. _% D4 x9 \# F( R9 tspDesign->AddAssociation("Column5", spPp5);
8 R( V! h1 N% H; N+ r, ]6.设置配置0 Z  y0 z) }6 j1 a  K7 `
spDesign->SetCurrentConfiguration(1);. [& N( r2 Z" s3 [

" h) ?# ^7 V/ S0 s
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了