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 3073 0

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

admin 楼主

2018-2-22 13:25:32

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

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

x
有两种方式可以创建草图:
# q0 u8 N. U/ I2 e6 S: y1.通过参考平面创建
6 t$ H& o3 G' N; A0 E) r: m! n//获得参考平面! {5 z/ k, y8 ?( b( Y5 f5 I0 S
CATLISTV(CATISpecObject_var) spRefPlanes = spPart->GetReferencePlanes();
- X% T+ U5 a* z1 D8 K//初始化草图工厂
( Z- H0 V6 V4 n3 t4 D* Z- m% NCATISkeTChFactory_var spSketchFactory(spContainer);" M4 U9 Q7 R0 w; n
//在XY plane 上创建草图+ G) Z; |$ U' D% i  }( g  T
CATISketch_var spSketch = spSketchFactory->CreateSketch(spRefPlanes[1]));
' s: n6 @) x: p% K5 I2.通过原点和两个矢量方向
8 `$ O# e* a, h% j7 ~# u) o该方法通过定义一个原点和两个方向 pH、pV 进行创建。) }+ _$ H' R4 B5 Q7 L
定义原点和方向:
* y7 l1 H# C/ r/ _' |: m0 y9 I3 {double pOrigin[3]={0,0,10};
; Q4 T( }! _: q  r; A1 J3 }' \# zdouble pH[3]={1,0,0};4 Q  U/ B9 p- ^: v
double pV[3]={0,1,0};7 m4 d% _! Y7 M5 d5 ?3 w9 v+ o! Z
CATISketchFactory_var spSketchFactory(spContainer);% v2 x# h+ ]8 j: ?" ~
CATISketch_var spSketch = spSketchFactory->CreateSketch(pOrigin, pH, pV);, h" \- A9 f; `# {& B4 U& Y7 V
" d/ o- m8 Y" M5 y. S, r
' [$ H& T6 H: L: \1 `7 J: l4 ?
sp2DFactory(spSketch);" d  l3 B1 g) R4 B) H) _" Y
//下面创建点
) D' q5 F0 i! ?/ t% ^2 |CATI2DPoint_var spPt_bottom_left, spPt_bottom_right, spPt_top_right, spPt_top_left;# P2 d/ w) F4 W6 P/ v6 T
double pt_bottom_left[2] = {10, 10};
+ L& M+ l7 z6 L7 Wdouble pt_bottom_right[2] = {50, 10};6 x* H; G; w% s- m( k, }
double pt_top_right[2] = {50, 50};
. b3 @  i- M" ^; s# F. |' Y! I, f8 Ydouble pt_top_left[2] = {10, 50};0 B, W& o& p6 {* J. ]7 P
spPt_bottom_left = sketch2DFactory->CreatePoint(pt_bottom_left);
# b# ^6 V* V" h" w* W; f- pspPt_bottom_right = sketch2DFactory->CreatePoint(pt_bottom_right);2 e( Y" n) b) Y+ ^" Q0 x) i
spPt_top_right = sketch2DFactory->CreatePoint(pt_top_right);6 X: n* D$ s+ v3 \6 M
spPt_top_left = sketch2DFactory->CreatePoint(pt_top_left);
: {8 o1 P4 O  g& t//开始创建线
8 j, t  H& E- eCATI2DLine_var spLine1, spLine2, spLine3, spLine4;: F/ J0 `* x- |; b1 L
spLine1 = sketch2DFactory->CreateLine(pt_bottom_left,pt_bottom_right);+ o- s- C! a# |5 o3 P8 o8 O( B8 {( ?
spLine2 = sketch2DFactory->CreateLine(pt_bottom_right,pt_top_right);
4 Q4 b: Y$ ?/ UspLine3 = sketch2DFactory->CreateLine(pt_top_right,pt_top_left);
6 {" E! b5 h2 i$ _spLine4 = sketch2DFactory->CreateLine(pt_top_left,pt_bottom_left);) k, I/ H$ W9 }: t7 G2 s
//将线的首尾连接起来( J. D# D2 r; k3 M) K6 C  }. H& ^

$ d7 N, q1 L# g) `6 A% c2 s* f: FCATI2DCurve_var spCurve1 (spLine1);
9 }) {8 R. m+ T& JCATI2DCurve_var spCurve2 (spLine2);
6 V( k/ V" v7 v0 h1 a) Q6 \6 gCATI2DCurve_var spCurve3 (spLine3);
1 [& b! G; i6 q- P, _6 _' zCATI2DCurve_var spCurve4 (spLine4);
+ j( I# W! T! R3 ^spCurve1->SetStartPoint(spPt_bottom_left);! ?. Y5 u" Y. W
spCurve1->SetEndPoint(spPt_bottom_right);
) {: e% q! b. hspCurve2->SetStartPoint(spPt_bottom_right);! W" n0 Q$ ^& Q! z& \' r
spCurve2->SetEndPoint(spPt_top_right);: K+ @3 S/ e- ~2 o7 R1 R
spCurve3->SetStartPoint(spPt_top_right);
+ I6 V! t7 e1 P5 K3 U: j& C3 IspCurve3->SetEndPoint(spPt_top_left);, s% w  y4 Q( z5 @! c7 i" P
spCurve4->SetStartPoint(spPt_top_left);$ |' L5 c, ~% N* ~7 m: Z2 v* j: h3 w
spCurve4->SetEndPoint(spPt_bottom_left);/ u9 Q: g  X7 w  W! d8 C; |
//然后退出草图:6 s; H+ K3 z9 ^/ `" j" K
spSketch->CloseEdition();6 ^, j+ K- [1 \0 `& d

# i0 H* g; ?. h3 R  l( q2 W6 T7 o8 S( o- Y+ C8 |' W. w' B+ t
$ I* M: e7 i4 V) _2 E( \$ M% G
创建草图约束1 N. I4 C$ |' \# u' _
CATI2DConstraintFactory_var spConstraint2DFactory(spSketch);
. V( w/ c, Q, x9 m//定义spLine1 为水平约束! r; C* M: b9 g* V
spConstraint2DFactory->CreateConstraint( spLine1, NULL, NULL, NULL, NULL, NULL,
; M, }1 Y+ }8 C6 w( v# s2 q8 YNULL, Cst2DType_Horizontal, 0, 0 );! ~! ?7 Z  r. l# D
//定义spLine2 为垂直约束( I) m* }" I( G( o9 h! K
spConstraint2DFactory->CreateConstraint( spLine2, NULL, NULL, NULL, NULL, NULL,5 O9 S7 K" B! G/ M1 q
NULL, Cst2DType_Vertical, 0, 0 );: ?+ f  c7 }. `6 r8 l( q) _
//定义spLine3 为水平约束
# B' k7 |" g! y  C  |- l3 ZspConstraint2DFactory->CreateConstraint( spLine3, NULL, NULL, NULL, NULL, NULL,
$ t: d8 m" R. z4 oNULL, Cst2DType_Horizontal, 0, 0 );
: I) `6 P  U; F/ `  v5 t//定义spLine4 为垂直约束" B0 [: e) u' d( }/ @
spConstraint2DFactory->CreateConstraint( spLine4, NULL, NULL, NULL, NULL, NULL,0 [* d) D' D; ^& p
NULL, Cst2DType_Vertical, 0, 0 );
2 G* L2 m4 _- f# W0 ~//定义spLine2 的长度约束) B% S+ ~! p2 r8 N9 P: d1 O
spConstraint2DFactory->CreateConstraint( spLine2, NULL, NULL, NULL, NULL, NULL,6 S: C, O- p7 U0 Y/ H8 h1 z
NULL, Cst2DType_Length, 0, 0 );
. N+ }/ D7 E7 `" F  e, R; W7 @1 W  |: ~' L* R, M
//定义spLine2 与spLine4 的距离约束+ a1 E0 f- [! P; t: @, u- B
spConstraint2DFactory->CreateConstraint( spLine2, NULL, spLine4, NULL, NULL, NULL,& }$ x: K' M8 T
NULL, Cst2DType_Distance, 0, 0 );8 a* i% h% |: L" ^: z
//定义spPt_bottom_left 与X 轴的距离约束
4 P$ z# H& {% zCATI2DAxis_var spSupport = NULL_var;
* W% n1 R6 [" b! u" T  vspSketch->GetAbsolute2DAxis(spSupport);# H( L! y9 _! k  l/ w1 a5 c& M
spConstraint2DFactory->CreateConstraint( spPt_bottom_left, NULL,* ]. ?! H7 J! q: o/ f5 j
spSupport->GetHDirection(), NULL, NULL, NULL, NULL,Cst2DType_Distance, 0, 0 );9 i- v8 p- G- |; X
//定义spPt_bottom_left 与Y 轴的距离约束
! N* T8 Z+ P: DspConstraint2DFactory->CreateConstraint( spPt_bottom_left, NULL,( n- }) K# c) {( Z5 m
spSupport->GetVDirection(), NULL, NULL, NULL, NULL,Cst2DType_Distance, 0, 0 );
9 `! u: ^) `) o. o# ~  `+ |9 B3 [3 g; m% _

6 f3 ~9 d' Y! B8 Q1 N
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了