PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

Catia二次开发源码分享:创建草图 Sketch,约束,曲线等

  [复制链接]

2018-2-22 13:25:32 3072 0

admin 发表于 2018-2-22 13:25:32 |阅读模式

admin 楼主

2018-2-22 13:25:32

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

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

x
有两种方式可以创建草图:# w0 c) g* B2 ?* A1 B1 @
1.通过参考平面创建
0 i! J/ P- g6 T//获得参考平面: Y2 U5 Q. l( y+ m# Z$ C+ ^! v" l
CATLISTV(CATISpecObject_var) spRefPlanes = spPart->GetReferencePlanes();0 _! w8 @+ r- ]$ A
//初始化草图工厂$ t0 H* m- u3 l* v( {4 Z: k
CATISkeTChFactory_var spSketchFactory(spContainer);
: N4 J( M6 G: d//在XY plane 上创建草图
0 x7 v* L2 h2 Y5 wCATISketch_var spSketch = spSketchFactory->CreateSketch(spRefPlanes[1]));: W3 S# @2 _- o% J/ e8 O
2.通过原点和两个矢量方向
$ I! F2 n" X, q6 Y该方法通过定义一个原点和两个方向 pH、pV 进行创建。
: w8 ]. T( n5 a  I$ \: I, Q/ u定义原点和方向:( J9 ?) l& x7 U! R
double pOrigin[3]={0,0,10};/ C: z7 t! ~1 L) d* K* q  C5 i: p
double pH[3]={1,0,0};, q! T$ Y0 _% l( [
double pV[3]={0,1,0};) D8 Y3 s7 |6 M& P: u5 g$ t
CATISketchFactory_var spSketchFactory(spContainer);
* e9 z* q/ @% z! TCATISketch_var spSketch = spSketchFactory->CreateSketch(pOrigin, pH, pV);* H8 c  a. P0 H9 H
/ V0 b( o( J' u* F
% C! a3 O* h2 D' o! t% p5 m
sp2DFactory(spSketch);, q: h$ _: ~# m# t+ N5 O
//下面创建点
, G$ ?5 H0 g( _2 [7 v* s) }: R( MCATI2DPoint_var spPt_bottom_left, spPt_bottom_right, spPt_top_right, spPt_top_left;% l6 f  m5 i2 Y1 Z2 o& f1 G
double pt_bottom_left[2] = {10, 10};: j2 T) F& _+ V( R
double pt_bottom_right[2] = {50, 10};
$ a* Z! I+ f8 `# i; }4 l% [double pt_top_right[2] = {50, 50};
' h! p; }; M: Ydouble pt_top_left[2] = {10, 50};
3 B0 _& I! q! l  k  nspPt_bottom_left = sketch2DFactory->CreatePoint(pt_bottom_left);0 }. L5 g2 z" P
spPt_bottom_right = sketch2DFactory->CreatePoint(pt_bottom_right);
4 x  F2 V  q% e. B! @: v# e. d/ VspPt_top_right = sketch2DFactory->CreatePoint(pt_top_right);$ Y8 f/ b  s: I4 c* s
spPt_top_left = sketch2DFactory->CreatePoint(pt_top_left);4 q! I  k+ ?" `: \
//开始创建线3 J, m) e8 q. _2 U: w5 B0 x* ~, v
CATI2DLine_var spLine1, spLine2, spLine3, spLine4;8 F1 ]7 k' a0 \3 x2 e
spLine1 = sketch2DFactory->CreateLine(pt_bottom_left,pt_bottom_right);
$ w9 S+ y6 Q1 E' Q3 y# D+ ]spLine2 = sketch2DFactory->CreateLine(pt_bottom_right,pt_top_right);- e- U1 X5 Y' h. N$ o9 D
spLine3 = sketch2DFactory->CreateLine(pt_top_right,pt_top_left);
; o7 C; _' ^3 g& i; }spLine4 = sketch2DFactory->CreateLine(pt_top_left,pt_bottom_left);
) W" w: k9 y2 u4 @: m# P5 V5 S9 c//将线的首尾连接起来  S& W! e' U. u0 m+ ^7 K. ~1 N
8 |, D* F# m% u4 G) P# \& c
CATI2DCurve_var spCurve1 (spLine1);8 W; v5 ~  u( R+ P7 B
CATI2DCurve_var spCurve2 (spLine2);6 R# ]0 |. j: e5 L1 P& L
CATI2DCurve_var spCurve3 (spLine3);
4 z2 ~# z% Y% x& N/ CCATI2DCurve_var spCurve4 (spLine4);: s% r: i9 n8 ~6 T! U$ ]  X  ^
spCurve1->SetStartPoint(spPt_bottom_left);6 [" E- x% ?% B2 p. d# ~
spCurve1->SetEndPoint(spPt_bottom_right);, V# ~/ B& T- x3 O$ l+ P( \
spCurve2->SetStartPoint(spPt_bottom_right);
* _# B, @0 V; U% K- tspCurve2->SetEndPoint(spPt_top_right);
  l: G, @  ]- {9 x9 JspCurve3->SetStartPoint(spPt_top_right);
! m2 |; A' S6 A; m0 ispCurve3->SetEndPoint(spPt_top_left);
8 O" _3 l# v& ospCurve4->SetStartPoint(spPt_top_left);! u5 K4 {0 p4 U' |- h+ M2 k- O
spCurve4->SetEndPoint(spPt_bottom_left);+ N) S8 Y/ n# b% [6 B! s8 g
//然后退出草图:
1 q# O7 O/ P. AspSketch->CloseEdition();% u! |; z" I3 M9 k' a4 h
# V9 k  ~; Y7 y( ?3 T: _
; O. `$ G$ V9 T: o# S/ Y% \+ b
" C. W' x' @/ }. V/ ^5 T- }, U
创建草图约束
9 x4 `8 Y1 f& C# f" [/ [7 zCATI2DConstraintFactory_var spConstraint2DFactory(spSketch);
  w- a( @7 i+ c2 H3 K+ U! Q# g1 N//定义spLine1 为水平约束
2 y" e1 O. X0 f! ]spConstraint2DFactory->CreateConstraint( spLine1, NULL, NULL, NULL, NULL, NULL,% Q0 A/ [7 b# J) o1 k9 i
NULL, Cst2DType_Horizontal, 0, 0 );
/ o( y6 u% a" c  D//定义spLine2 为垂直约束
1 F5 `7 `4 l0 n; ]: W8 W8 VspConstraint2DFactory->CreateConstraint( spLine2, NULL, NULL, NULL, NULL, NULL,; T. L' k3 l" [- S9 Q3 o
NULL, Cst2DType_Vertical, 0, 0 );
2 ^; O1 @$ y0 U/ v0 G6 {//定义spLine3 为水平约束
4 D" c  N' G9 q( cspConstraint2DFactory->CreateConstraint( spLine3, NULL, NULL, NULL, NULL, NULL,6 U' z" x( ]2 }
NULL, Cst2DType_Horizontal, 0, 0 );
. [* q% n! l4 H: H+ b/ k//定义spLine4 为垂直约束
5 [& p/ ~5 D1 F% g4 Q; mspConstraint2DFactory->CreateConstraint( spLine4, NULL, NULL, NULL, NULL, NULL,+ F9 O4 x; w& t2 F6 o6 Q3 U
NULL, Cst2DType_Vertical, 0, 0 );- v8 n* I3 f9 `/ z9 \! ?
//定义spLine2 的长度约束
2 _# ]4 X* V1 E* QspConstraint2DFactory->CreateConstraint( spLine2, NULL, NULL, NULL, NULL, NULL,
' q7 k: H9 ~& q( ~6 Q: B& O$ O4 CNULL, Cst2DType_Length, 0, 0 );% x' r* o% Y; X' E7 N7 [' j
, w. \) ^4 U7 O. W4 {
//定义spLine2 与spLine4 的距离约束" g$ n. j% O* a& n8 }2 H: ]: C( y4 q
spConstraint2DFactory->CreateConstraint( spLine2, NULL, spLine4, NULL, NULL, NULL,
4 z/ t' X; t3 l- PNULL, Cst2DType_Distance, 0, 0 );
9 a8 G( W0 T- l//定义spPt_bottom_left 与X 轴的距离约束
. d6 r. ]2 e0 B0 ICATI2DAxis_var spSupport = NULL_var;
8 C& K2 m( s* C: I# E+ O# mspSketch->GetAbsolute2DAxis(spSupport);" I' x- g; p& r2 B: V7 W( }
spConstraint2DFactory->CreateConstraint( spPt_bottom_left, NULL,8 S  K  j/ Y% ~# r" v
spSupport->GetHDirection(), NULL, NULL, NULL, NULL,Cst2DType_Distance, 0, 0 );8 ~) N; g" y: Y; f1 `. x
//定义spPt_bottom_left 与Y 轴的距离约束
6 E" O- _+ Z. O$ A0 Q7 l+ MspConstraint2DFactory->CreateConstraint( spPt_bottom_left, NULL,5 N  g3 w" i* i
spSupport->GetVDirection(), NULL, NULL, NULL, NULL,Cst2DType_Distance, 0, 0 );2 V: v$ M- o( A8 ^$ d

1 S( D' f& J# B* N  c5 [' G' E) y8 ~9 h5 C( i& c( Y
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了