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

Catia二次开发源码分享:创建圆柱体实例

[复制链接]

2018-2-22 13:28:03 3030 0

admin 发表于 2018-2-22 13:28:03 |阅读模式

admin 楼主

2018-2-22 13:28:03

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

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

x
获得零件指针8 Q: ?! o* Y$ B: _$ n4 b$ l
// 获得文件指针
2 j  f& a2 F7 m/ X3 G% OCATDocument * pDoc= NULL;5 ]; h8 C" }- G( ]
CATFrmEditor * _pEditor = CATFrmEditor::GeTCurrentEditor();
; C% u* w8 _' y# _1 W/ k2 [pDoc = _pEditor->GetDocument();//这里得到了PART 环境下的文档指针# ]; |0 E5 V$ b$ c* B0 ^5 z
CATInit_var spInitOnDoc(pDoc);# q6 b: v6 G2 l5 r4 G7 Z8 e
// 得到零件根容器
4 w* i. k5 u$ B2 X( K2 X; ^1 R) K3 \: {/ g0 N5 p
CATIPrtContainer * piPrtCont =* W/ g( z* Y' L' Y& f/ k& M
(CATIPrtContainer*) spInitOnDoc->GetRootContainer("CATIPrtContainer");) Y; R/ j" ^/ \6 m
// 得到零件指针
# U1 `9 t! F# F9 Y8 vCATIPrtPart_var spPart = piPrtCont->GetPart();
  b/ P4 o) |6 e- O( `. q! |8 g. V  T  h- W
创建草图% \$ J% w0 u( ^" b; c$ E
//初始化草图工厂
1 b. }7 @6 k2 x# L9 jCATISketchFactory_var spSketchFactory(piPrtCont);4 i/ ^* Y5 L; W- d8 E) s
//在XY plane 上创建草图3 x. T8 Y: R) B2 j7 r% N( Z* m
CATISketch_var spSketch = spSketchFactory->CreateSketch(spRefPlanes[1]));
- z0 w* ]( @$ Y
( ^: [. p! m, }" D0 H创建草图几何
: K) U: I" M7 K+ H3 g" j& z//首先声明编辑草图0 I& F+ C1 _+ k8 i% f+ k6 d
spSketch->OpenEdition();
! W# r/ G( x' d/ CCATI2DWFFactory_var sp2DFactory(spSketch);
& G, `6 q, O, a  Y//这里表示圆心点6 O8 k7 Q- b6 w) `" `# X& Z
double iPoint[2] = {0.,0.};1 [# D) m: c/ c: V& u
//下面创建圆圈
" v2 k# T4 X. _" K4 b9 SCATISpecObject_var spLine = spSketch ->CreateCircle(iPoint,_Editor003->GetFloatValue());
3 A) i2 e; V2 ]$ u; z: R* W1 Q, R& yCATI2DCurve_var spCurveOnLine(spLine);* @6 m, x# J, i
spCurveOnLine->GetStartPoint();
- b& y$ o0 a% c; y' C$ NspCurveOnLine->GetEndPoint();4 ~# d) S! M& R, P. _
//然后退出草图:
- X) o8 S$ j/ R& y5 R" \spSketch->CloseEdition();: I3 O/ {. K. I
9 |, [( Y( O" i0 q4 p& u
6 l& _6 g6 Z  m) B* g
创建约束: c* D7 c4 m! N5 h( l2 O+ L
CATI2DConstraintFactory_var spConstraint2DFactory(spSketch);
7 V- I, t; ^$ K, i//定义spLine1 的半径约束
$ u7 p+ R! K1 ~8 o# B7 v! P! BspConstraint2DFactory->CreateConstraint(spLine, NULL, NULL, NULL, NULL, NULL,
) m9 N& i# i! K) Y5 [1 YNULL, Cst2DType_Radius, 0, 0 );
' b' Z& p" H& s( A+ B: S//定义spLine1 与坐标原点的同心约束
- z7 i9 Z1 d8 ~  MCATI2DAxis_var spSupport = NULL_var;" D: u# w4 [2 u: u6 w& ~
spSketch->GetAbsolute2DAxis(spSupport);
, c6 J% t# S6 J5 X
- G1 `* x. K( m( gspConstraint2DFactory->CreateConstraint(spLine, NULL, spSupport->GetOriginPoint(),% g0 u6 _! d5 v
NULL, NULL, NULL, NULL, Cst2DType_Concentric, 0, 0 );, G3 O- G& l. o' v% i

- p: k) r) i, \+ N& u* |6 Q( B3 [  i) L" ^. w+ s/ x% B
创建凸台6 Z: f6 K- m7 o, p' i
// 从编辑框中获得援助的高度( K6 u. ^; f" g4 S/ `% A
double firstLimit = _Editor004->GetFloatValue();' l9 y1 V* W# \& h! }: Q
double secondLimit = 0.;, x1 |& R* I% n5 M& M# F7 [  H0 p, `
//圆柱的轴向方向为Z 轴方向: I/ Q4 I+ K9 q! X  Y9 z$ Y$ n+ N
CATMathDirection dirZ(0., 0., 1.);+ m  T: h, L2 O8 L, W
//初始化零件工厂
+ ~; [8 G6 A$ L, y4 {0 {/ h! L# D% ZCATIPrtFactory_var spPrtFactOnPrtCont(piPrtCont);
- l' o* P( |* W1 K* G4 Z9 c' F//创建凸台
# D! y2 U% k) }7 M7 P0 `CATISpecObject_var spSpecObj = spPrtFactOnPrtCont->CreatePad(spSketch);2 P: ^' z1 H9 ?8 z
CATIPad_var spPadOnSpecObj(spSpecObj);+ k( i9 G) q2 e
//设置拉伸方向8 C2 ]- D( ?. b/ i
spPadOnSpecObj->ModifyDirection(dirZ);
  o) W( g4 Z% \& p7 z: f//设置凸台第一限制类型, x/ Q2 Q/ G# Y& V+ R
spPadOnSpecObj->ModifyEndType(catOffsetLimit);
+ {# N+ n) w" v" G! T9 m  {//设置凸台的高度# n/ u% [6 c  V6 o
spPadOnSpecObj->ModifyEndOffset(firstLimit);
% p" B/ L6 I( H//设置凸台第二限制类型( c" P. }9 q: F/ @! t7 y( {% Q
spPadOnSpecObj->ModifyStartType(catOffsetLimit);
- H. X6 f% p; E6 vspPadOnSpecObj->ModifyStartOffset(secondLimit);8 Q: M* E2 [- v  V
//将凸台添加在结构树中
4 m) ~7 u4 S( JspSpecObj->Update();
3 W) w5 Q) h; I/ rCATIGSMProceduralView_var ispProcView = spSpecObj;
1 ]. F3 m( t  k: b/ j  a8 Cif (NULL_var != ispProcView ) {HResult rc = ispProcView ->InsertInProceduralView();}1 `3 c/ h% B$ |: j8 Z% U, l
3 K* ^  R; b( Q
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了